// SPDX-License-Identifier: Apache-2.0
// DO NOT EDIT.
//
// This file has been generated by the Kotlin project in the `generator`
// directory from a Vulkan API registry.
#![allow(
non_camel_case_types,
non_snake_case,
clippy::bad_bit_mask,
clippy::let_unit_value,
clippy::missing_safety_doc,
clippy::missing_transmute_annotations,
clippy::needless_lifetimes,
clippy::too_many_arguments,
clippy::type_complexity,
clippy::unnecessary_cast,
clippy::upper_case_acronyms,
clippy::useless_transmute
)]
use core::ffi::{c_char, c_int, c_void};
use core::fmt;
use core::ptr;
use crate::*;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAabbPositionsKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, PartialEq)]
pub struct AabbPositionsKHR {
pub min_x: f32,
pub min_y: f32,
pub min_z: f32,
pub max_x: f32,
pub max_y: f32,
pub max_z: f32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAccelerationStructureBuildGeometryInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug)]
pub struct AccelerationStructureBuildGeometryInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub type_: AccelerationStructureTypeKHR,
pub flags: BuildAccelerationStructureFlagsKHR,
pub mode: BuildAccelerationStructureModeKHR,
pub src_acceleration_structure: AccelerationStructureKHR,
pub dst_acceleration_structure: AccelerationStructureKHR,
pub geometry_count: u32,
pub geometries: *const AccelerationStructureGeometryKHR,
pub pointer_geometries: *const *const AccelerationStructureGeometryKHR,
pub scratch_data: DeviceOrHostAddressKHR,
}
impl Default for AccelerationStructureBuildGeometryInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR,
next: ptr::null(),
type_: AccelerationStructureTypeKHR::default(),
flags: BuildAccelerationStructureFlagsKHR::default(),
mode: BuildAccelerationStructureModeKHR::default(),
src_acceleration_structure: AccelerationStructureKHR::default(),
dst_acceleration_structure: AccelerationStructureKHR::default(),
geometry_count: u32::default(),
geometries: ptr::null(),
pointer_geometries: ptr::null(),
scratch_data: DeviceOrHostAddressKHR::default(),
}
}
}
unsafe impl Send for AccelerationStructureBuildGeometryInfoKHR {}
unsafe impl Sync for AccelerationStructureBuildGeometryInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAccelerationStructureBuildRangeInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct AccelerationStructureBuildRangeInfoKHR {
pub primitive_count: u32,
pub primitive_offset: u32,
pub first_vertex: u32,
pub transform_offset: u32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAccelerationStructureBuildSizesInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct AccelerationStructureBuildSizesInfoKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub acceleration_structure_size: DeviceSize,
pub update_scratch_size: DeviceSize,
pub build_scratch_size: DeviceSize,
}
impl Default for AccelerationStructureBuildSizesInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR,
next: ptr::null_mut(),
acceleration_structure_size: DeviceSize::default(),
update_scratch_size: DeviceSize::default(),
build_scratch_size: DeviceSize::default(),
}
}
}
unsafe impl Send for AccelerationStructureBuildSizesInfoKHR {}
unsafe impl Sync for AccelerationStructureBuildSizesInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAccelerationStructureCaptureDescriptorDataInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct AccelerationStructureCaptureDescriptorDataInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub acceleration_structure: AccelerationStructureKHR,
pub acceleration_structure_nv: AccelerationStructureNV,
}
impl Default for AccelerationStructureCaptureDescriptorDataInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
next: ptr::null(),
acceleration_structure: AccelerationStructureKHR::default(),
acceleration_structure_nv: AccelerationStructureNV::default(),
}
}
}
unsafe impl Send for AccelerationStructureCaptureDescriptorDataInfoEXT {}
unsafe impl Sync for AccelerationStructureCaptureDescriptorDataInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAccelerationStructureCreateInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct AccelerationStructureCreateInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub create_flags: AccelerationStructureCreateFlagsKHR,
pub buffer: Buffer,
pub offset: DeviceSize,
pub size: DeviceSize,
pub type_: AccelerationStructureTypeKHR,
pub device_address: DeviceAddress,
}
impl Default for AccelerationStructureCreateInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::ACCELERATION_STRUCTURE_CREATE_INFO_KHR,
next: ptr::null(),
create_flags: AccelerationStructureCreateFlagsKHR::default(),
buffer: Buffer::default(),
offset: DeviceSize::default(),
size: DeviceSize::default(),
type_: AccelerationStructureTypeKHR::default(),
device_address: DeviceAddress::default(),
}
}
}
unsafe impl Send for AccelerationStructureCreateInfoKHR {}
unsafe impl Sync for AccelerationStructureCreateInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAccelerationStructureCreateInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct AccelerationStructureCreateInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub compacted_size: DeviceSize,
pub info: AccelerationStructureInfoNV,
}
impl Default for AccelerationStructureCreateInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::ACCELERATION_STRUCTURE_CREATE_INFO_NV,
next: ptr::null(),
compacted_size: DeviceSize::default(),
info: AccelerationStructureInfoNV::default(),
}
}
}
unsafe impl Send for AccelerationStructureCreateInfoNV {}
unsafe impl Sync for AccelerationStructureCreateInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX.html>
#[repr(C)]
#[derive(Copy, Clone, Debug)]
pub struct AccelerationStructureDenseGeometryFormatTrianglesDataAMDX {
pub s_type: StructureType,
pub next: *const c_void,
pub compressed_data: DeviceOrHostAddressConstKHR,
pub data_size: DeviceSize,
pub num_triangles: u32,
pub num_vertices: u32,
pub max_primitive_index: u32,
pub max_geometry_index: u32,
pub format: CompressedTriangleFormatAMDX,
}
impl Default for AccelerationStructureDenseGeometryFormatTrianglesDataAMDX {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::ACCELERATION_STRUCTURE_DENSE_GEOMETRY_FORMAT_TRIANGLES_DATA_AMDX,
next: ptr::null(),
compressed_data: DeviceOrHostAddressConstKHR::default(),
data_size: DeviceSize::default(),
num_triangles: u32::default(),
num_vertices: u32::default(),
max_primitive_index: u32::default(),
max_geometry_index: u32::default(),
format: CompressedTriangleFormatAMDX::default(),
}
}
}
unsafe impl Send for AccelerationStructureDenseGeometryFormatTrianglesDataAMDX {}
unsafe impl Sync for AccelerationStructureDenseGeometryFormatTrianglesDataAMDX {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAccelerationStructureDeviceAddressInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct AccelerationStructureDeviceAddressInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub acceleration_structure: AccelerationStructureKHR,
}
impl Default for AccelerationStructureDeviceAddressInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR,
next: ptr::null(),
acceleration_structure: AccelerationStructureKHR::default(),
}
}
}
unsafe impl Send for AccelerationStructureDeviceAddressInfoKHR {}
unsafe impl Sync for AccelerationStructureDeviceAddressInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAccelerationStructureGeometryAabbsDataKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug)]
pub struct AccelerationStructureGeometryAabbsDataKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub data: DeviceOrHostAddressConstKHR,
pub stride: DeviceSize,
}
impl Default for AccelerationStructureGeometryAabbsDataKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR,
next: ptr::null(),
data: DeviceOrHostAddressConstKHR::default(),
stride: DeviceSize::default(),
}
}
}
unsafe impl Send for AccelerationStructureGeometryAabbsDataKHR {}
unsafe impl Sync for AccelerationStructureGeometryAabbsDataKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAccelerationStructureGeometryInstancesDataKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug)]
pub struct AccelerationStructureGeometryInstancesDataKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub array_of_pointers: Bool32,
pub data: DeviceOrHostAddressConstKHR,
}
impl Default for AccelerationStructureGeometryInstancesDataKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR,
next: ptr::null(),
array_of_pointers: Bool32::default(),
data: DeviceOrHostAddressConstKHR::default(),
}
}
}
unsafe impl Send for AccelerationStructureGeometryInstancesDataKHR {}
unsafe impl Sync for AccelerationStructureGeometryInstancesDataKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAccelerationStructureGeometryKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug)]
pub struct AccelerationStructureGeometryKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub geometry_type: GeometryTypeKHR,
pub geometry: AccelerationStructureGeometryDataKHR,
pub flags: GeometryFlagsKHR,
}
impl Default for AccelerationStructureGeometryKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::ACCELERATION_STRUCTURE_GEOMETRY_KHR,
next: ptr::null(),
geometry_type: GeometryTypeKHR::default(),
geometry: AccelerationStructureGeometryDataKHR::default(),
flags: GeometryFlagsKHR::default(),
}
}
}
unsafe impl Send for AccelerationStructureGeometryKHR {}
unsafe impl Sync for AccelerationStructureGeometryKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAccelerationStructureGeometryLinearSweptSpheresDataNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug)]
pub struct AccelerationStructureGeometryLinearSweptSpheresDataNV {
pub s_type: StructureType,
pub next: *const c_void,
pub vertex_format: Format,
pub vertex_data: DeviceOrHostAddressConstKHR,
pub vertex_stride: DeviceSize,
pub radius_format: Format,
pub radius_data: DeviceOrHostAddressConstKHR,
pub radius_stride: DeviceSize,
pub index_type: IndexType,
pub index_data: DeviceOrHostAddressConstKHR,
pub index_stride: DeviceSize,
pub indexing_mode: RayTracingLssIndexingModeNV,
pub end_caps_mode: RayTracingLssPrimitiveEndCapsModeNV,
}
impl Default for AccelerationStructureGeometryLinearSweptSpheresDataNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::ACCELERATION_STRUCTURE_GEOMETRY_LINEAR_SWEPT_SPHERES_DATA_NV,
next: ptr::null(),
vertex_format: Format::default(),
vertex_data: DeviceOrHostAddressConstKHR::default(),
vertex_stride: DeviceSize::default(),
radius_format: Format::default(),
radius_data: DeviceOrHostAddressConstKHR::default(),
radius_stride: DeviceSize::default(),
index_type: IndexType::default(),
index_data: DeviceOrHostAddressConstKHR::default(),
index_stride: DeviceSize::default(),
indexing_mode: RayTracingLssIndexingModeNV::default(),
end_caps_mode: RayTracingLssPrimitiveEndCapsModeNV::default(),
}
}
}
unsafe impl Send for AccelerationStructureGeometryLinearSweptSpheresDataNV {}
unsafe impl Sync for AccelerationStructureGeometryLinearSweptSpheresDataNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAccelerationStructureGeometryMotionTrianglesDataNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug)]
pub struct AccelerationStructureGeometryMotionTrianglesDataNV {
pub s_type: StructureType,
pub next: *const c_void,
pub vertex_data: DeviceOrHostAddressConstKHR,
}
impl Default for AccelerationStructureGeometryMotionTrianglesDataNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV,
next: ptr::null(),
vertex_data: DeviceOrHostAddressConstKHR::default(),
}
}
}
unsafe impl Send for AccelerationStructureGeometryMotionTrianglesDataNV {}
unsafe impl Sync for AccelerationStructureGeometryMotionTrianglesDataNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAccelerationStructureGeometrySpheresDataNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug)]
pub struct AccelerationStructureGeometrySpheresDataNV {
pub s_type: StructureType,
pub next: *const c_void,
pub vertex_format: Format,
pub vertex_data: DeviceOrHostAddressConstKHR,
pub vertex_stride: DeviceSize,
pub radius_format: Format,
pub radius_data: DeviceOrHostAddressConstKHR,
pub radius_stride: DeviceSize,
pub index_type: IndexType,
pub index_data: DeviceOrHostAddressConstKHR,
pub index_stride: DeviceSize,
}
impl Default for AccelerationStructureGeometrySpheresDataNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::ACCELERATION_STRUCTURE_GEOMETRY_SPHERES_DATA_NV,
next: ptr::null(),
vertex_format: Format::default(),
vertex_data: DeviceOrHostAddressConstKHR::default(),
vertex_stride: DeviceSize::default(),
radius_format: Format::default(),
radius_data: DeviceOrHostAddressConstKHR::default(),
radius_stride: DeviceSize::default(),
index_type: IndexType::default(),
index_data: DeviceOrHostAddressConstKHR::default(),
index_stride: DeviceSize::default(),
}
}
}
unsafe impl Send for AccelerationStructureGeometrySpheresDataNV {}
unsafe impl Sync for AccelerationStructureGeometrySpheresDataNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAccelerationStructureGeometryTrianglesDataKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug)]
pub struct AccelerationStructureGeometryTrianglesDataKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub vertex_format: Format,
pub vertex_data: DeviceOrHostAddressConstKHR,
pub vertex_stride: DeviceSize,
pub max_vertex: u32,
pub index_type: IndexType,
pub index_data: DeviceOrHostAddressConstKHR,
pub transform_data: DeviceOrHostAddressConstKHR,
}
impl Default for AccelerationStructureGeometryTrianglesDataKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR,
next: ptr::null(),
vertex_format: Format::default(),
vertex_data: DeviceOrHostAddressConstKHR::default(),
vertex_stride: DeviceSize::default(),
max_vertex: u32::default(),
index_type: IndexType::default(),
index_data: DeviceOrHostAddressConstKHR::default(),
transform_data: DeviceOrHostAddressConstKHR::default(),
}
}
}
unsafe impl Send for AccelerationStructureGeometryTrianglesDataKHR {}
unsafe impl Sync for AccelerationStructureGeometryTrianglesDataKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAccelerationStructureInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct AccelerationStructureInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub type_: AccelerationStructureTypeNV,
pub flags: BuildAccelerationStructureFlagsNV,
pub instance_count: u32,
pub geometry_count: u32,
pub geometries: *const GeometryNV,
}
impl Default for AccelerationStructureInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::ACCELERATION_STRUCTURE_INFO_NV,
next: ptr::null(),
type_: AccelerationStructureTypeNV::default(),
flags: BuildAccelerationStructureFlagsNV::default(),
instance_count: u32::default(),
geometry_count: u32::default(),
geometries: ptr::null(),
}
}
}
unsafe impl Send for AccelerationStructureInfoNV {}
unsafe impl Sync for AccelerationStructureInfoNV {}
bitfields32! {
struct AccelerationStructureInstanceKHRBitfields0 {
(instance_custom_index, with_instance_custom_index)[0 .. 24],
(mask, with_mask)[24 .. 32],
}
}
bitfields32! {
struct AccelerationStructureInstanceKHRBitfields1 {
(instance_shader_binding_table_record_offset, with_instance_shader_binding_table_record_offset)[0 .. 24],
(flags, with_flags)[24 .. 32],
}
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAccelerationStructureInstanceKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, PartialEq)]
pub struct AccelerationStructureInstanceKHR {
pub transform: TransformMatrixKHR,
pub acceleration_structure_reference: u64,
pub bitfields0: AccelerationStructureInstanceKHRBitfields0,
pub bitfields1: AccelerationStructureInstanceKHRBitfields1,
}
bitfields32! {
struct AccelerationStructureMatrixMotionInstanceNVBitfields0 {
(instance_custom_index, with_instance_custom_index)[0 .. 24],
(mask, with_mask)[24 .. 32],
}
}
bitfields32! {
struct AccelerationStructureMatrixMotionInstanceNVBitfields1 {
(instance_shader_binding_table_record_offset, with_instance_shader_binding_table_record_offset)[0 .. 24],
(flags, with_flags)[24 .. 32],
}
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAccelerationStructureMatrixMotionInstanceNV.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, PartialEq)]
pub struct AccelerationStructureMatrixMotionInstanceNV {
pub transform_t0: TransformMatrixKHR,
pub transform_t1: TransformMatrixKHR,
pub acceleration_structure_reference: u64,
pub bitfields0: AccelerationStructureMatrixMotionInstanceNVBitfields0,
pub bitfields1: AccelerationStructureMatrixMotionInstanceNVBitfields1,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAccelerationStructureMemoryRequirementsInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct AccelerationStructureMemoryRequirementsInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub type_: AccelerationStructureMemoryRequirementsTypeNV,
pub acceleration_structure: AccelerationStructureNV,
}
impl Default for AccelerationStructureMemoryRequirementsInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV,
next: ptr::null(),
type_: AccelerationStructureMemoryRequirementsTypeNV::default(),
acceleration_structure: AccelerationStructureNV::default(),
}
}
}
unsafe impl Send for AccelerationStructureMemoryRequirementsInfoNV {}
unsafe impl Sync for AccelerationStructureMemoryRequirementsInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAccelerationStructureMotionInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct AccelerationStructureMotionInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub max_instances: u32,
pub flags: AccelerationStructureMotionInfoFlagsNV,
}
impl Default for AccelerationStructureMotionInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::ACCELERATION_STRUCTURE_MOTION_INFO_NV,
next: ptr::null(),
max_instances: u32::default(),
flags: AccelerationStructureMotionInfoFlagsNV::default(),
}
}
}
unsafe impl Send for AccelerationStructureMotionInfoNV {}
unsafe impl Sync for AccelerationStructureMotionInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAccelerationStructureMotionInstanceNV.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug)]
pub struct AccelerationStructureMotionInstanceNV {
pub type_: AccelerationStructureMotionInstanceTypeNV,
pub flags: AccelerationStructureMotionInstanceFlagsNV,
pub data: AccelerationStructureMotionInstanceDataNV,
}
bitfields32! {
struct AccelerationStructureSRTMotionInstanceNVBitfields0 {
(instance_custom_index, with_instance_custom_index)[0 .. 24],
(mask, with_mask)[24 .. 32],
}
}
bitfields32! {
struct AccelerationStructureSRTMotionInstanceNVBitfields1 {
(instance_shader_binding_table_record_offset, with_instance_shader_binding_table_record_offset)[0 .. 24],
(flags, with_flags)[24 .. 32],
}
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAccelerationStructureSRTMotionInstanceNV.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, PartialEq)]
pub struct AccelerationStructureSRTMotionInstanceNV {
pub transform_t0: SRTDataNV,
pub transform_t1: SRTDataNV,
pub acceleration_structure_reference: u64,
pub bitfields0: AccelerationStructureSRTMotionInstanceNVBitfields0,
pub bitfields1: AccelerationStructureSRTMotionInstanceNVBitfields1,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAccelerationStructureTrianglesDisplacementMicromapNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug)]
pub struct AccelerationStructureTrianglesDisplacementMicromapNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub displacement_bias_and_scale_format: Format,
pub displacement_vector_format: Format,
pub displacement_bias_and_scale_buffer: DeviceOrHostAddressConstKHR,
pub displacement_bias_and_scale_stride: DeviceSize,
pub displacement_vector_buffer: DeviceOrHostAddressConstKHR,
pub displacement_vector_stride: DeviceSize,
pub displaced_micromap_primitive_flags: DeviceOrHostAddressConstKHR,
pub displaced_micromap_primitive_flags_stride: DeviceSize,
pub index_type: IndexType,
pub index_buffer: DeviceOrHostAddressConstKHR,
pub index_stride: DeviceSize,
pub base_triangle: u32,
pub usage_counts_count: u32,
pub usage_counts: *const MicromapUsageEXT,
pub pointer_usage_counts: *const *const MicromapUsageEXT,
pub micromap: MicromapEXT,
}
impl Default for AccelerationStructureTrianglesDisplacementMicromapNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV,
next: ptr::null_mut(),
displacement_bias_and_scale_format: Format::default(),
displacement_vector_format: Format::default(),
displacement_bias_and_scale_buffer: DeviceOrHostAddressConstKHR::default(),
displacement_bias_and_scale_stride: DeviceSize::default(),
displacement_vector_buffer: DeviceOrHostAddressConstKHR::default(),
displacement_vector_stride: DeviceSize::default(),
displaced_micromap_primitive_flags: DeviceOrHostAddressConstKHR::default(),
displaced_micromap_primitive_flags_stride: DeviceSize::default(),
index_type: IndexType::default(),
index_buffer: DeviceOrHostAddressConstKHR::default(),
index_stride: DeviceSize::default(),
base_triangle: u32::default(),
usage_counts_count: u32::default(),
usage_counts: ptr::null(),
pointer_usage_counts: ptr::null(),
micromap: MicromapEXT::default(),
}
}
}
unsafe impl Send for AccelerationStructureTrianglesDisplacementMicromapNV {}
unsafe impl Sync for AccelerationStructureTrianglesDisplacementMicromapNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAccelerationStructureTrianglesOpacityMicromapEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug)]
pub struct AccelerationStructureTrianglesOpacityMicromapEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub index_type: IndexType,
pub index_buffer: DeviceOrHostAddressConstKHR,
pub index_stride: DeviceSize,
pub base_triangle: u32,
pub usage_counts_count: u32,
pub usage_counts: *const MicromapUsageEXT,
pub pointer_usage_counts: *const *const MicromapUsageEXT,
pub micromap: MicromapEXT,
}
impl Default for AccelerationStructureTrianglesOpacityMicromapEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT,
next: ptr::null_mut(),
index_type: IndexType::default(),
index_buffer: DeviceOrHostAddressConstKHR::default(),
index_stride: DeviceSize::default(),
base_triangle: u32::default(),
usage_counts_count: u32::default(),
usage_counts: ptr::null(),
pointer_usage_counts: ptr::null(),
micromap: MicromapEXT::default(),
}
}
}
unsafe impl Send for AccelerationStructureTrianglesOpacityMicromapEXT {}
unsafe impl Sync for AccelerationStructureTrianglesOpacityMicromapEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAccelerationStructureVersionInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct AccelerationStructureVersionInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub version_data: *const u8,
}
impl Default for AccelerationStructureVersionInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::ACCELERATION_STRUCTURE_VERSION_INFO_KHR,
next: ptr::null(),
version_data: ptr::null(),
}
}
}
unsafe impl Send for AccelerationStructureVersionInfoKHR {}
unsafe impl Sync for AccelerationStructureVersionInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAcquireNextImageInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct AcquireNextImageInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub swapchain: SwapchainKHR,
pub timeout: u64,
pub semaphore: Semaphore,
pub fence: Fence,
pub device_mask: u32,
}
impl Default for AcquireNextImageInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::ACQUIRE_NEXT_IMAGE_INFO_KHR,
next: ptr::null(),
swapchain: SwapchainKHR::default(),
timeout: u64::default(),
semaphore: Semaphore::default(),
fence: Fence::default(),
device_mask: u32::default(),
}
}
}
unsafe impl Send for AcquireNextImageInfoKHR {}
unsafe impl Sync for AcquireNextImageInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAcquireProfilingLockInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct AcquireProfilingLockInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: AcquireProfilingLockFlagsKHR,
pub timeout: u64,
}
impl Default for AcquireProfilingLockInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::ACQUIRE_PROFILING_LOCK_INFO_KHR,
next: ptr::null(),
flags: AcquireProfilingLockFlagsKHR::default(),
timeout: u64::default(),
}
}
}
unsafe impl Send for AcquireProfilingLockInfoKHR {}
unsafe impl Sync for AcquireProfilingLockInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAllocationCallbacks.html>
#[repr(C)]
#[derive(Copy, Clone)]
pub struct AllocationCallbacks {
pub user_data: *mut c_void,
pub allocation: PFN_vkAllocationFunction,
pub reallocation: PFN_vkReallocationFunction,
pub free: PFN_vkFreeFunction,
pub internal_allocation: PFN_vkInternalAllocationNotification,
pub internal_free: PFN_vkInternalFreeNotification,
}
impl fmt::Debug for AllocationCallbacks {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.debug_struct("AllocationCallbacks")
.field("user_data", &self.user_data)
.field("allocation", &(self.allocation.map(|f| f as *const u8)))
.field("reallocation", &(self.reallocation.map(|f| f as *const u8)))
.field("free", &(self.free.map(|f| f as *const u8)))
.field(
"internal_allocation",
&(self.internal_allocation.map(|f| f as *const u8)),
)
.field(
"internal_free",
&(self.internal_free.map(|f| f as *const u8)),
)
.finish()
}
}
impl Default for AllocationCallbacks {
#[inline]
fn default() -> Self {
Self {
user_data: ptr::null_mut(),
allocation: PFN_vkAllocationFunction::default(),
reallocation: PFN_vkReallocationFunction::default(),
free: PFN_vkFreeFunction::default(),
internal_allocation: PFN_vkInternalAllocationNotification::default(),
internal_free: PFN_vkInternalFreeNotification::default(),
}
}
}
unsafe impl Send for AllocationCallbacks {}
unsafe impl Sync for AllocationCallbacks {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAmigoProfilingSubmitInfoSEC.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct AmigoProfilingSubmitInfoSEC {
pub s_type: StructureType,
pub next: *const c_void,
pub first_draw_timestamp: u64,
pub swap_buffer_timestamp: u64,
}
impl Default for AmigoProfilingSubmitInfoSEC {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::AMIGO_PROFILING_SUBMIT_INFO_SEC,
next: ptr::null(),
first_draw_timestamp: u64::default(),
swap_buffer_timestamp: u64::default(),
}
}
}
unsafe impl Send for AmigoProfilingSubmitInfoSEC {}
unsafe impl Sync for AmigoProfilingSubmitInfoSEC {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAndroidHardwareBufferFormatProperties2ANDROID.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct AndroidHardwareBufferFormatProperties2ANDROID {
pub s_type: StructureType,
pub next: *mut c_void,
pub format: Format,
pub external_format: u64,
pub format_features: FormatFeatureFlags2,
pub sampler_ycbcr_conversion_components: ComponentMapping,
pub suggested_ycbcr_model: SamplerYcbcrModelConversion,
pub suggested_ycbcr_range: SamplerYcbcrRange,
pub suggested_x_chroma_offset: ChromaLocation,
pub suggested_y_chroma_offset: ChromaLocation,
}
impl Default for AndroidHardwareBufferFormatProperties2ANDROID {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID,
next: ptr::null_mut(),
format: Format::default(),
external_format: u64::default(),
format_features: FormatFeatureFlags2::default(),
sampler_ycbcr_conversion_components: ComponentMapping::default(),
suggested_ycbcr_model: SamplerYcbcrModelConversion::default(),
suggested_ycbcr_range: SamplerYcbcrRange::default(),
suggested_x_chroma_offset: ChromaLocation::default(),
suggested_y_chroma_offset: ChromaLocation::default(),
}
}
}
unsafe impl Send for AndroidHardwareBufferFormatProperties2ANDROID {}
unsafe impl Sync for AndroidHardwareBufferFormatProperties2ANDROID {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAndroidHardwareBufferFormatPropertiesANDROID.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct AndroidHardwareBufferFormatPropertiesANDROID {
pub s_type: StructureType,
pub next: *mut c_void,
pub format: Format,
pub external_format: u64,
pub format_features: FormatFeatureFlags,
pub sampler_ycbcr_conversion_components: ComponentMapping,
pub suggested_ycbcr_model: SamplerYcbcrModelConversion,
pub suggested_ycbcr_range: SamplerYcbcrRange,
pub suggested_x_chroma_offset: ChromaLocation,
pub suggested_y_chroma_offset: ChromaLocation,
}
impl Default for AndroidHardwareBufferFormatPropertiesANDROID {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID,
next: ptr::null_mut(),
format: Format::default(),
external_format: u64::default(),
format_features: FormatFeatureFlags::default(),
sampler_ycbcr_conversion_components: ComponentMapping::default(),
suggested_ycbcr_model: SamplerYcbcrModelConversion::default(),
suggested_ycbcr_range: SamplerYcbcrRange::default(),
suggested_x_chroma_offset: ChromaLocation::default(),
suggested_y_chroma_offset: ChromaLocation::default(),
}
}
}
unsafe impl Send for AndroidHardwareBufferFormatPropertiesANDROID {}
unsafe impl Sync for AndroidHardwareBufferFormatPropertiesANDROID {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAndroidHardwareBufferFormatResolvePropertiesANDROID.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct AndroidHardwareBufferFormatResolvePropertiesANDROID {
pub s_type: StructureType,
pub next: *mut c_void,
pub color_attachment_format: Format,
}
impl Default for AndroidHardwareBufferFormatResolvePropertiesANDROID {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::ANDROID_HARDWARE_BUFFER_FORMAT_RESOLVE_PROPERTIES_ANDROID,
next: ptr::null_mut(),
color_attachment_format: Format::default(),
}
}
}
unsafe impl Send for AndroidHardwareBufferFormatResolvePropertiesANDROID {}
unsafe impl Sync for AndroidHardwareBufferFormatResolvePropertiesANDROID {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAndroidHardwareBufferPropertiesANDROID.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct AndroidHardwareBufferPropertiesANDROID {
pub s_type: StructureType,
pub next: *mut c_void,
pub allocation_size: DeviceSize,
pub memory_type_bits: u32,
}
impl Default for AndroidHardwareBufferPropertiesANDROID {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID,
next: ptr::null_mut(),
allocation_size: DeviceSize::default(),
memory_type_bits: u32::default(),
}
}
}
unsafe impl Send for AndroidHardwareBufferPropertiesANDROID {}
unsafe impl Sync for AndroidHardwareBufferPropertiesANDROID {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAndroidHardwareBufferUsageANDROID.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct AndroidHardwareBufferUsageANDROID {
pub s_type: StructureType,
pub next: *mut c_void,
pub android_hardware_buffer_usage: u64,
}
impl Default for AndroidHardwareBufferUsageANDROID {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::ANDROID_HARDWARE_BUFFER_USAGE_ANDROID,
next: ptr::null_mut(),
android_hardware_buffer_usage: u64::default(),
}
}
}
unsafe impl Send for AndroidHardwareBufferUsageANDROID {}
unsafe impl Sync for AndroidHardwareBufferUsageANDROID {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAndroidSurfaceCreateInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct AndroidSurfaceCreateInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: AndroidSurfaceCreateFlagsKHR,
pub window: *mut ANativeWindow,
}
impl Default for AndroidSurfaceCreateInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::ANDROID_SURFACE_CREATE_INFO_KHR,
next: ptr::null(),
flags: AndroidSurfaceCreateFlagsKHR::default(),
window: ptr::null_mut(),
}
}
}
unsafe impl Send for AndroidSurfaceCreateInfoKHR {}
unsafe impl Sync for AndroidSurfaceCreateInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAntiLagDataAMD.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct AntiLagDataAMD {
pub s_type: StructureType,
pub next: *const c_void,
pub mode: AntiLagModeAMD,
pub max_fps: u32,
pub presentation_info: *const AntiLagPresentationInfoAMD,
}
impl Default for AntiLagDataAMD {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::ANTI_LAG_DATA_AMD,
next: ptr::null(),
mode: AntiLagModeAMD::default(),
max_fps: u32::default(),
presentation_info: ptr::null(),
}
}
}
unsafe impl Send for AntiLagDataAMD {}
unsafe impl Sync for AntiLagDataAMD {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAntiLagPresentationInfoAMD.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct AntiLagPresentationInfoAMD {
pub s_type: StructureType,
pub next: *mut c_void,
pub stage: AntiLagStageAMD,
pub frame_index: u64,
}
impl Default for AntiLagPresentationInfoAMD {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::ANTI_LAG_PRESENTATION_INFO_AMD,
next: ptr::null_mut(),
stage: AntiLagStageAMD::default(),
frame_index: u64::default(),
}
}
}
unsafe impl Send for AntiLagPresentationInfoAMD {}
unsafe impl Sync for AntiLagPresentationInfoAMD {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkApplicationInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ApplicationInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub application_name: *const c_char,
pub application_version: u32,
pub engine_name: *const c_char,
pub engine_version: u32,
pub api_version: u32,
}
impl Default for ApplicationInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::APPLICATION_INFO,
next: ptr::null(),
application_name: ptr::null(),
application_version: u32::default(),
engine_name: ptr::null(),
engine_version: u32::default(),
api_version: u32::default(),
}
}
}
unsafe impl Send for ApplicationInfo {}
unsafe impl Sync for ApplicationInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkApplicationParametersEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ApplicationParametersEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub vendor_id: u32,
pub device_id: u32,
pub key: u32,
pub value: u64,
}
impl Default for ApplicationParametersEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::APPLICATION_PARAMETERS_EXT,
next: ptr::null(),
vendor_id: u32::default(),
device_id: u32::default(),
key: u32::default(),
value: u64::default(),
}
}
}
unsafe impl Send for ApplicationParametersEXT {}
unsafe impl Sync for ApplicationParametersEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAttachmentDescription.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct AttachmentDescription {
pub flags: AttachmentDescriptionFlags,
pub format: Format,
pub samples: SampleCountFlags,
pub load_op: AttachmentLoadOp,
pub store_op: AttachmentStoreOp,
pub stencil_load_op: AttachmentLoadOp,
pub stencil_store_op: AttachmentStoreOp,
pub initial_layout: ImageLayout,
pub final_layout: ImageLayout,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAttachmentDescription2.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct AttachmentDescription2 {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: AttachmentDescriptionFlags,
pub format: Format,
pub samples: SampleCountFlags,
pub load_op: AttachmentLoadOp,
pub store_op: AttachmentStoreOp,
pub stencil_load_op: AttachmentLoadOp,
pub stencil_store_op: AttachmentStoreOp,
pub initial_layout: ImageLayout,
pub final_layout: ImageLayout,
}
impl Default for AttachmentDescription2 {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::ATTACHMENT_DESCRIPTION_2,
next: ptr::null(),
flags: AttachmentDescriptionFlags::default(),
format: Format::default(),
samples: SampleCountFlags::default(),
load_op: AttachmentLoadOp::default(),
store_op: AttachmentStoreOp::default(),
stencil_load_op: AttachmentLoadOp::default(),
stencil_store_op: AttachmentStoreOp::default(),
initial_layout: ImageLayout::default(),
final_layout: ImageLayout::default(),
}
}
}
unsafe impl Send for AttachmentDescription2 {}
unsafe impl Sync for AttachmentDescription2 {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAttachmentDescriptionStencilLayout.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct AttachmentDescriptionStencilLayout {
pub s_type: StructureType,
pub next: *mut c_void,
pub stencil_initial_layout: ImageLayout,
pub stencil_final_layout: ImageLayout,
}
impl Default for AttachmentDescriptionStencilLayout {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT,
next: ptr::null_mut(),
stencil_initial_layout: ImageLayout::default(),
stencil_final_layout: ImageLayout::default(),
}
}
}
unsafe impl Send for AttachmentDescriptionStencilLayout {}
unsafe impl Sync for AttachmentDescriptionStencilLayout {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAttachmentFeedbackLoopInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct AttachmentFeedbackLoopInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub feedback_loop_enable: Bool32,
}
impl Default for AttachmentFeedbackLoopInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::ATTACHMENT_FEEDBACK_LOOP_INFO_EXT,
next: ptr::null(),
feedback_loop_enable: Bool32::default(),
}
}
}
unsafe impl Send for AttachmentFeedbackLoopInfoEXT {}
unsafe impl Sync for AttachmentFeedbackLoopInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAttachmentReference.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct AttachmentReference {
pub attachment: u32,
pub layout: ImageLayout,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAttachmentReference2.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct AttachmentReference2 {
pub s_type: StructureType,
pub next: *const c_void,
pub attachment: u32,
pub layout: ImageLayout,
pub aspect_mask: ImageAspectFlags,
}
impl Default for AttachmentReference2 {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::ATTACHMENT_REFERENCE_2,
next: ptr::null(),
attachment: u32::default(),
layout: ImageLayout::default(),
aspect_mask: ImageAspectFlags::default(),
}
}
}
unsafe impl Send for AttachmentReference2 {}
unsafe impl Sync for AttachmentReference2 {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAttachmentReferenceStencilLayout.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct AttachmentReferenceStencilLayout {
pub s_type: StructureType,
pub next: *mut c_void,
pub stencil_layout: ImageLayout,
}
impl Default for AttachmentReferenceStencilLayout {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::ATTACHMENT_REFERENCE_STENCIL_LAYOUT,
next: ptr::null_mut(),
stencil_layout: ImageLayout::default(),
}
}
}
unsafe impl Send for AttachmentReferenceStencilLayout {}
unsafe impl Sync for AttachmentReferenceStencilLayout {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAttachmentSampleCountInfoAMD.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct AttachmentSampleCountInfoAMD {
pub s_type: StructureType,
pub next: *const c_void,
pub color_attachment_count: u32,
pub color_attachment_samples: *const SampleCountFlags,
pub depth_stencil_attachment_samples: SampleCountFlags,
}
impl Default for AttachmentSampleCountInfoAMD {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::ATTACHMENT_SAMPLE_COUNT_INFO_AMD,
next: ptr::null(),
color_attachment_count: u32::default(),
color_attachment_samples: ptr::null(),
depth_stencil_attachment_samples: SampleCountFlags::default(),
}
}
}
unsafe impl Send for AttachmentSampleCountInfoAMD {}
unsafe impl Sync for AttachmentSampleCountInfoAMD {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAttachmentSampleLocationsEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct AttachmentSampleLocationsEXT {
pub attachment_index: u32,
pub sample_locations_info: SampleLocationsInfoEXT,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBaseInStructure.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct BaseInStructure {
pub s_type: StructureType,
pub next: *const BaseInStructure,
}
impl Default for BaseInStructure {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::default(),
next: ptr::null(),
}
}
}
unsafe impl Send for BaseInStructure {}
unsafe impl Sync for BaseInStructure {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBaseOutStructure.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct BaseOutStructure {
pub s_type: StructureType,
pub next: *mut BaseOutStructure,
}
impl Default for BaseOutStructure {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::default(),
next: ptr::null_mut(),
}
}
}
unsafe impl Send for BaseOutStructure {}
unsafe impl Sync for BaseOutStructure {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBeginCustomResolveInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct BeginCustomResolveInfoEXT {
pub s_type: StructureType,
pub next: *mut c_void,
}
impl Default for BeginCustomResolveInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::BEGIN_CUSTOM_RESOLVE_INFO_EXT,
next: ptr::null_mut(),
}
}
}
unsafe impl Send for BeginCustomResolveInfoEXT {}
unsafe impl Sync for BeginCustomResolveInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBindAccelerationStructureMemoryInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct BindAccelerationStructureMemoryInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub acceleration_structure: AccelerationStructureNV,
pub memory: DeviceMemory,
pub memory_offset: DeviceSize,
pub device_index_count: u32,
pub device_indices: *const u32,
}
impl Default for BindAccelerationStructureMemoryInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV,
next: ptr::null(),
acceleration_structure: AccelerationStructureNV::default(),
memory: DeviceMemory::default(),
memory_offset: DeviceSize::default(),
device_index_count: u32::default(),
device_indices: ptr::null(),
}
}
}
unsafe impl Send for BindAccelerationStructureMemoryInfoNV {}
unsafe impl Sync for BindAccelerationStructureMemoryInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBindBufferMemoryDeviceGroupInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct BindBufferMemoryDeviceGroupInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub device_index_count: u32,
pub device_indices: *const u32,
}
impl Default for BindBufferMemoryDeviceGroupInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO,
next: ptr::null(),
device_index_count: u32::default(),
device_indices: ptr::null(),
}
}
}
unsafe impl Send for BindBufferMemoryDeviceGroupInfo {}
unsafe impl Sync for BindBufferMemoryDeviceGroupInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBindBufferMemoryInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct BindBufferMemoryInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub buffer: Buffer,
pub memory: DeviceMemory,
pub memory_offset: DeviceSize,
}
impl Default for BindBufferMemoryInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::BIND_BUFFER_MEMORY_INFO,
next: ptr::null(),
buffer: Buffer::default(),
memory: DeviceMemory::default(),
memory_offset: DeviceSize::default(),
}
}
}
unsafe impl Send for BindBufferMemoryInfo {}
unsafe impl Sync for BindBufferMemoryInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBindDataGraphPipelineSessionMemoryInfoARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct BindDataGraphPipelineSessionMemoryInfoARM {
pub s_type: StructureType,
pub next: *const c_void,
pub session: DataGraphPipelineSessionARM,
pub bind_point: DataGraphPipelineSessionBindPointARM,
pub object_index: u32,
pub memory: DeviceMemory,
pub memory_offset: DeviceSize,
}
impl Default for BindDataGraphPipelineSessionMemoryInfoARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::BIND_DATA_GRAPH_PIPELINE_SESSION_MEMORY_INFO_ARM,
next: ptr::null(),
session: DataGraphPipelineSessionARM::default(),
bind_point: DataGraphPipelineSessionBindPointARM::default(),
object_index: u32::default(),
memory: DeviceMemory::default(),
memory_offset: DeviceSize::default(),
}
}
}
unsafe impl Send for BindDataGraphPipelineSessionMemoryInfoARM {}
unsafe impl Sync for BindDataGraphPipelineSessionMemoryInfoARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBindDescriptorBufferEmbeddedSamplersInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct BindDescriptorBufferEmbeddedSamplersInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub stage_flags: ShaderStageFlags,
pub layout: PipelineLayout,
pub set: u32,
}
impl Default for BindDescriptorBufferEmbeddedSamplersInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT,
next: ptr::null(),
stage_flags: ShaderStageFlags::default(),
layout: PipelineLayout::default(),
set: u32::default(),
}
}
}
unsafe impl Send for BindDescriptorBufferEmbeddedSamplersInfoEXT {}
unsafe impl Sync for BindDescriptorBufferEmbeddedSamplersInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBindDescriptorSetsInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct BindDescriptorSetsInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub stage_flags: ShaderStageFlags,
pub layout: PipelineLayout,
pub first_set: u32,
pub descriptor_set_count: u32,
pub descriptor_sets: *const DescriptorSet,
pub dynamic_offset_count: u32,
pub dynamic_offsets: *const u32,
}
impl Default for BindDescriptorSetsInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::BIND_DESCRIPTOR_SETS_INFO,
next: ptr::null(),
stage_flags: ShaderStageFlags::default(),
layout: PipelineLayout::default(),
first_set: u32::default(),
descriptor_set_count: u32::default(),
descriptor_sets: ptr::null(),
dynamic_offset_count: u32::default(),
dynamic_offsets: ptr::null(),
}
}
}
unsafe impl Send for BindDescriptorSetsInfo {}
unsafe impl Sync for BindDescriptorSetsInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBindHeapInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct BindHeapInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub heap_range: DeviceAddressRangeEXT,
pub reserved_range_offset: DeviceSize,
pub reserved_range_size: DeviceSize,
}
impl Default for BindHeapInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::BIND_HEAP_INFO_EXT,
next: ptr::null(),
heap_range: DeviceAddressRangeEXT::default(),
reserved_range_offset: DeviceSize::default(),
reserved_range_size: DeviceSize::default(),
}
}
}
unsafe impl Send for BindHeapInfoEXT {}
unsafe impl Sync for BindHeapInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBindImageMemoryDeviceGroupInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct BindImageMemoryDeviceGroupInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub device_index_count: u32,
pub device_indices: *const u32,
pub split_instance_bind_region_count: u32,
pub split_instance_bind_regions: *const Rect2D,
}
impl Default for BindImageMemoryDeviceGroupInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO,
next: ptr::null(),
device_index_count: u32::default(),
device_indices: ptr::null(),
split_instance_bind_region_count: u32::default(),
split_instance_bind_regions: ptr::null(),
}
}
}
unsafe impl Send for BindImageMemoryDeviceGroupInfo {}
unsafe impl Sync for BindImageMemoryDeviceGroupInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBindImageMemoryInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct BindImageMemoryInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub image: Image,
pub memory: DeviceMemory,
pub memory_offset: DeviceSize,
}
impl Default for BindImageMemoryInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::BIND_IMAGE_MEMORY_INFO,
next: ptr::null(),
image: Image::default(),
memory: DeviceMemory::default(),
memory_offset: DeviceSize::default(),
}
}
}
unsafe impl Send for BindImageMemoryInfo {}
unsafe impl Sync for BindImageMemoryInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBindImageMemorySwapchainInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct BindImageMemorySwapchainInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub swapchain: SwapchainKHR,
pub image_index: u32,
}
impl Default for BindImageMemorySwapchainInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR,
next: ptr::null(),
swapchain: SwapchainKHR::default(),
image_index: u32::default(),
}
}
}
unsafe impl Send for BindImageMemorySwapchainInfoKHR {}
unsafe impl Sync for BindImageMemorySwapchainInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBindImagePlaneMemoryInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct BindImagePlaneMemoryInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub plane_aspect: ImageAspectFlags,
}
impl Default for BindImagePlaneMemoryInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::BIND_IMAGE_PLANE_MEMORY_INFO,
next: ptr::null(),
plane_aspect: ImageAspectFlags::default(),
}
}
}
unsafe impl Send for BindImagePlaneMemoryInfo {}
unsafe impl Sync for BindImagePlaneMemoryInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBindIndexBufferIndirectCommandEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct BindIndexBufferIndirectCommandEXT {
pub buffer_address: DeviceAddress,
pub size: u32,
pub index_type: IndexType,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBindIndexBufferIndirectCommandNV.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct BindIndexBufferIndirectCommandNV {
pub buffer_address: DeviceAddress,
pub size: u32,
pub index_type: IndexType,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBindMemoryStatus.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct BindMemoryStatus {
pub s_type: StructureType,
pub next: *const c_void,
pub result: *mut Result,
}
impl Default for BindMemoryStatus {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::BIND_MEMORY_STATUS,
next: ptr::null(),
result: ptr::null_mut(),
}
}
}
unsafe impl Send for BindMemoryStatus {}
unsafe impl Sync for BindMemoryStatus {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBindPipelineIndirectCommandNV.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct BindPipelineIndirectCommandNV {
pub pipeline_address: DeviceAddress,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBindShaderGroupIndirectCommandNV.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct BindShaderGroupIndirectCommandNV {
pub group_index: u32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBindSparseInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct BindSparseInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub wait_semaphore_count: u32,
pub wait_semaphores: *const Semaphore,
pub buffer_bind_count: u32,
pub buffer_binds: *const SparseBufferMemoryBindInfo,
pub image_opaque_bind_count: u32,
pub image_opaque_binds: *const SparseImageOpaqueMemoryBindInfo,
pub image_bind_count: u32,
pub image_binds: *const SparseImageMemoryBindInfo,
pub signal_semaphore_count: u32,
pub signal_semaphores: *const Semaphore,
}
impl Default for BindSparseInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::BIND_SPARSE_INFO,
next: ptr::null(),
wait_semaphore_count: u32::default(),
wait_semaphores: ptr::null(),
buffer_bind_count: u32::default(),
buffer_binds: ptr::null(),
image_opaque_bind_count: u32::default(),
image_opaque_binds: ptr::null(),
image_bind_count: u32::default(),
image_binds: ptr::null(),
signal_semaphore_count: u32::default(),
signal_semaphores: ptr::null(),
}
}
}
unsafe impl Send for BindSparseInfo {}
unsafe impl Sync for BindSparseInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBindTensorMemoryInfoARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct BindTensorMemoryInfoARM {
pub s_type: StructureType,
pub next: *const c_void,
pub tensor: TensorARM,
pub memory: DeviceMemory,
pub memory_offset: DeviceSize,
}
impl Default for BindTensorMemoryInfoARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::BIND_TENSOR_MEMORY_INFO_ARM,
next: ptr::null(),
tensor: TensorARM::default(),
memory: DeviceMemory::default(),
memory_offset: DeviceSize::default(),
}
}
}
unsafe impl Send for BindTensorMemoryInfoARM {}
unsafe impl Sync for BindTensorMemoryInfoARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBindVertexBufferIndirectCommandEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct BindVertexBufferIndirectCommandEXT {
pub buffer_address: DeviceAddress,
pub size: u32,
pub stride: u32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBindVertexBufferIndirectCommandNV.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct BindVertexBufferIndirectCommandNV {
pub buffer_address: DeviceAddress,
pub size: u32,
pub stride: u32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBindVideoSessionMemoryInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct BindVideoSessionMemoryInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub memory_bind_index: u32,
pub memory: DeviceMemory,
pub memory_offset: DeviceSize,
pub memory_size: DeviceSize,
}
impl Default for BindVideoSessionMemoryInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::BIND_VIDEO_SESSION_MEMORY_INFO_KHR,
next: ptr::null(),
memory_bind_index: u32::default(),
memory: DeviceMemory::default(),
memory_offset: DeviceSize::default(),
memory_size: DeviceSize::default(),
}
}
}
unsafe impl Send for BindVideoSessionMemoryInfoKHR {}
unsafe impl Sync for BindVideoSessionMemoryInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBlitImageCubicWeightsInfoQCOM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct BlitImageCubicWeightsInfoQCOM {
pub s_type: StructureType,
pub next: *const c_void,
pub cubic_weights: CubicFilterWeightsQCOM,
}
impl Default for BlitImageCubicWeightsInfoQCOM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::BLIT_IMAGE_CUBIC_WEIGHTS_INFO_QCOM,
next: ptr::null(),
cubic_weights: CubicFilterWeightsQCOM::default(),
}
}
}
unsafe impl Send for BlitImageCubicWeightsInfoQCOM {}
unsafe impl Sync for BlitImageCubicWeightsInfoQCOM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBlitImageInfo2.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct BlitImageInfo2 {
pub s_type: StructureType,
pub next: *const c_void,
pub src_image: Image,
pub src_image_layout: ImageLayout,
pub dst_image: Image,
pub dst_image_layout: ImageLayout,
pub region_count: u32,
pub regions: *const ImageBlit2,
pub filter: Filter,
}
impl Default for BlitImageInfo2 {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::BLIT_IMAGE_INFO_2,
next: ptr::null(),
src_image: Image::default(),
src_image_layout: ImageLayout::default(),
dst_image: Image::default(),
dst_image_layout: ImageLayout::default(),
region_count: u32::default(),
regions: ptr::null(),
filter: Filter::default(),
}
}
}
unsafe impl Send for BlitImageInfo2 {}
unsafe impl Sync for BlitImageInfo2 {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBufferCaptureDescriptorDataInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct BufferCaptureDescriptorDataInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub buffer: Buffer,
}
impl Default for BufferCaptureDescriptorDataInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
next: ptr::null(),
buffer: Buffer::default(),
}
}
}
unsafe impl Send for BufferCaptureDescriptorDataInfoEXT {}
unsafe impl Sync for BufferCaptureDescriptorDataInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBufferCollectionBufferCreateInfoFUCHSIA.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct BufferCollectionBufferCreateInfoFUCHSIA {
pub s_type: StructureType,
pub next: *const c_void,
pub collection: BufferCollectionFUCHSIA,
pub index: u32,
}
impl Default for BufferCollectionBufferCreateInfoFUCHSIA {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA,
next: ptr::null(),
collection: BufferCollectionFUCHSIA::default(),
index: u32::default(),
}
}
}
unsafe impl Send for BufferCollectionBufferCreateInfoFUCHSIA {}
unsafe impl Sync for BufferCollectionBufferCreateInfoFUCHSIA {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBufferCollectionConstraintsInfoFUCHSIA.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct BufferCollectionConstraintsInfoFUCHSIA {
pub s_type: StructureType,
pub next: *const c_void,
pub min_buffer_count: u32,
pub max_buffer_count: u32,
pub min_buffer_count_for_camping: u32,
pub min_buffer_count_for_dedicated_slack: u32,
pub min_buffer_count_for_shared_slack: u32,
}
impl Default for BufferCollectionConstraintsInfoFUCHSIA {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA,
next: ptr::null(),
min_buffer_count: u32::default(),
max_buffer_count: u32::default(),
min_buffer_count_for_camping: u32::default(),
min_buffer_count_for_dedicated_slack: u32::default(),
min_buffer_count_for_shared_slack: u32::default(),
}
}
}
unsafe impl Send for BufferCollectionConstraintsInfoFUCHSIA {}
unsafe impl Sync for BufferCollectionConstraintsInfoFUCHSIA {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBufferCollectionCreateInfoFUCHSIA.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct BufferCollectionCreateInfoFUCHSIA {
pub s_type: StructureType,
pub next: *const c_void,
pub collection_token: zx_handle_t,
}
impl Default for BufferCollectionCreateInfoFUCHSIA {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::BUFFER_COLLECTION_CREATE_INFO_FUCHSIA,
next: ptr::null(),
collection_token: zx_handle_t::default(),
}
}
}
unsafe impl Send for BufferCollectionCreateInfoFUCHSIA {}
unsafe impl Sync for BufferCollectionCreateInfoFUCHSIA {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBufferCollectionImageCreateInfoFUCHSIA.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct BufferCollectionImageCreateInfoFUCHSIA {
pub s_type: StructureType,
pub next: *const c_void,
pub collection: BufferCollectionFUCHSIA,
pub index: u32,
}
impl Default for BufferCollectionImageCreateInfoFUCHSIA {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA,
next: ptr::null(),
collection: BufferCollectionFUCHSIA::default(),
index: u32::default(),
}
}
}
unsafe impl Send for BufferCollectionImageCreateInfoFUCHSIA {}
unsafe impl Sync for BufferCollectionImageCreateInfoFUCHSIA {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBufferCollectionPropertiesFUCHSIA.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct BufferCollectionPropertiesFUCHSIA {
pub s_type: StructureType,
pub next: *mut c_void,
pub memory_type_bits: u32,
pub buffer_count: u32,
pub create_info_index: u32,
pub sysmem_pixel_format: u64,
pub format_features: FormatFeatureFlags,
pub sysmem_color_space_index: SysmemColorSpaceFUCHSIA,
pub sampler_ycbcr_conversion_components: ComponentMapping,
pub suggested_ycbcr_model: SamplerYcbcrModelConversion,
pub suggested_ycbcr_range: SamplerYcbcrRange,
pub suggested_x_chroma_offset: ChromaLocation,
pub suggested_y_chroma_offset: ChromaLocation,
}
impl Default for BufferCollectionPropertiesFUCHSIA {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::BUFFER_COLLECTION_PROPERTIES_FUCHSIA,
next: ptr::null_mut(),
memory_type_bits: u32::default(),
buffer_count: u32::default(),
create_info_index: u32::default(),
sysmem_pixel_format: u64::default(),
format_features: FormatFeatureFlags::default(),
sysmem_color_space_index: SysmemColorSpaceFUCHSIA::default(),
sampler_ycbcr_conversion_components: ComponentMapping::default(),
suggested_ycbcr_model: SamplerYcbcrModelConversion::default(),
suggested_ycbcr_range: SamplerYcbcrRange::default(),
suggested_x_chroma_offset: ChromaLocation::default(),
suggested_y_chroma_offset: ChromaLocation::default(),
}
}
}
unsafe impl Send for BufferCollectionPropertiesFUCHSIA {}
unsafe impl Sync for BufferCollectionPropertiesFUCHSIA {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBufferConstraintsInfoFUCHSIA.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct BufferConstraintsInfoFUCHSIA {
pub s_type: StructureType,
pub next: *const c_void,
pub create_info: BufferCreateInfo,
pub required_format_features: FormatFeatureFlags,
pub buffer_collection_constraints: BufferCollectionConstraintsInfoFUCHSIA,
}
impl Default for BufferConstraintsInfoFUCHSIA {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::BUFFER_CONSTRAINTS_INFO_FUCHSIA,
next: ptr::null(),
create_info: BufferCreateInfo::default(),
required_format_features: FormatFeatureFlags::default(),
buffer_collection_constraints: BufferCollectionConstraintsInfoFUCHSIA::default(),
}
}
}
unsafe impl Send for BufferConstraintsInfoFUCHSIA {}
unsafe impl Sync for BufferConstraintsInfoFUCHSIA {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBufferCopy.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct BufferCopy {
pub src_offset: DeviceSize,
pub dst_offset: DeviceSize,
pub size: DeviceSize,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBufferCopy2.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct BufferCopy2 {
pub s_type: StructureType,
pub next: *const c_void,
pub src_offset: DeviceSize,
pub dst_offset: DeviceSize,
pub size: DeviceSize,
}
impl Default for BufferCopy2 {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::BUFFER_COPY_2,
next: ptr::null(),
src_offset: DeviceSize::default(),
dst_offset: DeviceSize::default(),
size: DeviceSize::default(),
}
}
}
unsafe impl Send for BufferCopy2 {}
unsafe impl Sync for BufferCopy2 {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBufferCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct BufferCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: BufferCreateFlags,
pub size: DeviceSize,
pub usage: BufferUsageFlags,
pub sharing_mode: SharingMode,
pub queue_family_index_count: u32,
pub queue_family_indices: *const u32,
}
impl Default for BufferCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::BUFFER_CREATE_INFO,
next: ptr::null(),
flags: BufferCreateFlags::default(),
size: DeviceSize::default(),
usage: BufferUsageFlags::default(),
sharing_mode: SharingMode::default(),
queue_family_index_count: u32::default(),
queue_family_indices: ptr::null(),
}
}
}
unsafe impl Send for BufferCreateInfo {}
unsafe impl Sync for BufferCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBufferDeviceAddressCreateInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct BufferDeviceAddressCreateInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub device_address: DeviceAddress,
}
impl Default for BufferDeviceAddressCreateInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT,
next: ptr::null(),
device_address: DeviceAddress::default(),
}
}
}
unsafe impl Send for BufferDeviceAddressCreateInfoEXT {}
unsafe impl Sync for BufferDeviceAddressCreateInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBufferDeviceAddressInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct BufferDeviceAddressInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub buffer: Buffer,
}
impl Default for BufferDeviceAddressInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::BUFFER_DEVICE_ADDRESS_INFO,
next: ptr::null(),
buffer: Buffer::default(),
}
}
}
unsafe impl Send for BufferDeviceAddressInfo {}
unsafe impl Sync for BufferDeviceAddressInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBufferImageCopy.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct BufferImageCopy {
pub buffer_offset: DeviceSize,
pub buffer_row_length: u32,
pub buffer_image_height: u32,
pub image_subresource: ImageSubresourceLayers,
pub image_offset: Offset3D,
pub image_extent: Extent3D,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBufferImageCopy2.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct BufferImageCopy2 {
pub s_type: StructureType,
pub next: *const c_void,
pub buffer_offset: DeviceSize,
pub buffer_row_length: u32,
pub buffer_image_height: u32,
pub image_subresource: ImageSubresourceLayers,
pub image_offset: Offset3D,
pub image_extent: Extent3D,
}
impl Default for BufferImageCopy2 {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::BUFFER_IMAGE_COPY_2,
next: ptr::null(),
buffer_offset: DeviceSize::default(),
buffer_row_length: u32::default(),
buffer_image_height: u32::default(),
image_subresource: ImageSubresourceLayers::default(),
image_offset: Offset3D::default(),
image_extent: Extent3D::default(),
}
}
}
unsafe impl Send for BufferImageCopy2 {}
unsafe impl Sync for BufferImageCopy2 {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBufferMemoryBarrier.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct BufferMemoryBarrier {
pub s_type: StructureType,
pub next: *const c_void,
pub src_access_mask: AccessFlags,
pub dst_access_mask: AccessFlags,
pub src_queue_family_index: u32,
pub dst_queue_family_index: u32,
pub buffer: Buffer,
pub offset: DeviceSize,
pub size: DeviceSize,
}
impl Default for BufferMemoryBarrier {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::BUFFER_MEMORY_BARRIER,
next: ptr::null(),
src_access_mask: AccessFlags::default(),
dst_access_mask: AccessFlags::default(),
src_queue_family_index: u32::default(),
dst_queue_family_index: u32::default(),
buffer: Buffer::default(),
offset: DeviceSize::default(),
size: DeviceSize::default(),
}
}
}
unsafe impl Send for BufferMemoryBarrier {}
unsafe impl Sync for BufferMemoryBarrier {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBufferMemoryBarrier2.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct BufferMemoryBarrier2 {
pub s_type: StructureType,
pub next: *const c_void,
pub src_stage_mask: PipelineStageFlags2,
pub src_access_mask: AccessFlags2,
pub dst_stage_mask: PipelineStageFlags2,
pub dst_access_mask: AccessFlags2,
pub src_queue_family_index: u32,
pub dst_queue_family_index: u32,
pub buffer: Buffer,
pub offset: DeviceSize,
pub size: DeviceSize,
}
impl Default for BufferMemoryBarrier2 {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::BUFFER_MEMORY_BARRIER_2,
next: ptr::null(),
src_stage_mask: PipelineStageFlags2::default(),
src_access_mask: AccessFlags2::default(),
dst_stage_mask: PipelineStageFlags2::default(),
dst_access_mask: AccessFlags2::default(),
src_queue_family_index: u32::default(),
dst_queue_family_index: u32::default(),
buffer: Buffer::default(),
offset: DeviceSize::default(),
size: DeviceSize::default(),
}
}
}
unsafe impl Send for BufferMemoryBarrier2 {}
unsafe impl Sync for BufferMemoryBarrier2 {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBufferMemoryRequirementsInfo2.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct BufferMemoryRequirementsInfo2 {
pub s_type: StructureType,
pub next: *const c_void,
pub buffer: Buffer,
}
impl Default for BufferMemoryRequirementsInfo2 {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::BUFFER_MEMORY_REQUIREMENTS_INFO_2,
next: ptr::null(),
buffer: Buffer::default(),
}
}
}
unsafe impl Send for BufferMemoryRequirementsInfo2 {}
unsafe impl Sync for BufferMemoryRequirementsInfo2 {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBufferOpaqueCaptureAddressCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct BufferOpaqueCaptureAddressCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub opaque_capture_address: u64,
}
impl Default for BufferOpaqueCaptureAddressCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO,
next: ptr::null(),
opaque_capture_address: u64::default(),
}
}
}
unsafe impl Send for BufferOpaqueCaptureAddressCreateInfo {}
unsafe impl Sync for BufferOpaqueCaptureAddressCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBufferUsageFlags2CreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct BufferUsageFlags2CreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub usage: BufferUsageFlags2,
}
impl Default for BufferUsageFlags2CreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::BUFFER_USAGE_FLAGS_2_CREATE_INFO,
next: ptr::null(),
usage: BufferUsageFlags2::default(),
}
}
}
unsafe impl Send for BufferUsageFlags2CreateInfo {}
unsafe impl Sync for BufferUsageFlags2CreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBufferViewCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct BufferViewCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: BufferViewCreateFlags,
pub buffer: Buffer,
pub format: Format,
pub offset: DeviceSize,
pub range: DeviceSize,
}
impl Default for BufferViewCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::BUFFER_VIEW_CREATE_INFO,
next: ptr::null(),
flags: BufferViewCreateFlags::default(),
buffer: Buffer::default(),
format: Format::default(),
offset: DeviceSize::default(),
range: DeviceSize::default(),
}
}
}
unsafe impl Send for BufferViewCreateInfo {}
unsafe impl Sync for BufferViewCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBuildPartitionedAccelerationStructureIndirectCommandNV.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct BuildPartitionedAccelerationStructureIndirectCommandNV {
pub op_type: PartitionedAccelerationStructureOpTypeNV,
pub arg_count: u32,
pub arg_data: StridedDeviceAddressNV,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBuildPartitionedAccelerationStructureInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct BuildPartitionedAccelerationStructureInfoNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub input: PartitionedAccelerationStructureInstancesInputNV,
pub src_acceleration_structure_data: DeviceAddress,
pub dst_acceleration_structure_data: DeviceAddress,
pub scratch_data: DeviceAddress,
pub src_infos: DeviceAddress,
pub src_infos_count: DeviceAddress,
}
impl Default for BuildPartitionedAccelerationStructureInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::BUILD_PARTITIONED_ACCELERATION_STRUCTURE_INFO_NV,
next: ptr::null_mut(),
input: PartitionedAccelerationStructureInstancesInputNV::default(),
src_acceleration_structure_data: DeviceAddress::default(),
dst_acceleration_structure_data: DeviceAddress::default(),
scratch_data: DeviceAddress::default(),
src_infos: DeviceAddress::default(),
src_infos_count: DeviceAddress::default(),
}
}
}
unsafe impl Send for BuildPartitionedAccelerationStructureInfoNV {}
unsafe impl Sync for BuildPartitionedAccelerationStructureInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCalibratedTimestampInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct CalibratedTimestampInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub time_domain: TimeDomainKHR,
}
impl Default for CalibratedTimestampInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::CALIBRATED_TIMESTAMP_INFO_KHR,
next: ptr::null(),
time_domain: TimeDomainKHR::default(),
}
}
}
unsafe impl Send for CalibratedTimestampInfoKHR {}
unsafe impl Sync for CalibratedTimestampInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCheckpointData2NV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct CheckpointData2NV {
pub s_type: StructureType,
pub next: *mut c_void,
pub stage: PipelineStageFlags2,
pub checkpoint_marker: *mut c_void,
}
impl Default for CheckpointData2NV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::CHECKPOINT_DATA_2_NV,
next: ptr::null_mut(),
stage: PipelineStageFlags2::default(),
checkpoint_marker: ptr::null_mut(),
}
}
}
unsafe impl Send for CheckpointData2NV {}
unsafe impl Sync for CheckpointData2NV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCheckpointDataNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct CheckpointDataNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub stage: PipelineStageFlags,
pub checkpoint_marker: *mut c_void,
}
impl Default for CheckpointDataNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::CHECKPOINT_DATA_NV,
next: ptr::null_mut(),
stage: PipelineStageFlags::default(),
checkpoint_marker: ptr::null_mut(),
}
}
}
unsafe impl Send for CheckpointDataNV {}
unsafe impl Sync for CheckpointDataNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkClearAttachment.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug)]
pub struct ClearAttachment {
pub aspect_mask: ImageAspectFlags,
pub color_attachment: u32,
pub clear_value: ClearValue,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkClearDepthStencilValue.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, PartialEq)]
pub struct ClearDepthStencilValue {
pub depth: f32,
pub stencil: u32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkClearRect.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct ClearRect {
pub rect: Rect2D,
pub base_array_layer: u32,
pub layer_count: u32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkClusterAccelerationStructureBuildClustersBottomLevelInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct ClusterAccelerationStructureBuildClustersBottomLevelInfoNV {
pub cluster_references_count: u32,
pub cluster_references_stride: u32,
pub cluster_references: DeviceAddress,
}
bitfields32! {
struct ClusterAccelerationStructureBuildTriangleClusterInfoNVBitfields0 {
(triangle_count, with_triangle_count)[0 .. 9],
(vertex_count, with_vertex_count)[9 .. 18],
(position_truncate_bit_count, with_position_truncate_bit_count)[18 .. 24],
(index_type, with_index_type)[24 .. 28],
(opacity_micromap_index_type, with_opacity_micromap_index_type)[28 .. 32],
}
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkClusterAccelerationStructureBuildTriangleClusterInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct ClusterAccelerationStructureBuildTriangleClusterInfoNV {
pub cluster_id: u32,
pub cluster_flags: ClusterAccelerationStructureClusterFlagsNV,
pub base_geometry_index_and_geometry_flags:
ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV,
pub index_buffer_stride: u16,
pub vertex_buffer_stride: u16,
pub geometry_index_and_flags_buffer_stride: u16,
pub opacity_micromap_index_buffer_stride: u16,
pub index_buffer: DeviceAddress,
pub vertex_buffer: DeviceAddress,
pub geometry_index_and_flags_buffer: DeviceAddress,
pub opacity_micromap_array: DeviceAddress,
pub opacity_micromap_index_buffer: DeviceAddress,
pub bitfields0: ClusterAccelerationStructureBuildTriangleClusterInfoNVBitfields0,
}
bitfields32! {
struct ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNVBitfields0 {
(triangle_count, with_triangle_count)[0 .. 9],
(vertex_count, with_vertex_count)[9 .. 18],
(position_truncate_bit_count, with_position_truncate_bit_count)[18 .. 24],
(index_type, with_index_type)[24 .. 28],
(opacity_micromap_index_type, with_opacity_micromap_index_type)[28 .. 32],
}
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV {
pub cluster_id: u32,
pub cluster_flags: ClusterAccelerationStructureClusterFlagsNV,
pub base_geometry_index_and_geometry_flags:
ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV,
pub index_buffer_stride: u16,
pub vertex_buffer_stride: u16,
pub geometry_index_and_flags_buffer_stride: u16,
pub opacity_micromap_index_buffer_stride: u16,
pub index_buffer: DeviceAddress,
pub vertex_buffer: DeviceAddress,
pub geometry_index_and_flags_buffer: DeviceAddress,
pub opacity_micromap_array: DeviceAddress,
pub opacity_micromap_index_buffer: DeviceAddress,
pub instantiation_bounding_box_limit: DeviceAddress,
pub bitfields0: ClusterAccelerationStructureBuildTriangleClusterTemplateInfoNVBitfields0,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkClusterAccelerationStructureClustersBottomLevelInputNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ClusterAccelerationStructureClustersBottomLevelInputNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub max_total_cluster_count: u32,
pub max_cluster_count_per_acceleration_structure: u32,
}
impl Default for ClusterAccelerationStructureClustersBottomLevelInputNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::CLUSTER_ACCELERATION_STRUCTURE_CLUSTERS_BOTTOM_LEVEL_INPUT_NV,
next: ptr::null_mut(),
max_total_cluster_count: u32::default(),
max_cluster_count_per_acceleration_structure: u32::default(),
}
}
}
unsafe impl Send for ClusterAccelerationStructureClustersBottomLevelInputNV {}
unsafe impl Sync for ClusterAccelerationStructureClustersBottomLevelInputNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkClusterAccelerationStructureCommandsInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug)]
pub struct ClusterAccelerationStructureCommandsInfoNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub input: ClusterAccelerationStructureInputInfoNV,
pub dst_implicit_data: DeviceAddress,
pub scratch_data: DeviceAddress,
pub dst_addresses_array: StridedDeviceAddressRegionKHR,
pub dst_sizes_array: StridedDeviceAddressRegionKHR,
pub src_infos_array: StridedDeviceAddressRegionKHR,
pub src_infos_count: DeviceAddress,
pub address_resolution_flags: ClusterAccelerationStructureAddressResolutionFlagsNV,
}
impl Default for ClusterAccelerationStructureCommandsInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::CLUSTER_ACCELERATION_STRUCTURE_COMMANDS_INFO_NV,
next: ptr::null_mut(),
input: ClusterAccelerationStructureInputInfoNV::default(),
dst_implicit_data: DeviceAddress::default(),
scratch_data: DeviceAddress::default(),
dst_addresses_array: StridedDeviceAddressRegionKHR::default(),
dst_sizes_array: StridedDeviceAddressRegionKHR::default(),
src_infos_array: StridedDeviceAddressRegionKHR::default(),
src_infos_count: DeviceAddress::default(),
address_resolution_flags: ClusterAccelerationStructureAddressResolutionFlagsNV::default(
),
}
}
}
unsafe impl Send for ClusterAccelerationStructureCommandsInfoNV {}
unsafe impl Sync for ClusterAccelerationStructureCommandsInfoNV {}
bitfields32! {
struct ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNVBitfields0 {
(geometry_index, with_geometry_index)[0 .. 24],
(reserved, with_reserved)[24 .. 29],
(geometry_flags, with_geometry_flags)[29 .. 32],
}
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV {
pub bitfields0: ClusterAccelerationStructureGeometryIndexAndGeometryFlagsNVBitfields0,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkClusterAccelerationStructureGetTemplateIndicesInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct ClusterAccelerationStructureGetTemplateIndicesInfoNV {
pub cluster_template_address: DeviceAddress,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkClusterAccelerationStructureInputInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug)]
pub struct ClusterAccelerationStructureInputInfoNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub max_acceleration_structure_count: u32,
pub flags: BuildAccelerationStructureFlagsKHR,
pub op_type: ClusterAccelerationStructureOpTypeNV,
pub op_mode: ClusterAccelerationStructureOpModeNV,
pub op_input: ClusterAccelerationStructureOpInputNV,
}
impl Default for ClusterAccelerationStructureInputInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::CLUSTER_ACCELERATION_STRUCTURE_INPUT_INFO_NV,
next: ptr::null_mut(),
max_acceleration_structure_count: u32::default(),
flags: BuildAccelerationStructureFlagsKHR::default(),
op_type: ClusterAccelerationStructureOpTypeNV::default(),
op_mode: ClusterAccelerationStructureOpModeNV::default(),
op_input: ClusterAccelerationStructureOpInputNV::default(),
}
}
}
unsafe impl Send for ClusterAccelerationStructureInputInfoNV {}
unsafe impl Sync for ClusterAccelerationStructureInputInfoNV {}
bitfields32! {
struct ClusterAccelerationStructureInstantiateClusterInfoNVBitfields0 {
(geometry_index_offset, with_geometry_index_offset)[0 .. 24],
(reserved, with_reserved)[24 .. 32],
}
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkClusterAccelerationStructureInstantiateClusterInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct ClusterAccelerationStructureInstantiateClusterInfoNV {
pub cluster_id_offset: u32,
pub cluster_template_address: DeviceAddress,
pub vertex_buffer: StridedDeviceAddressNV,
pub bitfields0: ClusterAccelerationStructureInstantiateClusterInfoNVBitfields0,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkClusterAccelerationStructureMoveObjectsInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct ClusterAccelerationStructureMoveObjectsInfoNV {
pub src_acceleration_structure: DeviceAddress,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkClusterAccelerationStructureMoveObjectsInputNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ClusterAccelerationStructureMoveObjectsInputNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub type_: ClusterAccelerationStructureTypeNV,
pub no_move_overlap: Bool32,
pub max_moved_bytes: DeviceSize,
}
impl Default for ClusterAccelerationStructureMoveObjectsInputNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::CLUSTER_ACCELERATION_STRUCTURE_MOVE_OBJECTS_INPUT_NV,
next: ptr::null_mut(),
type_: ClusterAccelerationStructureTypeNV::default(),
no_move_overlap: Bool32::default(),
max_moved_bytes: DeviceSize::default(),
}
}
}
unsafe impl Send for ClusterAccelerationStructureMoveObjectsInputNV {}
unsafe impl Sync for ClusterAccelerationStructureMoveObjectsInputNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkClusterAccelerationStructureTriangleClusterInputNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ClusterAccelerationStructureTriangleClusterInputNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub vertex_format: Format,
pub max_geometry_index_value: u32,
pub max_cluster_unique_geometry_count: u32,
pub max_cluster_triangle_count: u32,
pub max_cluster_vertex_count: u32,
pub max_total_triangle_count: u32,
pub max_total_vertex_count: u32,
pub min_position_truncate_bit_count: u32,
}
impl Default for ClusterAccelerationStructureTriangleClusterInputNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::CLUSTER_ACCELERATION_STRUCTURE_TRIANGLE_CLUSTER_INPUT_NV,
next: ptr::null_mut(),
vertex_format: Format::default(),
max_geometry_index_value: u32::default(),
max_cluster_unique_geometry_count: u32::default(),
max_cluster_triangle_count: u32::default(),
max_cluster_vertex_count: u32::default(),
max_total_triangle_count: u32::default(),
max_total_vertex_count: u32::default(),
min_position_truncate_bit_count: u32::default(),
}
}
}
unsafe impl Send for ClusterAccelerationStructureTriangleClusterInputNV {}
unsafe impl Sync for ClusterAccelerationStructureTriangleClusterInputNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCoarseSampleLocationNV.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct CoarseSampleLocationNV {
pub pixel_x: u32,
pub pixel_y: u32,
pub sample: u32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCoarseSampleOrderCustomNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct CoarseSampleOrderCustomNV {
pub shading_rate: ShadingRatePaletteEntryNV,
pub sample_count: u32,
pub sample_location_count: u32,
pub sample_locations: *const CoarseSampleLocationNV,
}
impl Default for CoarseSampleOrderCustomNV {
#[inline]
fn default() -> Self {
Self {
shading_rate: ShadingRatePaletteEntryNV::default(),
sample_count: u32::default(),
sample_location_count: u32::default(),
sample_locations: ptr::null(),
}
}
}
unsafe impl Send for CoarseSampleOrderCustomNV {}
unsafe impl Sync for CoarseSampleOrderCustomNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkColorBlendAdvancedEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct ColorBlendAdvancedEXT {
pub advanced_blend_op: BlendOp,
pub src_premultiplied: Bool32,
pub dst_premultiplied: Bool32,
pub blend_overlap: BlendOverlapEXT,
pub clamp_results: Bool32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkColorBlendEquationEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct ColorBlendEquationEXT {
pub src_color_blend_factor: BlendFactor,
pub dst_color_blend_factor: BlendFactor,
pub color_blend_op: BlendOp,
pub src_alpha_blend_factor: BlendFactor,
pub dst_alpha_blend_factor: BlendFactor,
pub alpha_blend_op: BlendOp,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCommandBufferAllocateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct CommandBufferAllocateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub command_pool: CommandPool,
pub level: CommandBufferLevel,
pub command_buffer_count: u32,
}
impl Default for CommandBufferAllocateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::COMMAND_BUFFER_ALLOCATE_INFO,
next: ptr::null(),
command_pool: CommandPool::default(),
level: CommandBufferLevel::default(),
command_buffer_count: u32::default(),
}
}
}
unsafe impl Send for CommandBufferAllocateInfo {}
unsafe impl Sync for CommandBufferAllocateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCommandBufferBeginInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct CommandBufferBeginInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: CommandBufferUsageFlags,
pub inheritance_info: *const CommandBufferInheritanceInfo,
}
impl Default for CommandBufferBeginInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::COMMAND_BUFFER_BEGIN_INFO,
next: ptr::null(),
flags: CommandBufferUsageFlags::default(),
inheritance_info: ptr::null(),
}
}
}
unsafe impl Send for CommandBufferBeginInfo {}
unsafe impl Sync for CommandBufferBeginInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCommandBufferInheritanceConditionalRenderingInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct CommandBufferInheritanceConditionalRenderingInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub conditional_rendering_enable: Bool32,
}
impl Default for CommandBufferInheritanceConditionalRenderingInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT,
next: ptr::null(),
conditional_rendering_enable: Bool32::default(),
}
}
}
unsafe impl Send for CommandBufferInheritanceConditionalRenderingInfoEXT {}
unsafe impl Sync for CommandBufferInheritanceConditionalRenderingInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCommandBufferInheritanceDescriptorHeapInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct CommandBufferInheritanceDescriptorHeapInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub sampler_heap_bind_info: *const BindHeapInfoEXT,
pub resource_heap_bind_info: *const BindHeapInfoEXT,
}
impl Default for CommandBufferInheritanceDescriptorHeapInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::COMMAND_BUFFER_INHERITANCE_DESCRIPTOR_HEAP_INFO_EXT,
next: ptr::null(),
sampler_heap_bind_info: ptr::null(),
resource_heap_bind_info: ptr::null(),
}
}
}
unsafe impl Send for CommandBufferInheritanceDescriptorHeapInfoEXT {}
unsafe impl Sync for CommandBufferInheritanceDescriptorHeapInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCommandBufferInheritanceInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct CommandBufferInheritanceInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub render_pass: RenderPass,
pub subpass: u32,
pub framebuffer: Framebuffer,
pub occlusion_query_enable: Bool32,
pub query_flags: QueryControlFlags,
pub pipeline_statistics: QueryPipelineStatisticFlags,
}
impl Default for CommandBufferInheritanceInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::COMMAND_BUFFER_INHERITANCE_INFO,
next: ptr::null(),
render_pass: RenderPass::default(),
subpass: u32::default(),
framebuffer: Framebuffer::default(),
occlusion_query_enable: Bool32::default(),
query_flags: QueryControlFlags::default(),
pipeline_statistics: QueryPipelineStatisticFlags::default(),
}
}
}
unsafe impl Send for CommandBufferInheritanceInfo {}
unsafe impl Sync for CommandBufferInheritanceInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCommandBufferInheritanceRenderPassTransformInfoQCOM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct CommandBufferInheritanceRenderPassTransformInfoQCOM {
pub s_type: StructureType,
pub next: *const c_void,
pub transform: SurfaceTransformFlagsKHR,
pub render_area: Rect2D,
}
impl Default for CommandBufferInheritanceRenderPassTransformInfoQCOM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM,
next: ptr::null(),
transform: SurfaceTransformFlagsKHR::default(),
render_area: Rect2D::default(),
}
}
}
unsafe impl Send for CommandBufferInheritanceRenderPassTransformInfoQCOM {}
unsafe impl Sync for CommandBufferInheritanceRenderPassTransformInfoQCOM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCommandBufferInheritanceRenderingInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct CommandBufferInheritanceRenderingInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: RenderingFlags,
pub view_mask: u32,
pub color_attachment_count: u32,
pub color_attachment_formats: *const Format,
pub depth_attachment_format: Format,
pub stencil_attachment_format: Format,
pub rasterization_samples: SampleCountFlags,
}
impl Default for CommandBufferInheritanceRenderingInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::COMMAND_BUFFER_INHERITANCE_RENDERING_INFO,
next: ptr::null(),
flags: RenderingFlags::default(),
view_mask: u32::default(),
color_attachment_count: u32::default(),
color_attachment_formats: ptr::null(),
depth_attachment_format: Format::default(),
stencil_attachment_format: Format::default(),
rasterization_samples: SampleCountFlags::default(),
}
}
}
unsafe impl Send for CommandBufferInheritanceRenderingInfo {}
unsafe impl Sync for CommandBufferInheritanceRenderingInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCommandBufferInheritanceViewportScissorInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct CommandBufferInheritanceViewportScissorInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub viewport_scissor_2d: Bool32,
pub viewport_depth_count: u32,
pub viewport_depths: *const Viewport,
}
impl Default for CommandBufferInheritanceViewportScissorInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV,
next: ptr::null(),
viewport_scissor_2d: Bool32::default(),
viewport_depth_count: u32::default(),
viewport_depths: ptr::null(),
}
}
}
unsafe impl Send for CommandBufferInheritanceViewportScissorInfoNV {}
unsafe impl Sync for CommandBufferInheritanceViewportScissorInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCommandBufferSubmitInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct CommandBufferSubmitInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub command_buffer: CommandBuffer,
pub device_mask: u32,
}
impl Default for CommandBufferSubmitInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::COMMAND_BUFFER_SUBMIT_INFO,
next: ptr::null(),
command_buffer: CommandBuffer::default(),
device_mask: u32::default(),
}
}
}
unsafe impl Send for CommandBufferSubmitInfo {}
unsafe impl Sync for CommandBufferSubmitInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCommandPoolCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct CommandPoolCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: CommandPoolCreateFlags,
pub queue_family_index: u32,
}
impl Default for CommandPoolCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::COMMAND_POOL_CREATE_INFO,
next: ptr::null(),
flags: CommandPoolCreateFlags::default(),
queue_family_index: u32::default(),
}
}
}
unsafe impl Send for CommandPoolCreateInfo {}
unsafe impl Sync for CommandPoolCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkComponentMapping.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct ComponentMapping {
pub r: ComponentSwizzle,
pub g: ComponentSwizzle,
pub b: ComponentSwizzle,
pub a: ComponentSwizzle,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkComputeOccupancyPriorityParametersNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct ComputeOccupancyPriorityParametersNV {
pub s_type: StructureType,
pub next: *const c_void,
pub occupancy_priority: f32,
pub occupancy_throttling: f32,
}
impl Default for ComputeOccupancyPriorityParametersNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::COMPUTE_OCCUPANCY_PRIORITY_PARAMETERS_NV,
next: ptr::null(),
occupancy_priority: f32::default(),
occupancy_throttling: f32::default(),
}
}
}
unsafe impl Send for ComputeOccupancyPriorityParametersNV {}
unsafe impl Sync for ComputeOccupancyPriorityParametersNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkComputePipelineCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ComputePipelineCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: PipelineCreateFlags,
pub stage: PipelineShaderStageCreateInfo,
pub layout: PipelineLayout,
pub base_pipeline_handle: Pipeline,
pub base_pipeline_index: i32,
}
impl Default for ComputePipelineCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::COMPUTE_PIPELINE_CREATE_INFO,
next: ptr::null(),
flags: PipelineCreateFlags::default(),
stage: PipelineShaderStageCreateInfo::default(),
layout: PipelineLayout::default(),
base_pipeline_handle: Pipeline::default(),
base_pipeline_index: i32::default(),
}
}
}
unsafe impl Send for ComputePipelineCreateInfo {}
unsafe impl Sync for ComputePipelineCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkComputePipelineIndirectBufferInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ComputePipelineIndirectBufferInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub device_address: DeviceAddress,
pub size: DeviceSize,
pub pipeline_device_address_capture_replay: DeviceAddress,
}
impl Default for ComputePipelineIndirectBufferInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV,
next: ptr::null(),
device_address: DeviceAddress::default(),
size: DeviceSize::default(),
pipeline_device_address_capture_replay: DeviceAddress::default(),
}
}
}
unsafe impl Send for ComputePipelineIndirectBufferInfoNV {}
unsafe impl Sync for ComputePipelineIndirectBufferInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkConditionalRenderingBeginInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ConditionalRenderingBeginInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub buffer: Buffer,
pub offset: DeviceSize,
pub flags: ConditionalRenderingFlagsEXT,
}
impl Default for ConditionalRenderingBeginInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::CONDITIONAL_RENDERING_BEGIN_INFO_EXT,
next: ptr::null(),
buffer: Buffer::default(),
offset: DeviceSize::default(),
flags: ConditionalRenderingFlagsEXT::default(),
}
}
}
unsafe impl Send for ConditionalRenderingBeginInfoEXT {}
unsafe impl Sync for ConditionalRenderingBeginInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkConformanceVersion.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct ConformanceVersion {
pub major: u8,
pub minor: u8,
pub subminor: u8,
pub patch: u8,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkConvertCooperativeVectorMatrixInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug)]
pub struct ConvertCooperativeVectorMatrixInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub src_size: usize,
pub src_data: DeviceOrHostAddressConstKHR,
pub dst_size: *mut usize,
pub dst_data: DeviceOrHostAddressKHR,
pub src_component_type: ComponentTypeKHR,
pub dst_component_type: ComponentTypeKHR,
pub num_rows: u32,
pub num_columns: u32,
pub src_layout: CooperativeVectorMatrixLayoutNV,
pub src_stride: usize,
pub dst_layout: CooperativeVectorMatrixLayoutNV,
pub dst_stride: usize,
}
impl Default for ConvertCooperativeVectorMatrixInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::CONVERT_COOPERATIVE_VECTOR_MATRIX_INFO_NV,
next: ptr::null(),
src_size: usize::default(),
src_data: DeviceOrHostAddressConstKHR::default(),
dst_size: ptr::null_mut(),
dst_data: DeviceOrHostAddressKHR::default(),
src_component_type: ComponentTypeKHR::default(),
dst_component_type: ComponentTypeKHR::default(),
num_rows: u32::default(),
num_columns: u32::default(),
src_layout: CooperativeVectorMatrixLayoutNV::default(),
src_stride: usize::default(),
dst_layout: CooperativeVectorMatrixLayoutNV::default(),
dst_stride: usize::default(),
}
}
}
unsafe impl Send for ConvertCooperativeVectorMatrixInfoNV {}
unsafe impl Sync for ConvertCooperativeVectorMatrixInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCooperativeMatrixFlexibleDimensionsPropertiesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct CooperativeMatrixFlexibleDimensionsPropertiesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub m_granularity: u32,
pub n_granularity: u32,
pub k_granularity: u32,
pub a_type: ComponentTypeKHR,
pub b_type: ComponentTypeKHR,
pub c_type: ComponentTypeKHR,
pub result_type: ComponentTypeKHR,
pub saturating_accumulation: Bool32,
pub scope: ScopeKHR,
pub workgroup_invocations: u32,
}
impl Default for CooperativeMatrixFlexibleDimensionsPropertiesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::COOPERATIVE_MATRIX_FLEXIBLE_DIMENSIONS_PROPERTIES_NV,
next: ptr::null_mut(),
m_granularity: u32::default(),
n_granularity: u32::default(),
k_granularity: u32::default(),
a_type: ComponentTypeKHR::default(),
b_type: ComponentTypeKHR::default(),
c_type: ComponentTypeKHR::default(),
result_type: ComponentTypeKHR::default(),
saturating_accumulation: Bool32::default(),
scope: ScopeKHR::default(),
workgroup_invocations: u32::default(),
}
}
}
unsafe impl Send for CooperativeMatrixFlexibleDimensionsPropertiesNV {}
unsafe impl Sync for CooperativeMatrixFlexibleDimensionsPropertiesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCooperativeMatrixPropertiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct CooperativeMatrixPropertiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub m_size: u32,
pub n_size: u32,
pub k_size: u32,
pub a_type: ComponentTypeKHR,
pub b_type: ComponentTypeKHR,
pub c_type: ComponentTypeKHR,
pub result_type: ComponentTypeKHR,
pub saturating_accumulation: Bool32,
pub scope: ScopeKHR,
}
impl Default for CooperativeMatrixPropertiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::COOPERATIVE_MATRIX_PROPERTIES_KHR,
next: ptr::null_mut(),
m_size: u32::default(),
n_size: u32::default(),
k_size: u32::default(),
a_type: ComponentTypeKHR::default(),
b_type: ComponentTypeKHR::default(),
c_type: ComponentTypeKHR::default(),
result_type: ComponentTypeKHR::default(),
saturating_accumulation: Bool32::default(),
scope: ScopeKHR::default(),
}
}
}
unsafe impl Send for CooperativeMatrixPropertiesKHR {}
unsafe impl Sync for CooperativeMatrixPropertiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCooperativeMatrixPropertiesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct CooperativeMatrixPropertiesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub m_size: u32,
pub n_size: u32,
pub k_size: u32,
pub a_type: ComponentTypeNV,
pub b_type: ComponentTypeNV,
pub c_type: ComponentTypeNV,
pub d_type: ComponentTypeNV,
pub scope: ScopeNV,
}
impl Default for CooperativeMatrixPropertiesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::COOPERATIVE_MATRIX_PROPERTIES_NV,
next: ptr::null_mut(),
m_size: u32::default(),
n_size: u32::default(),
k_size: u32::default(),
a_type: ComponentTypeNV::default(),
b_type: ComponentTypeNV::default(),
c_type: ComponentTypeNV::default(),
d_type: ComponentTypeNV::default(),
scope: ScopeNV::default(),
}
}
}
unsafe impl Send for CooperativeMatrixPropertiesNV {}
unsafe impl Sync for CooperativeMatrixPropertiesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCooperativeVectorPropertiesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct CooperativeVectorPropertiesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub input_type: ComponentTypeKHR,
pub input_interpretation: ComponentTypeKHR,
pub matrix_interpretation: ComponentTypeKHR,
pub bias_interpretation: ComponentTypeKHR,
pub result_type: ComponentTypeKHR,
pub transpose: Bool32,
}
impl Default for CooperativeVectorPropertiesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::COOPERATIVE_VECTOR_PROPERTIES_NV,
next: ptr::null_mut(),
input_type: ComponentTypeKHR::default(),
input_interpretation: ComponentTypeKHR::default(),
matrix_interpretation: ComponentTypeKHR::default(),
bias_interpretation: ComponentTypeKHR::default(),
result_type: ComponentTypeKHR::default(),
transpose: Bool32::default(),
}
}
}
unsafe impl Send for CooperativeVectorPropertiesNV {}
unsafe impl Sync for CooperativeVectorPropertiesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCopyAccelerationStructureInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct CopyAccelerationStructureInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub src: AccelerationStructureKHR,
pub dst: AccelerationStructureKHR,
pub mode: CopyAccelerationStructureModeKHR,
}
impl Default for CopyAccelerationStructureInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::COPY_ACCELERATION_STRUCTURE_INFO_KHR,
next: ptr::null(),
src: AccelerationStructureKHR::default(),
dst: AccelerationStructureKHR::default(),
mode: CopyAccelerationStructureModeKHR::default(),
}
}
}
unsafe impl Send for CopyAccelerationStructureInfoKHR {}
unsafe impl Sync for CopyAccelerationStructureInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCopyAccelerationStructureToMemoryInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug)]
pub struct CopyAccelerationStructureToMemoryInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub src: AccelerationStructureKHR,
pub dst: DeviceOrHostAddressKHR,
pub mode: CopyAccelerationStructureModeKHR,
}
impl Default for CopyAccelerationStructureToMemoryInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR,
next: ptr::null(),
src: AccelerationStructureKHR::default(),
dst: DeviceOrHostAddressKHR::default(),
mode: CopyAccelerationStructureModeKHR::default(),
}
}
}
unsafe impl Send for CopyAccelerationStructureToMemoryInfoKHR {}
unsafe impl Sync for CopyAccelerationStructureToMemoryInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCopyBufferInfo2.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct CopyBufferInfo2 {
pub s_type: StructureType,
pub next: *const c_void,
pub src_buffer: Buffer,
pub dst_buffer: Buffer,
pub region_count: u32,
pub regions: *const BufferCopy2,
}
impl Default for CopyBufferInfo2 {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::COPY_BUFFER_INFO_2,
next: ptr::null(),
src_buffer: Buffer::default(),
dst_buffer: Buffer::default(),
region_count: u32::default(),
regions: ptr::null(),
}
}
}
unsafe impl Send for CopyBufferInfo2 {}
unsafe impl Sync for CopyBufferInfo2 {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCopyBufferToImageInfo2.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct CopyBufferToImageInfo2 {
pub s_type: StructureType,
pub next: *const c_void,
pub src_buffer: Buffer,
pub dst_image: Image,
pub dst_image_layout: ImageLayout,
pub region_count: u32,
pub regions: *const BufferImageCopy2,
}
impl Default for CopyBufferToImageInfo2 {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::COPY_BUFFER_TO_IMAGE_INFO_2,
next: ptr::null(),
src_buffer: Buffer::default(),
dst_image: Image::default(),
dst_image_layout: ImageLayout::default(),
region_count: u32::default(),
regions: ptr::null(),
}
}
}
unsafe impl Send for CopyBufferToImageInfo2 {}
unsafe impl Sync for CopyBufferToImageInfo2 {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCopyCommandTransformInfoQCOM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct CopyCommandTransformInfoQCOM {
pub s_type: StructureType,
pub next: *const c_void,
pub transform: SurfaceTransformFlagsKHR,
}
impl Default for CopyCommandTransformInfoQCOM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::COPY_COMMAND_TRANSFORM_INFO_QCOM,
next: ptr::null(),
transform: SurfaceTransformFlagsKHR::default(),
}
}
}
unsafe impl Send for CopyCommandTransformInfoQCOM {}
unsafe impl Sync for CopyCommandTransformInfoQCOM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCopyDescriptorSet.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct CopyDescriptorSet {
pub s_type: StructureType,
pub next: *const c_void,
pub src_set: DescriptorSet,
pub src_binding: u32,
pub src_array_element: u32,
pub dst_set: DescriptorSet,
pub dst_binding: u32,
pub dst_array_element: u32,
pub descriptor_count: u32,
}
impl Default for CopyDescriptorSet {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::COPY_DESCRIPTOR_SET,
next: ptr::null(),
src_set: DescriptorSet::default(),
src_binding: u32::default(),
src_array_element: u32::default(),
dst_set: DescriptorSet::default(),
dst_binding: u32::default(),
dst_array_element: u32::default(),
descriptor_count: u32::default(),
}
}
}
unsafe impl Send for CopyDescriptorSet {}
unsafe impl Sync for CopyDescriptorSet {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCopyImageInfo2.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct CopyImageInfo2 {
pub s_type: StructureType,
pub next: *const c_void,
pub src_image: Image,
pub src_image_layout: ImageLayout,
pub dst_image: Image,
pub dst_image_layout: ImageLayout,
pub region_count: u32,
pub regions: *const ImageCopy2,
}
impl Default for CopyImageInfo2 {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::COPY_IMAGE_INFO_2,
next: ptr::null(),
src_image: Image::default(),
src_image_layout: ImageLayout::default(),
dst_image: Image::default(),
dst_image_layout: ImageLayout::default(),
region_count: u32::default(),
regions: ptr::null(),
}
}
}
unsafe impl Send for CopyImageInfo2 {}
unsafe impl Sync for CopyImageInfo2 {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCopyImageToBufferInfo2.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct CopyImageToBufferInfo2 {
pub s_type: StructureType,
pub next: *const c_void,
pub src_image: Image,
pub src_image_layout: ImageLayout,
pub dst_buffer: Buffer,
pub region_count: u32,
pub regions: *const BufferImageCopy2,
}
impl Default for CopyImageToBufferInfo2 {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::COPY_IMAGE_TO_BUFFER_INFO_2,
next: ptr::null(),
src_image: Image::default(),
src_image_layout: ImageLayout::default(),
dst_buffer: Buffer::default(),
region_count: u32::default(),
regions: ptr::null(),
}
}
}
unsafe impl Send for CopyImageToBufferInfo2 {}
unsafe impl Sync for CopyImageToBufferInfo2 {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCopyImageToImageInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct CopyImageToImageInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: HostImageCopyFlags,
pub src_image: Image,
pub src_image_layout: ImageLayout,
pub dst_image: Image,
pub dst_image_layout: ImageLayout,
pub region_count: u32,
pub regions: *const ImageCopy2,
}
impl Default for CopyImageToImageInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::COPY_IMAGE_TO_IMAGE_INFO,
next: ptr::null(),
flags: HostImageCopyFlags::default(),
src_image: Image::default(),
src_image_layout: ImageLayout::default(),
dst_image: Image::default(),
dst_image_layout: ImageLayout::default(),
region_count: u32::default(),
regions: ptr::null(),
}
}
}
unsafe impl Send for CopyImageToImageInfo {}
unsafe impl Sync for CopyImageToImageInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCopyImageToMemoryInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct CopyImageToMemoryInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: HostImageCopyFlags,
pub src_image: Image,
pub src_image_layout: ImageLayout,
pub region_count: u32,
pub regions: *const ImageToMemoryCopy,
}
impl Default for CopyImageToMemoryInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::COPY_IMAGE_TO_MEMORY_INFO,
next: ptr::null(),
flags: HostImageCopyFlags::default(),
src_image: Image::default(),
src_image_layout: ImageLayout::default(),
region_count: u32::default(),
regions: ptr::null(),
}
}
}
unsafe impl Send for CopyImageToMemoryInfo {}
unsafe impl Sync for CopyImageToMemoryInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCopyMemoryIndirectCommandKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct CopyMemoryIndirectCommandKHR {
pub src_address: DeviceAddress,
pub dst_address: DeviceAddress,
pub size: DeviceSize,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCopyMemoryIndirectInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct CopyMemoryIndirectInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub src_copy_flags: AddressCopyFlagsKHR,
pub dst_copy_flags: AddressCopyFlagsKHR,
pub copy_count: u32,
pub copy_address_range: StridedDeviceAddressRangeKHR,
}
impl Default for CopyMemoryIndirectInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::COPY_MEMORY_INDIRECT_INFO_KHR,
next: ptr::null(),
src_copy_flags: AddressCopyFlagsKHR::default(),
dst_copy_flags: AddressCopyFlagsKHR::default(),
copy_count: u32::default(),
copy_address_range: StridedDeviceAddressRangeKHR::default(),
}
}
}
unsafe impl Send for CopyMemoryIndirectInfoKHR {}
unsafe impl Sync for CopyMemoryIndirectInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCopyMemoryToAccelerationStructureInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug)]
pub struct CopyMemoryToAccelerationStructureInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub src: DeviceOrHostAddressConstKHR,
pub dst: AccelerationStructureKHR,
pub mode: CopyAccelerationStructureModeKHR,
}
impl Default for CopyMemoryToAccelerationStructureInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR,
next: ptr::null(),
src: DeviceOrHostAddressConstKHR::default(),
dst: AccelerationStructureKHR::default(),
mode: CopyAccelerationStructureModeKHR::default(),
}
}
}
unsafe impl Send for CopyMemoryToAccelerationStructureInfoKHR {}
unsafe impl Sync for CopyMemoryToAccelerationStructureInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCopyMemoryToImageIndirectCommandKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct CopyMemoryToImageIndirectCommandKHR {
pub src_address: DeviceAddress,
pub buffer_row_length: u32,
pub buffer_image_height: u32,
pub image_subresource: ImageSubresourceLayers,
pub image_offset: Offset3D,
pub image_extent: Extent3D,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCopyMemoryToImageIndirectInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct CopyMemoryToImageIndirectInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub src_copy_flags: AddressCopyFlagsKHR,
pub copy_count: u32,
pub copy_address_range: StridedDeviceAddressRangeKHR,
pub dst_image: Image,
pub dst_image_layout: ImageLayout,
pub image_subresources: *const ImageSubresourceLayers,
}
impl Default for CopyMemoryToImageIndirectInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::COPY_MEMORY_TO_IMAGE_INDIRECT_INFO_KHR,
next: ptr::null(),
src_copy_flags: AddressCopyFlagsKHR::default(),
copy_count: u32::default(),
copy_address_range: StridedDeviceAddressRangeKHR::default(),
dst_image: Image::default(),
dst_image_layout: ImageLayout::default(),
image_subresources: ptr::null(),
}
}
}
unsafe impl Send for CopyMemoryToImageIndirectInfoKHR {}
unsafe impl Sync for CopyMemoryToImageIndirectInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCopyMemoryToImageInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct CopyMemoryToImageInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: HostImageCopyFlags,
pub dst_image: Image,
pub dst_image_layout: ImageLayout,
pub region_count: u32,
pub regions: *const MemoryToImageCopy,
}
impl Default for CopyMemoryToImageInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::COPY_MEMORY_TO_IMAGE_INFO,
next: ptr::null(),
flags: HostImageCopyFlags::default(),
dst_image: Image::default(),
dst_image_layout: ImageLayout::default(),
region_count: u32::default(),
regions: ptr::null(),
}
}
}
unsafe impl Send for CopyMemoryToImageInfo {}
unsafe impl Sync for CopyMemoryToImageInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCopyMemoryToMicromapInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug)]
pub struct CopyMemoryToMicromapInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub src: DeviceOrHostAddressConstKHR,
pub dst: MicromapEXT,
pub mode: CopyMicromapModeEXT,
}
impl Default for CopyMemoryToMicromapInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::COPY_MEMORY_TO_MICROMAP_INFO_EXT,
next: ptr::null(),
src: DeviceOrHostAddressConstKHR::default(),
dst: MicromapEXT::default(),
mode: CopyMicromapModeEXT::default(),
}
}
}
unsafe impl Send for CopyMemoryToMicromapInfoEXT {}
unsafe impl Sync for CopyMemoryToMicromapInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCopyMicromapInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct CopyMicromapInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub src: MicromapEXT,
pub dst: MicromapEXT,
pub mode: CopyMicromapModeEXT,
}
impl Default for CopyMicromapInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::COPY_MICROMAP_INFO_EXT,
next: ptr::null(),
src: MicromapEXT::default(),
dst: MicromapEXT::default(),
mode: CopyMicromapModeEXT::default(),
}
}
}
unsafe impl Send for CopyMicromapInfoEXT {}
unsafe impl Sync for CopyMicromapInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCopyMicromapToMemoryInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug)]
pub struct CopyMicromapToMemoryInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub src: MicromapEXT,
pub dst: DeviceOrHostAddressKHR,
pub mode: CopyMicromapModeEXT,
}
impl Default for CopyMicromapToMemoryInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::COPY_MICROMAP_TO_MEMORY_INFO_EXT,
next: ptr::null(),
src: MicromapEXT::default(),
dst: DeviceOrHostAddressKHR::default(),
mode: CopyMicromapModeEXT::default(),
}
}
}
unsafe impl Send for CopyMicromapToMemoryInfoEXT {}
unsafe impl Sync for CopyMicromapToMemoryInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCopyTensorInfoARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct CopyTensorInfoARM {
pub s_type: StructureType,
pub next: *const c_void,
pub src_tensor: TensorARM,
pub dst_tensor: TensorARM,
pub region_count: u32,
pub regions: *const TensorCopyARM,
}
impl Default for CopyTensorInfoARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::COPY_TENSOR_INFO_ARM,
next: ptr::null(),
src_tensor: TensorARM::default(),
dst_tensor: TensorARM::default(),
region_count: u32::default(),
regions: ptr::null(),
}
}
}
unsafe impl Send for CopyTensorInfoARM {}
unsafe impl Sync for CopyTensorInfoARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCuFunctionCreateInfoNVX.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct CuFunctionCreateInfoNVX {
pub s_type: StructureType,
pub next: *const c_void,
pub module: CuModuleNVX,
pub name: *const c_char,
}
impl Default for CuFunctionCreateInfoNVX {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::CU_FUNCTION_CREATE_INFO_NVX,
next: ptr::null(),
module: CuModuleNVX::default(),
name: ptr::null(),
}
}
}
unsafe impl Send for CuFunctionCreateInfoNVX {}
unsafe impl Sync for CuFunctionCreateInfoNVX {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCuLaunchInfoNVX.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct CuLaunchInfoNVX {
pub s_type: StructureType,
pub next: *const c_void,
pub function: CuFunctionNVX,
pub grid_dim_x: u32,
pub grid_dim_y: u32,
pub grid_dim_z: u32,
pub block_dim_x: u32,
pub block_dim_y: u32,
pub block_dim_z: u32,
pub shared_mem_bytes: u32,
pub param_count: usize,
pub params: *const c_void,
pub extra_count: usize,
pub extras: *const c_void,
}
impl Default for CuLaunchInfoNVX {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::CU_LAUNCH_INFO_NVX,
next: ptr::null(),
function: CuFunctionNVX::default(),
grid_dim_x: u32::default(),
grid_dim_y: u32::default(),
grid_dim_z: u32::default(),
block_dim_x: u32::default(),
block_dim_y: u32::default(),
block_dim_z: u32::default(),
shared_mem_bytes: u32::default(),
param_count: usize::default(),
params: ptr::null(),
extra_count: usize::default(),
extras: ptr::null(),
}
}
}
unsafe impl Send for CuLaunchInfoNVX {}
unsafe impl Sync for CuLaunchInfoNVX {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCuModuleCreateInfoNVX.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct CuModuleCreateInfoNVX {
pub s_type: StructureType,
pub next: *const c_void,
pub data_size: usize,
pub data: *const c_void,
}
impl Default for CuModuleCreateInfoNVX {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::CU_MODULE_CREATE_INFO_NVX,
next: ptr::null(),
data_size: usize::default(),
data: ptr::null(),
}
}
}
unsafe impl Send for CuModuleCreateInfoNVX {}
unsafe impl Sync for CuModuleCreateInfoNVX {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCuModuleTexturingModeCreateInfoNVX.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct CuModuleTexturingModeCreateInfoNVX {
pub s_type: StructureType,
pub next: *const c_void,
pub use64bit_texturing: Bool32,
}
impl Default for CuModuleTexturingModeCreateInfoNVX {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::CU_MODULE_TEXTURING_MODE_CREATE_INFO_NVX,
next: ptr::null(),
use64bit_texturing: Bool32::default(),
}
}
}
unsafe impl Send for CuModuleTexturingModeCreateInfoNVX {}
unsafe impl Sync for CuModuleTexturingModeCreateInfoNVX {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCudaFunctionCreateInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct CudaFunctionCreateInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub module: CudaModuleNV,
pub name: *const c_char,
}
impl Default for CudaFunctionCreateInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::CUDA_FUNCTION_CREATE_INFO_NV,
next: ptr::null(),
module: CudaModuleNV::default(),
name: ptr::null(),
}
}
}
unsafe impl Send for CudaFunctionCreateInfoNV {}
unsafe impl Sync for CudaFunctionCreateInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCudaLaunchInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct CudaLaunchInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub function: CudaFunctionNV,
pub grid_dim_x: u32,
pub grid_dim_y: u32,
pub grid_dim_z: u32,
pub block_dim_x: u32,
pub block_dim_y: u32,
pub block_dim_z: u32,
pub shared_mem_bytes: u32,
pub param_count: usize,
pub params: *const c_void,
pub extra_count: usize,
pub extras: *const c_void,
}
impl Default for CudaLaunchInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::CUDA_LAUNCH_INFO_NV,
next: ptr::null(),
function: CudaFunctionNV::default(),
grid_dim_x: u32::default(),
grid_dim_y: u32::default(),
grid_dim_z: u32::default(),
block_dim_x: u32::default(),
block_dim_y: u32::default(),
block_dim_z: u32::default(),
shared_mem_bytes: u32::default(),
param_count: usize::default(),
params: ptr::null(),
extra_count: usize::default(),
extras: ptr::null(),
}
}
}
unsafe impl Send for CudaLaunchInfoNV {}
unsafe impl Sync for CudaLaunchInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCudaModuleCreateInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct CudaModuleCreateInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub data_size: usize,
pub data: *const c_void,
}
impl Default for CudaModuleCreateInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::CUDA_MODULE_CREATE_INFO_NV,
next: ptr::null(),
data_size: usize::default(),
data: ptr::null(),
}
}
}
unsafe impl Send for CudaModuleCreateInfoNV {}
unsafe impl Sync for CudaModuleCreateInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCustomResolveCreateInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct CustomResolveCreateInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub custom_resolve: Bool32,
pub color_attachment_count: u32,
pub color_attachment_formats: *const Format,
pub depth_attachment_format: Format,
pub stencil_attachment_format: Format,
}
impl Default for CustomResolveCreateInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::CUSTOM_RESOLVE_CREATE_INFO_EXT,
next: ptr::null(),
custom_resolve: Bool32::default(),
color_attachment_count: u32::default(),
color_attachment_formats: ptr::null(),
depth_attachment_format: Format::default(),
stencil_attachment_format: Format::default(),
}
}
}
unsafe impl Send for CustomResolveCreateInfoEXT {}
unsafe impl Sync for CustomResolveCreateInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkD3D12FenceSubmitInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct D3D12FenceSubmitInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub wait_semaphore_values_count: u32,
pub wait_semaphore_values: *const u64,
pub signal_semaphore_values_count: u32,
pub signal_semaphore_values: *const u64,
}
impl Default for D3D12FenceSubmitInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::D3D12_FENCE_SUBMIT_INFO_KHR,
next: ptr::null(),
wait_semaphore_values_count: u32::default(),
wait_semaphore_values: ptr::null(),
signal_semaphore_values_count: u32::default(),
signal_semaphore_values: ptr::null(),
}
}
}
unsafe impl Send for D3D12FenceSubmitInfoKHR {}
unsafe impl Sync for D3D12FenceSubmitInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDataGraphPipelineBuiltinModelCreateInfoQCOM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DataGraphPipelineBuiltinModelCreateInfoQCOM {
pub s_type: StructureType,
pub next: *const c_void,
pub operation: *const PhysicalDeviceDataGraphOperationSupportARM,
}
impl Default for DataGraphPipelineBuiltinModelCreateInfoQCOM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DATA_GRAPH_PIPELINE_BUILTIN_MODEL_CREATE_INFO_QCOM,
next: ptr::null(),
operation: ptr::null(),
}
}
}
unsafe impl Send for DataGraphPipelineBuiltinModelCreateInfoQCOM {}
unsafe impl Sync for DataGraphPipelineBuiltinModelCreateInfoQCOM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDataGraphPipelineCompilerControlCreateInfoARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DataGraphPipelineCompilerControlCreateInfoARM {
pub s_type: StructureType,
pub next: *const c_void,
pub vendor_options: *const c_char,
}
impl Default for DataGraphPipelineCompilerControlCreateInfoARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DATA_GRAPH_PIPELINE_COMPILER_CONTROL_CREATE_INFO_ARM,
next: ptr::null(),
vendor_options: ptr::null(),
}
}
}
unsafe impl Send for DataGraphPipelineCompilerControlCreateInfoARM {}
unsafe impl Sync for DataGraphPipelineCompilerControlCreateInfoARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDataGraphPipelineConstantARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DataGraphPipelineConstantARM {
pub s_type: StructureType,
pub next: *const c_void,
pub id: u32,
pub constant_data: *const c_void,
}
impl Default for DataGraphPipelineConstantARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DATA_GRAPH_PIPELINE_CONSTANT_ARM,
next: ptr::null(),
id: u32::default(),
constant_data: ptr::null(),
}
}
}
unsafe impl Send for DataGraphPipelineConstantARM {}
unsafe impl Sync for DataGraphPipelineConstantARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM {
pub s_type: StructureType,
pub next: *const c_void,
pub dimension: u32,
pub zero_count: u32,
pub group_size: u32,
}
impl Default for DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM {
#[inline]
fn default() -> Self {
Self {
s_type:
StructureType::DATA_GRAPH_PIPELINE_CONSTANT_TENSOR_SEMI_STRUCTURED_SPARSITY_INFO_ARM,
next: ptr::null(),
dimension: u32::default(),
zero_count: u32::default(),
group_size: u32::default(),
}
}
}
unsafe impl Send for DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM {}
unsafe impl Sync for DataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDataGraphPipelineCreateInfoARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DataGraphPipelineCreateInfoARM {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: PipelineCreateFlags2KHR,
pub layout: PipelineLayout,
pub resource_info_count: u32,
pub resource_infos: *const DataGraphPipelineResourceInfoARM,
}
impl Default for DataGraphPipelineCreateInfoARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DATA_GRAPH_PIPELINE_CREATE_INFO_ARM,
next: ptr::null(),
flags: PipelineCreateFlags2KHR::default(),
layout: PipelineLayout::default(),
resource_info_count: u32::default(),
resource_infos: ptr::null(),
}
}
}
unsafe impl Send for DataGraphPipelineCreateInfoARM {}
unsafe impl Sync for DataGraphPipelineCreateInfoARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDataGraphPipelineDispatchInfoARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DataGraphPipelineDispatchInfoARM {
pub s_type: StructureType,
pub next: *mut c_void,
pub flags: DataGraphPipelineDispatchFlagsARM,
}
impl Default for DataGraphPipelineDispatchInfoARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DATA_GRAPH_PIPELINE_DISPATCH_INFO_ARM,
next: ptr::null_mut(),
flags: DataGraphPipelineDispatchFlagsARM::default(),
}
}
}
unsafe impl Send for DataGraphPipelineDispatchInfoARM {}
unsafe impl Sync for DataGraphPipelineDispatchInfoARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDataGraphPipelineIdentifierCreateInfoARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DataGraphPipelineIdentifierCreateInfoARM {
pub s_type: StructureType,
pub next: *const c_void,
pub identifier_size: u32,
pub identifier: *const u8,
}
impl Default for DataGraphPipelineIdentifierCreateInfoARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DATA_GRAPH_PIPELINE_IDENTIFIER_CREATE_INFO_ARM,
next: ptr::null(),
identifier_size: u32::default(),
identifier: ptr::null(),
}
}
}
unsafe impl Send for DataGraphPipelineIdentifierCreateInfoARM {}
unsafe impl Sync for DataGraphPipelineIdentifierCreateInfoARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDataGraphPipelineInfoARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DataGraphPipelineInfoARM {
pub s_type: StructureType,
pub next: *const c_void,
pub data_graph_pipeline: Pipeline,
}
impl Default for DataGraphPipelineInfoARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DATA_GRAPH_PIPELINE_INFO_ARM,
next: ptr::null(),
data_graph_pipeline: Pipeline::default(),
}
}
}
unsafe impl Send for DataGraphPipelineInfoARM {}
unsafe impl Sync for DataGraphPipelineInfoARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDataGraphPipelinePropertyQueryResultARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DataGraphPipelinePropertyQueryResultARM {
pub s_type: StructureType,
pub next: *mut c_void,
pub property: DataGraphPipelinePropertyARM,
pub is_text: Bool32,
pub data_size: usize,
pub data: *mut c_void,
}
impl Default for DataGraphPipelinePropertyQueryResultARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DATA_GRAPH_PIPELINE_PROPERTY_QUERY_RESULT_ARM,
next: ptr::null_mut(),
property: DataGraphPipelinePropertyARM::default(),
is_text: Bool32::default(),
data_size: usize::default(),
data: ptr::null_mut(),
}
}
}
unsafe impl Send for DataGraphPipelinePropertyQueryResultARM {}
unsafe impl Sync for DataGraphPipelinePropertyQueryResultARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDataGraphPipelineResourceInfoARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DataGraphPipelineResourceInfoARM {
pub s_type: StructureType,
pub next: *const c_void,
pub descriptor_set: u32,
pub binding: u32,
pub array_element: u32,
}
impl Default for DataGraphPipelineResourceInfoARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DATA_GRAPH_PIPELINE_RESOURCE_INFO_ARM,
next: ptr::null(),
descriptor_set: u32::default(),
binding: u32::default(),
array_element: u32::default(),
}
}
}
unsafe impl Send for DataGraphPipelineResourceInfoARM {}
unsafe impl Sync for DataGraphPipelineResourceInfoARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDataGraphPipelineSessionBindPointRequirementARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DataGraphPipelineSessionBindPointRequirementARM {
pub s_type: StructureType,
pub next: *mut c_void,
pub bind_point: DataGraphPipelineSessionBindPointARM,
pub bind_point_type: DataGraphPipelineSessionBindPointTypeARM,
pub num_objects: u32,
}
impl Default for DataGraphPipelineSessionBindPointRequirementARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_REQUIREMENT_ARM,
next: ptr::null_mut(),
bind_point: DataGraphPipelineSessionBindPointARM::default(),
bind_point_type: DataGraphPipelineSessionBindPointTypeARM::default(),
num_objects: u32::default(),
}
}
}
unsafe impl Send for DataGraphPipelineSessionBindPointRequirementARM {}
unsafe impl Sync for DataGraphPipelineSessionBindPointRequirementARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDataGraphPipelineSessionBindPointRequirementsInfoARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DataGraphPipelineSessionBindPointRequirementsInfoARM {
pub s_type: StructureType,
pub next: *const c_void,
pub session: DataGraphPipelineSessionARM,
}
impl Default for DataGraphPipelineSessionBindPointRequirementsInfoARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_REQUIREMENTS_INFO_ARM,
next: ptr::null(),
session: DataGraphPipelineSessionARM::default(),
}
}
}
unsafe impl Send for DataGraphPipelineSessionBindPointRequirementsInfoARM {}
unsafe impl Sync for DataGraphPipelineSessionBindPointRequirementsInfoARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDataGraphPipelineSessionCreateInfoARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DataGraphPipelineSessionCreateInfoARM {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: DataGraphPipelineSessionCreateFlagsARM,
pub data_graph_pipeline: Pipeline,
}
impl Default for DataGraphPipelineSessionCreateInfoARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DATA_GRAPH_PIPELINE_SESSION_CREATE_INFO_ARM,
next: ptr::null(),
flags: DataGraphPipelineSessionCreateFlagsARM::default(),
data_graph_pipeline: Pipeline::default(),
}
}
}
unsafe impl Send for DataGraphPipelineSessionCreateInfoARM {}
unsafe impl Sync for DataGraphPipelineSessionCreateInfoARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDataGraphPipelineSessionMemoryRequirementsInfoARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DataGraphPipelineSessionMemoryRequirementsInfoARM {
pub s_type: StructureType,
pub next: *const c_void,
pub session: DataGraphPipelineSessionARM,
pub bind_point: DataGraphPipelineSessionBindPointARM,
pub object_index: u32,
}
impl Default for DataGraphPipelineSessionMemoryRequirementsInfoARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DATA_GRAPH_PIPELINE_SESSION_MEMORY_REQUIREMENTS_INFO_ARM,
next: ptr::null(),
session: DataGraphPipelineSessionARM::default(),
bind_point: DataGraphPipelineSessionBindPointARM::default(),
object_index: u32::default(),
}
}
}
unsafe impl Send for DataGraphPipelineSessionMemoryRequirementsInfoARM {}
unsafe impl Sync for DataGraphPipelineSessionMemoryRequirementsInfoARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDataGraphPipelineShaderModuleCreateInfoARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DataGraphPipelineShaderModuleCreateInfoARM {
pub s_type: StructureType,
pub next: *const c_void,
pub module: ShaderModule,
pub name: *const c_char,
pub specialization_info: *const SpecializationInfo,
pub constant_count: u32,
pub constants: *const DataGraphPipelineConstantARM,
}
impl Default for DataGraphPipelineShaderModuleCreateInfoARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DATA_GRAPH_PIPELINE_SHADER_MODULE_CREATE_INFO_ARM,
next: ptr::null(),
module: ShaderModule::default(),
name: ptr::null(),
specialization_info: ptr::null(),
constant_count: u32::default(),
constants: ptr::null(),
}
}
}
unsafe impl Send for DataGraphPipelineShaderModuleCreateInfoARM {}
unsafe impl Sync for DataGraphPipelineShaderModuleCreateInfoARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDataGraphProcessingEngineCreateInfoARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DataGraphProcessingEngineCreateInfoARM {
pub s_type: StructureType,
pub next: *const c_void,
pub processing_engine_count: u32,
pub processing_engines: *mut PhysicalDeviceDataGraphProcessingEngineARM,
}
impl Default for DataGraphProcessingEngineCreateInfoARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DATA_GRAPH_PROCESSING_ENGINE_CREATE_INFO_ARM,
next: ptr::null(),
processing_engine_count: u32::default(),
processing_engines: ptr::null_mut(),
}
}
}
unsafe impl Send for DataGraphProcessingEngineCreateInfoARM {}
unsafe impl Sync for DataGraphProcessingEngineCreateInfoARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDebugMarkerMarkerInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct DebugMarkerMarkerInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub marker_name: *const c_char,
pub color: [f32; 4],
}
impl Default for DebugMarkerMarkerInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DEBUG_MARKER_MARKER_INFO_EXT,
next: ptr::null(),
marker_name: ptr::null(),
color: [f32::default(); 4],
}
}
}
unsafe impl Send for DebugMarkerMarkerInfoEXT {}
unsafe impl Sync for DebugMarkerMarkerInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDebugMarkerObjectNameInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DebugMarkerObjectNameInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub object_type: DebugReportObjectTypeEXT,
pub object: u64,
pub object_name: *const c_char,
}
impl Default for DebugMarkerObjectNameInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DEBUG_MARKER_OBJECT_NAME_INFO_EXT,
next: ptr::null(),
object_type: DebugReportObjectTypeEXT::default(),
object: u64::default(),
object_name: ptr::null(),
}
}
}
unsafe impl Send for DebugMarkerObjectNameInfoEXT {}
unsafe impl Sync for DebugMarkerObjectNameInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDebugMarkerObjectTagInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DebugMarkerObjectTagInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub object_type: DebugReportObjectTypeEXT,
pub object: u64,
pub tag_name: u64,
pub tag_size: usize,
pub tag: *const c_void,
}
impl Default for DebugMarkerObjectTagInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DEBUG_MARKER_OBJECT_TAG_INFO_EXT,
next: ptr::null(),
object_type: DebugReportObjectTypeEXT::default(),
object: u64::default(),
tag_name: u64::default(),
tag_size: usize::default(),
tag: ptr::null(),
}
}
}
unsafe impl Send for DebugMarkerObjectTagInfoEXT {}
unsafe impl Sync for DebugMarkerObjectTagInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDebugReportCallbackCreateInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone)]
pub struct DebugReportCallbackCreateInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: DebugReportFlagsEXT,
pub callback: PFN_vkDebugReportCallbackEXT,
pub user_data: *mut c_void,
}
impl fmt::Debug for DebugReportCallbackCreateInfoEXT {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.debug_struct("DebugReportCallbackCreateInfoEXT")
.field("s_type", &self.s_type)
.field("next", &self.next)
.field("flags", &self.flags)
.field("callback", &(self.callback.map(|f| f as *const u8)))
.field("user_data", &self.user_data)
.finish()
}
}
impl Default for DebugReportCallbackCreateInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
next: ptr::null(),
flags: DebugReportFlagsEXT::default(),
callback: PFN_vkDebugReportCallbackEXT::default(),
user_data: ptr::null_mut(),
}
}
}
unsafe impl Send for DebugReportCallbackCreateInfoEXT {}
unsafe impl Sync for DebugReportCallbackCreateInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDebugUtilsLabelEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct DebugUtilsLabelEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub label_name: *const c_char,
pub color: [f32; 4],
}
impl Default for DebugUtilsLabelEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DEBUG_UTILS_LABEL_EXT,
next: ptr::null(),
label_name: ptr::null(),
color: [f32::default(); 4],
}
}
}
unsafe impl Send for DebugUtilsLabelEXT {}
unsafe impl Sync for DebugUtilsLabelEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDebugUtilsMessengerCallbackDataEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DebugUtilsMessengerCallbackDataEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: DebugUtilsMessengerCallbackDataFlagsEXT,
pub message_id_name: *const c_char,
pub message_id_number: i32,
pub message: *const c_char,
pub queue_label_count: u32,
pub queue_labels: *const DebugUtilsLabelEXT,
pub cmd_buf_label_count: u32,
pub cmd_buf_labels: *const DebugUtilsLabelEXT,
pub object_count: u32,
pub objects: *const DebugUtilsObjectNameInfoEXT,
}
impl Default for DebugUtilsMessengerCallbackDataEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT,
next: ptr::null(),
flags: DebugUtilsMessengerCallbackDataFlagsEXT::default(),
message_id_name: ptr::null(),
message_id_number: i32::default(),
message: ptr::null(),
queue_label_count: u32::default(),
queue_labels: ptr::null(),
cmd_buf_label_count: u32::default(),
cmd_buf_labels: ptr::null(),
object_count: u32::default(),
objects: ptr::null(),
}
}
}
unsafe impl Send for DebugUtilsMessengerCallbackDataEXT {}
unsafe impl Sync for DebugUtilsMessengerCallbackDataEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDebugUtilsMessengerCreateInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone)]
pub struct DebugUtilsMessengerCreateInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: DebugUtilsMessengerCreateFlagsEXT,
pub message_severity: DebugUtilsMessageSeverityFlagsEXT,
pub message_type: DebugUtilsMessageTypeFlagsEXT,
pub user_callback: PFN_vkDebugUtilsMessengerCallbackEXT,
pub user_data: *mut c_void,
}
impl fmt::Debug for DebugUtilsMessengerCreateInfoEXT {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.debug_struct("DebugUtilsMessengerCreateInfoEXT")
.field("s_type", &self.s_type)
.field("next", &self.next)
.field("flags", &self.flags)
.field("message_severity", &self.message_severity)
.field("message_type", &self.message_type)
.field(
"user_callback",
&(self.user_callback.map(|f| f as *const u8)),
)
.field("user_data", &self.user_data)
.finish()
}
}
impl Default for DebugUtilsMessengerCreateInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT,
next: ptr::null(),
flags: DebugUtilsMessengerCreateFlagsEXT::default(),
message_severity: DebugUtilsMessageSeverityFlagsEXT::default(),
message_type: DebugUtilsMessageTypeFlagsEXT::default(),
user_callback: PFN_vkDebugUtilsMessengerCallbackEXT::default(),
user_data: ptr::null_mut(),
}
}
}
unsafe impl Send for DebugUtilsMessengerCreateInfoEXT {}
unsafe impl Sync for DebugUtilsMessengerCreateInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDebugUtilsObjectNameInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DebugUtilsObjectNameInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub object_type: ObjectType,
pub object_handle: u64,
pub object_name: *const c_char,
}
impl Default for DebugUtilsObjectNameInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DEBUG_UTILS_OBJECT_NAME_INFO_EXT,
next: ptr::null(),
object_type: ObjectType::default(),
object_handle: u64::default(),
object_name: ptr::null(),
}
}
}
unsafe impl Send for DebugUtilsObjectNameInfoEXT {}
unsafe impl Sync for DebugUtilsObjectNameInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDebugUtilsObjectTagInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DebugUtilsObjectTagInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub object_type: ObjectType,
pub object_handle: u64,
pub tag_name: u64,
pub tag_size: usize,
pub tag: *const c_void,
}
impl Default for DebugUtilsObjectTagInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DEBUG_UTILS_OBJECT_TAG_INFO_EXT,
next: ptr::null(),
object_type: ObjectType::default(),
object_handle: u64::default(),
tag_name: u64::default(),
tag_size: usize::default(),
tag: ptr::null(),
}
}
}
unsafe impl Send for DebugUtilsObjectTagInfoEXT {}
unsafe impl Sync for DebugUtilsObjectTagInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDecompressMemoryInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DecompressMemoryInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub decompression_method: MemoryDecompressionMethodFlagsEXT,
pub region_count: u32,
pub regions: *const DecompressMemoryRegionEXT,
}
impl Default for DecompressMemoryInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DECOMPRESS_MEMORY_INFO_EXT,
next: ptr::null(),
decompression_method: MemoryDecompressionMethodFlagsEXT::default(),
region_count: u32::default(),
regions: ptr::null(),
}
}
}
unsafe impl Send for DecompressMemoryInfoEXT {}
unsafe impl Sync for DecompressMemoryInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDecompressMemoryRegionEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct DecompressMemoryRegionEXT {
pub src_address: DeviceAddress,
pub dst_address: DeviceAddress,
pub compressed_size: DeviceSize,
pub decompressed_size: DeviceSize,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDecompressMemoryRegionNV.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct DecompressMemoryRegionNV {
pub src_address: DeviceAddress,
pub dst_address: DeviceAddress,
pub compressed_size: DeviceSize,
pub decompressed_size: DeviceSize,
pub decompression_method: MemoryDecompressionMethodFlagsNV,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDedicatedAllocationBufferCreateInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DedicatedAllocationBufferCreateInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub dedicated_allocation: Bool32,
}
impl Default for DedicatedAllocationBufferCreateInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV,
next: ptr::null(),
dedicated_allocation: Bool32::default(),
}
}
}
unsafe impl Send for DedicatedAllocationBufferCreateInfoNV {}
unsafe impl Sync for DedicatedAllocationBufferCreateInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDedicatedAllocationImageCreateInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DedicatedAllocationImageCreateInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub dedicated_allocation: Bool32,
}
impl Default for DedicatedAllocationImageCreateInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV,
next: ptr::null(),
dedicated_allocation: Bool32::default(),
}
}
}
unsafe impl Send for DedicatedAllocationImageCreateInfoNV {}
unsafe impl Sync for DedicatedAllocationImageCreateInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDedicatedAllocationMemoryAllocateInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DedicatedAllocationMemoryAllocateInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub image: Image,
pub buffer: Buffer,
}
impl Default for DedicatedAllocationMemoryAllocateInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV,
next: ptr::null(),
image: Image::default(),
buffer: Buffer::default(),
}
}
}
unsafe impl Send for DedicatedAllocationMemoryAllocateInfoNV {}
unsafe impl Sync for DedicatedAllocationMemoryAllocateInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDependencyInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DependencyInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub dependency_flags: DependencyFlags,
pub memory_barrier_count: u32,
pub memory_barriers: *const MemoryBarrier2,
pub buffer_memory_barrier_count: u32,
pub buffer_memory_barriers: *const BufferMemoryBarrier2,
pub image_memory_barrier_count: u32,
pub image_memory_barriers: *const ImageMemoryBarrier2,
}
impl Default for DependencyInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DEPENDENCY_INFO,
next: ptr::null(),
dependency_flags: DependencyFlags::default(),
memory_barrier_count: u32::default(),
memory_barriers: ptr::null(),
buffer_memory_barrier_count: u32::default(),
buffer_memory_barriers: ptr::null(),
image_memory_barrier_count: u32::default(),
image_memory_barriers: ptr::null(),
}
}
}
unsafe impl Send for DependencyInfo {}
unsafe impl Sync for DependencyInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDepthBiasInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct DepthBiasInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub depth_bias_constant_factor: f32,
pub depth_bias_clamp: f32,
pub depth_bias_slope_factor: f32,
}
impl Default for DepthBiasInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DEPTH_BIAS_INFO_EXT,
next: ptr::null(),
depth_bias_constant_factor: f32::default(),
depth_bias_clamp: f32::default(),
depth_bias_slope_factor: f32::default(),
}
}
}
unsafe impl Send for DepthBiasInfoEXT {}
unsafe impl Sync for DepthBiasInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDepthBiasRepresentationInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DepthBiasRepresentationInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub depth_bias_representation: DepthBiasRepresentationEXT,
pub depth_bias_exact: Bool32,
}
impl Default for DepthBiasRepresentationInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DEPTH_BIAS_REPRESENTATION_INFO_EXT,
next: ptr::null(),
depth_bias_representation: DepthBiasRepresentationEXT::default(),
depth_bias_exact: Bool32::default(),
}
}
}
unsafe impl Send for DepthBiasRepresentationInfoEXT {}
unsafe impl Sync for DepthBiasRepresentationInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDepthClampRangeEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, PartialEq)]
pub struct DepthClampRangeEXT {
pub min_depth_clamp: f32,
pub max_depth_clamp: f32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDescriptorAddressInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DescriptorAddressInfoEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub address: DeviceAddress,
pub range: DeviceSize,
pub format: Format,
}
impl Default for DescriptorAddressInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DESCRIPTOR_ADDRESS_INFO_EXT,
next: ptr::null_mut(),
address: DeviceAddress::default(),
range: DeviceSize::default(),
format: Format::default(),
}
}
}
unsafe impl Send for DescriptorAddressInfoEXT {}
unsafe impl Sync for DescriptorAddressInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDescriptorBufferBindingInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DescriptorBufferBindingInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub address: DeviceAddress,
pub usage: BufferUsageFlags,
}
impl Default for DescriptorBufferBindingInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DESCRIPTOR_BUFFER_BINDING_INFO_EXT,
next: ptr::null(),
address: DeviceAddress::default(),
usage: BufferUsageFlags::default(),
}
}
}
unsafe impl Send for DescriptorBufferBindingInfoEXT {}
unsafe impl Sync for DescriptorBufferBindingInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDescriptorBufferBindingPushDescriptorBufferHandleEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DescriptorBufferBindingPushDescriptorBufferHandleEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub buffer: Buffer,
}
impl Default for DescriptorBufferBindingPushDescriptorBufferHandleEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT,
next: ptr::null(),
buffer: Buffer::default(),
}
}
}
unsafe impl Send for DescriptorBufferBindingPushDescriptorBufferHandleEXT {}
unsafe impl Sync for DescriptorBufferBindingPushDescriptorBufferHandleEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDescriptorBufferInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct DescriptorBufferInfo {
pub buffer: Buffer,
pub offset: DeviceSize,
pub range: DeviceSize,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDescriptorGetInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug)]
pub struct DescriptorGetInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub type_: DescriptorType,
pub data: DescriptorDataEXT,
}
impl Default for DescriptorGetInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DESCRIPTOR_GET_INFO_EXT,
next: ptr::null(),
type_: DescriptorType::default(),
data: DescriptorDataEXT::default(),
}
}
}
unsafe impl Send for DescriptorGetInfoEXT {}
unsafe impl Sync for DescriptorGetInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDescriptorGetTensorInfoARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DescriptorGetTensorInfoARM {
pub s_type: StructureType,
pub next: *const c_void,
pub tensor_view: TensorViewARM,
}
impl Default for DescriptorGetTensorInfoARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DESCRIPTOR_GET_TENSOR_INFO_ARM,
next: ptr::null(),
tensor_view: TensorViewARM::default(),
}
}
}
unsafe impl Send for DescriptorGetTensorInfoARM {}
unsafe impl Sync for DescriptorGetTensorInfoARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDescriptorImageInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct DescriptorImageInfo {
pub sampler: Sampler,
pub image_view: ImageView,
pub image_layout: ImageLayout,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDescriptorMappingSourceConstantOffsetEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DescriptorMappingSourceConstantOffsetEXT {
pub heap_offset: u32,
pub heap_array_stride: u32,
pub embedded_sampler: *const SamplerCreateInfo,
pub sampler_heap_offset: u32,
pub sampler_heap_array_stride: u32,
}
impl Default for DescriptorMappingSourceConstantOffsetEXT {
#[inline]
fn default() -> Self {
Self {
heap_offset: u32::default(),
heap_array_stride: u32::default(),
embedded_sampler: ptr::null(),
sampler_heap_offset: u32::default(),
sampler_heap_array_stride: u32::default(),
}
}
}
unsafe impl Send for DescriptorMappingSourceConstantOffsetEXT {}
unsafe impl Sync for DescriptorMappingSourceConstantOffsetEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDescriptorMappingSourceHeapDataEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct DescriptorMappingSourceHeapDataEXT {
pub heap_offset: u32,
pub push_offset: u32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDescriptorMappingSourceIndirectAddressEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct DescriptorMappingSourceIndirectAddressEXT {
pub push_offset: u32,
pub address_offset: u32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDescriptorMappingSourceIndirectIndexArrayEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DescriptorMappingSourceIndirectIndexArrayEXT {
pub heap_offset: u32,
pub push_offset: u32,
pub address_offset: u32,
pub heap_index_stride: u32,
pub embedded_sampler: *const SamplerCreateInfo,
pub use_combined_image_sampler_index: Bool32,
pub sampler_heap_offset: u32,
pub sampler_push_offset: u32,
pub sampler_address_offset: u32,
pub sampler_heap_index_stride: u32,
}
impl Default for DescriptorMappingSourceIndirectIndexArrayEXT {
#[inline]
fn default() -> Self {
Self {
heap_offset: u32::default(),
push_offset: u32::default(),
address_offset: u32::default(),
heap_index_stride: u32::default(),
embedded_sampler: ptr::null(),
use_combined_image_sampler_index: Bool32::default(),
sampler_heap_offset: u32::default(),
sampler_push_offset: u32::default(),
sampler_address_offset: u32::default(),
sampler_heap_index_stride: u32::default(),
}
}
}
unsafe impl Send for DescriptorMappingSourceIndirectIndexArrayEXT {}
unsafe impl Sync for DescriptorMappingSourceIndirectIndexArrayEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDescriptorMappingSourceIndirectIndexEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DescriptorMappingSourceIndirectIndexEXT {
pub heap_offset: u32,
pub push_offset: u32,
pub address_offset: u32,
pub heap_index_stride: u32,
pub heap_array_stride: u32,
pub embedded_sampler: *const SamplerCreateInfo,
pub use_combined_image_sampler_index: Bool32,
pub sampler_heap_offset: u32,
pub sampler_push_offset: u32,
pub sampler_address_offset: u32,
pub sampler_heap_index_stride: u32,
pub sampler_heap_array_stride: u32,
}
impl Default for DescriptorMappingSourceIndirectIndexEXT {
#[inline]
fn default() -> Self {
Self {
heap_offset: u32::default(),
push_offset: u32::default(),
address_offset: u32::default(),
heap_index_stride: u32::default(),
heap_array_stride: u32::default(),
embedded_sampler: ptr::null(),
use_combined_image_sampler_index: Bool32::default(),
sampler_heap_offset: u32::default(),
sampler_push_offset: u32::default(),
sampler_address_offset: u32::default(),
sampler_heap_index_stride: u32::default(),
sampler_heap_array_stride: u32::default(),
}
}
}
unsafe impl Send for DescriptorMappingSourceIndirectIndexEXT {}
unsafe impl Sync for DescriptorMappingSourceIndirectIndexEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDescriptorMappingSourcePushIndexEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DescriptorMappingSourcePushIndexEXT {
pub heap_offset: u32,
pub push_offset: u32,
pub heap_index_stride: u32,
pub heap_array_stride: u32,
pub embedded_sampler: *const SamplerCreateInfo,
pub use_combined_image_sampler_index: Bool32,
pub sampler_heap_offset: u32,
pub sampler_push_offset: u32,
pub sampler_heap_index_stride: u32,
pub sampler_heap_array_stride: u32,
}
impl Default for DescriptorMappingSourcePushIndexEXT {
#[inline]
fn default() -> Self {
Self {
heap_offset: u32::default(),
push_offset: u32::default(),
heap_index_stride: u32::default(),
heap_array_stride: u32::default(),
embedded_sampler: ptr::null(),
use_combined_image_sampler_index: Bool32::default(),
sampler_heap_offset: u32::default(),
sampler_push_offset: u32::default(),
sampler_heap_index_stride: u32::default(),
sampler_heap_array_stride: u32::default(),
}
}
}
unsafe impl Send for DescriptorMappingSourcePushIndexEXT {}
unsafe impl Sync for DescriptorMappingSourcePushIndexEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDescriptorMappingSourceShaderRecordIndexEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DescriptorMappingSourceShaderRecordIndexEXT {
pub heap_offset: u32,
pub shader_record_offset: u32,
pub heap_index_stride: u32,
pub heap_array_stride: u32,
pub embedded_sampler: *const SamplerCreateInfo,
pub use_combined_image_sampler_index: Bool32,
pub sampler_heap_offset: u32,
pub sampler_shader_record_offset: u32,
pub sampler_heap_index_stride: u32,
pub sampler_heap_array_stride: u32,
}
impl Default for DescriptorMappingSourceShaderRecordIndexEXT {
#[inline]
fn default() -> Self {
Self {
heap_offset: u32::default(),
shader_record_offset: u32::default(),
heap_index_stride: u32::default(),
heap_array_stride: u32::default(),
embedded_sampler: ptr::null(),
use_combined_image_sampler_index: Bool32::default(),
sampler_heap_offset: u32::default(),
sampler_shader_record_offset: u32::default(),
sampler_heap_index_stride: u32::default(),
sampler_heap_array_stride: u32::default(),
}
}
}
unsafe impl Send for DescriptorMappingSourceShaderRecordIndexEXT {}
unsafe impl Sync for DescriptorMappingSourceShaderRecordIndexEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDescriptorPoolCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DescriptorPoolCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: DescriptorPoolCreateFlags,
pub max_sets: u32,
pub pool_size_count: u32,
pub pool_sizes: *const DescriptorPoolSize,
}
impl Default for DescriptorPoolCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DESCRIPTOR_POOL_CREATE_INFO,
next: ptr::null(),
flags: DescriptorPoolCreateFlags::default(),
max_sets: u32::default(),
pool_size_count: u32::default(),
pool_sizes: ptr::null(),
}
}
}
unsafe impl Send for DescriptorPoolCreateInfo {}
unsafe impl Sync for DescriptorPoolCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDescriptorPoolInlineUniformBlockCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DescriptorPoolInlineUniformBlockCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub max_inline_uniform_block_bindings: u32,
}
impl Default for DescriptorPoolInlineUniformBlockCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO,
next: ptr::null(),
max_inline_uniform_block_bindings: u32::default(),
}
}
}
unsafe impl Send for DescriptorPoolInlineUniformBlockCreateInfo {}
unsafe impl Sync for DescriptorPoolInlineUniformBlockCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDescriptorPoolSize.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct DescriptorPoolSize {
pub type_: DescriptorType,
pub descriptor_count: u32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDescriptorSetAllocateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DescriptorSetAllocateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub descriptor_pool: DescriptorPool,
pub descriptor_set_count: u32,
pub set_layouts: *const DescriptorSetLayout,
}
impl Default for DescriptorSetAllocateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DESCRIPTOR_SET_ALLOCATE_INFO,
next: ptr::null(),
descriptor_pool: DescriptorPool::default(),
descriptor_set_count: u32::default(),
set_layouts: ptr::null(),
}
}
}
unsafe impl Send for DescriptorSetAllocateInfo {}
unsafe impl Sync for DescriptorSetAllocateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDescriptorSetAndBindingMappingEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug)]
pub struct DescriptorSetAndBindingMappingEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub descriptor_set: u32,
pub first_binding: u32,
pub binding_count: u32,
pub resource_mask: SpirvResourceTypeFlagsEXT,
pub source: DescriptorMappingSourceEXT,
pub source_data: DescriptorMappingSourceDataEXT,
}
impl Default for DescriptorSetAndBindingMappingEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DESCRIPTOR_SET_AND_BINDING_MAPPING_EXT,
next: ptr::null(),
descriptor_set: u32::default(),
first_binding: u32::default(),
binding_count: u32::default(),
resource_mask: SpirvResourceTypeFlagsEXT::default(),
source: DescriptorMappingSourceEXT::default(),
source_data: DescriptorMappingSourceDataEXT::default(),
}
}
}
unsafe impl Send for DescriptorSetAndBindingMappingEXT {}
unsafe impl Sync for DescriptorSetAndBindingMappingEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDescriptorSetBindingReferenceVALVE.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DescriptorSetBindingReferenceVALVE {
pub s_type: StructureType,
pub next: *const c_void,
pub descriptor_set_layout: DescriptorSetLayout,
pub binding: u32,
}
impl Default for DescriptorSetBindingReferenceVALVE {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DESCRIPTOR_SET_BINDING_REFERENCE_VALVE,
next: ptr::null(),
descriptor_set_layout: DescriptorSetLayout::default(),
binding: u32::default(),
}
}
}
unsafe impl Send for DescriptorSetBindingReferenceVALVE {}
unsafe impl Sync for DescriptorSetBindingReferenceVALVE {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDescriptorSetLayoutBinding.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DescriptorSetLayoutBinding {
pub binding: u32,
pub descriptor_type: DescriptorType,
pub descriptor_count: u32,
pub stage_flags: ShaderStageFlags,
pub immutable_samplers: *const Sampler,
}
impl Default for DescriptorSetLayoutBinding {
#[inline]
fn default() -> Self {
Self {
binding: u32::default(),
descriptor_type: DescriptorType::default(),
descriptor_count: u32::default(),
stage_flags: ShaderStageFlags::default(),
immutable_samplers: ptr::null(),
}
}
}
unsafe impl Send for DescriptorSetLayoutBinding {}
unsafe impl Sync for DescriptorSetLayoutBinding {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDescriptorSetLayoutBindingFlagsCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DescriptorSetLayoutBindingFlagsCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub binding_count: u32,
pub binding_flags: *const DescriptorBindingFlags,
}
impl Default for DescriptorSetLayoutBindingFlagsCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO,
next: ptr::null(),
binding_count: u32::default(),
binding_flags: ptr::null(),
}
}
}
unsafe impl Send for DescriptorSetLayoutBindingFlagsCreateInfo {}
unsafe impl Sync for DescriptorSetLayoutBindingFlagsCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDescriptorSetLayoutCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DescriptorSetLayoutCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: DescriptorSetLayoutCreateFlags,
pub binding_count: u32,
pub bindings: *const DescriptorSetLayoutBinding,
}
impl Default for DescriptorSetLayoutCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DESCRIPTOR_SET_LAYOUT_CREATE_INFO,
next: ptr::null(),
flags: DescriptorSetLayoutCreateFlags::default(),
binding_count: u32::default(),
bindings: ptr::null(),
}
}
}
unsafe impl Send for DescriptorSetLayoutCreateInfo {}
unsafe impl Sync for DescriptorSetLayoutCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDescriptorSetLayoutHostMappingInfoVALVE.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DescriptorSetLayoutHostMappingInfoVALVE {
pub s_type: StructureType,
pub next: *mut c_void,
pub descriptor_offset: usize,
pub descriptor_size: u32,
}
impl Default for DescriptorSetLayoutHostMappingInfoVALVE {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE,
next: ptr::null_mut(),
descriptor_offset: usize::default(),
descriptor_size: u32::default(),
}
}
}
unsafe impl Send for DescriptorSetLayoutHostMappingInfoVALVE {}
unsafe impl Sync for DescriptorSetLayoutHostMappingInfoVALVE {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDescriptorSetLayoutSupport.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DescriptorSetLayoutSupport {
pub s_type: StructureType,
pub next: *mut c_void,
pub supported: Bool32,
}
impl Default for DescriptorSetLayoutSupport {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DESCRIPTOR_SET_LAYOUT_SUPPORT,
next: ptr::null_mut(),
supported: Bool32::default(),
}
}
}
unsafe impl Send for DescriptorSetLayoutSupport {}
unsafe impl Sync for DescriptorSetLayoutSupport {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDescriptorSetVariableDescriptorCountAllocateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DescriptorSetVariableDescriptorCountAllocateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub descriptor_set_count: u32,
pub descriptor_counts: *const u32,
}
impl Default for DescriptorSetVariableDescriptorCountAllocateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO,
next: ptr::null(),
descriptor_set_count: u32::default(),
descriptor_counts: ptr::null(),
}
}
}
unsafe impl Send for DescriptorSetVariableDescriptorCountAllocateInfo {}
unsafe impl Sync for DescriptorSetVariableDescriptorCountAllocateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDescriptorSetVariableDescriptorCountLayoutSupport.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DescriptorSetVariableDescriptorCountLayoutSupport {
pub s_type: StructureType,
pub next: *mut c_void,
pub max_variable_descriptor_count: u32,
}
impl Default for DescriptorSetVariableDescriptorCountLayoutSupport {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT,
next: ptr::null_mut(),
max_variable_descriptor_count: u32::default(),
}
}
}
unsafe impl Send for DescriptorSetVariableDescriptorCountLayoutSupport {}
unsafe impl Sync for DescriptorSetVariableDescriptorCountLayoutSupport {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDescriptorUpdateTemplateCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DescriptorUpdateTemplateCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: DescriptorUpdateTemplateCreateFlags,
pub descriptor_update_entry_count: u32,
pub descriptor_update_entries: *const DescriptorUpdateTemplateEntry,
pub template_type: DescriptorUpdateTemplateType,
pub descriptor_set_layout: DescriptorSetLayout,
pub pipeline_bind_point: PipelineBindPoint,
pub pipeline_layout: PipelineLayout,
pub set: u32,
}
impl Default for DescriptorUpdateTemplateCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO,
next: ptr::null(),
flags: DescriptorUpdateTemplateCreateFlags::default(),
descriptor_update_entry_count: u32::default(),
descriptor_update_entries: ptr::null(),
template_type: DescriptorUpdateTemplateType::default(),
descriptor_set_layout: DescriptorSetLayout::default(),
pipeline_bind_point: PipelineBindPoint::default(),
pipeline_layout: PipelineLayout::default(),
set: u32::default(),
}
}
}
unsafe impl Send for DescriptorUpdateTemplateCreateInfo {}
unsafe impl Sync for DescriptorUpdateTemplateCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDescriptorUpdateTemplateEntry.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct DescriptorUpdateTemplateEntry {
pub dst_binding: u32,
pub dst_array_element: u32,
pub descriptor_count: u32,
pub descriptor_type: DescriptorType,
pub offset: usize,
pub stride: usize,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDeviceAddressBindingCallbackDataEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DeviceAddressBindingCallbackDataEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub flags: DeviceAddressBindingFlagsEXT,
pub base_address: DeviceAddress,
pub size: DeviceSize,
pub binding_type: DeviceAddressBindingTypeEXT,
}
impl Default for DeviceAddressBindingCallbackDataEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT,
next: ptr::null_mut(),
flags: DeviceAddressBindingFlagsEXT::default(),
base_address: DeviceAddress::default(),
size: DeviceSize::default(),
binding_type: DeviceAddressBindingTypeEXT::default(),
}
}
}
unsafe impl Send for DeviceAddressBindingCallbackDataEXT {}
unsafe impl Sync for DeviceAddressBindingCallbackDataEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDeviceAddressRangeEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct DeviceAddressRangeEXT {
pub address: DeviceAddress,
pub size: DeviceSize,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDeviceBufferMemoryRequirements.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DeviceBufferMemoryRequirements {
pub s_type: StructureType,
pub next: *const c_void,
pub create_info: *const BufferCreateInfo,
}
impl Default for DeviceBufferMemoryRequirements {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DEVICE_BUFFER_MEMORY_REQUIREMENTS,
next: ptr::null(),
create_info: ptr::null(),
}
}
}
unsafe impl Send for DeviceBufferMemoryRequirements {}
unsafe impl Sync for DeviceBufferMemoryRequirements {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDeviceCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DeviceCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: DeviceCreateFlags,
pub queue_create_info_count: u32,
pub queue_create_infos: *const DeviceQueueCreateInfo,
pub enabled_layer_count: u32,
pub enabled_layer_names: *const *const c_char,
pub enabled_extension_count: u32,
pub enabled_extension_names: *const *const c_char,
pub enabled_features: *const PhysicalDeviceFeatures,
}
impl Default for DeviceCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DEVICE_CREATE_INFO,
next: ptr::null(),
flags: DeviceCreateFlags::default(),
queue_create_info_count: u32::default(),
queue_create_infos: ptr::null(),
enabled_layer_count: u32::default(),
enabled_layer_names: ptr::null(),
enabled_extension_count: u32::default(),
enabled_extension_names: ptr::null(),
enabled_features: ptr::null(),
}
}
}
unsafe impl Send for DeviceCreateInfo {}
unsafe impl Sync for DeviceCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDeviceDeviceMemoryReportCreateInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone)]
pub struct DeviceDeviceMemoryReportCreateInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: DeviceMemoryReportFlagsEXT,
pub user_callback: PFN_vkDeviceMemoryReportCallbackEXT,
pub user_data: *mut c_void,
}
impl fmt::Debug for DeviceDeviceMemoryReportCreateInfoEXT {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.debug_struct("DeviceDeviceMemoryReportCreateInfoEXT")
.field("s_type", &self.s_type)
.field("next", &self.next)
.field("flags", &self.flags)
.field(
"user_callback",
&(self.user_callback.map(|f| f as *const u8)),
)
.field("user_data", &self.user_data)
.finish()
}
}
impl Default for DeviceDeviceMemoryReportCreateInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT,
next: ptr::null(),
flags: DeviceMemoryReportFlagsEXT::default(),
user_callback: PFN_vkDeviceMemoryReportCallbackEXT::default(),
user_data: ptr::null_mut(),
}
}
}
unsafe impl Send for DeviceDeviceMemoryReportCreateInfoEXT {}
unsafe impl Sync for DeviceDeviceMemoryReportCreateInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDeviceDiagnosticsConfigCreateInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DeviceDiagnosticsConfigCreateInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: DeviceDiagnosticsConfigFlagsNV,
}
impl Default for DeviceDiagnosticsConfigCreateInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV,
next: ptr::null(),
flags: DeviceDiagnosticsConfigFlagsNV::default(),
}
}
}
unsafe impl Send for DeviceDiagnosticsConfigCreateInfoNV {}
unsafe impl Sync for DeviceDiagnosticsConfigCreateInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDeviceEventInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DeviceEventInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub device_event: DeviceEventTypeEXT,
}
impl Default for DeviceEventInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DEVICE_EVENT_INFO_EXT,
next: ptr::null(),
device_event: DeviceEventTypeEXT::default(),
}
}
}
unsafe impl Send for DeviceEventInfoEXT {}
unsafe impl Sync for DeviceEventInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDeviceFaultAddressInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct DeviceFaultAddressInfoEXT {
pub address_type: DeviceFaultAddressTypeEXT,
pub reported_address: DeviceAddress,
pub address_precision: DeviceSize,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDeviceFaultCountsEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DeviceFaultCountsEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub address_info_count: u32,
pub vendor_info_count: u32,
pub vendor_binary_size: DeviceSize,
}
impl Default for DeviceFaultCountsEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DEVICE_FAULT_COUNTS_EXT,
next: ptr::null_mut(),
address_info_count: u32::default(),
vendor_info_count: u32::default(),
vendor_binary_size: DeviceSize::default(),
}
}
}
unsafe impl Send for DeviceFaultCountsEXT {}
unsafe impl Sync for DeviceFaultCountsEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDeviceFaultInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DeviceFaultInfoEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub description: StringArray<MAX_DESCRIPTION_SIZE>,
pub address_infos: *mut DeviceFaultAddressInfoEXT,
pub vendor_infos: *mut DeviceFaultVendorInfoEXT,
pub vendor_binary_data: *mut c_void,
}
impl Default for DeviceFaultInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DEVICE_FAULT_INFO_EXT,
next: ptr::null_mut(),
description: StringArray::default(),
address_infos: ptr::null_mut(),
vendor_infos: ptr::null_mut(),
vendor_binary_data: ptr::null_mut(),
}
}
}
unsafe impl Send for DeviceFaultInfoEXT {}
unsafe impl Sync for DeviceFaultInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDeviceFaultVendorBinaryHeaderVersionOneEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct DeviceFaultVendorBinaryHeaderVersionOneEXT {
pub header_size: u32,
pub header_version: DeviceFaultVendorBinaryHeaderVersionEXT,
pub vendor_id: u32,
pub device_id: u32,
pub driver_version: u32,
pub pipeline_cache_uuid: ByteArray<UUID_SIZE>,
pub application_name_offset: u32,
pub application_version: u32,
pub engine_name_offset: u32,
pub engine_version: u32,
pub api_version: u32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDeviceFaultVendorInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct DeviceFaultVendorInfoEXT {
pub description: StringArray<MAX_DESCRIPTION_SIZE>,
pub vendor_fault_code: u64,
pub vendor_fault_data: u64,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDeviceGroupBindSparseInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DeviceGroupBindSparseInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub resource_device_index: u32,
pub memory_device_index: u32,
}
impl Default for DeviceGroupBindSparseInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DEVICE_GROUP_BIND_SPARSE_INFO,
next: ptr::null(),
resource_device_index: u32::default(),
memory_device_index: u32::default(),
}
}
}
unsafe impl Send for DeviceGroupBindSparseInfo {}
unsafe impl Sync for DeviceGroupBindSparseInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDeviceGroupCommandBufferBeginInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DeviceGroupCommandBufferBeginInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub device_mask: u32,
}
impl Default for DeviceGroupCommandBufferBeginInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO,
next: ptr::null(),
device_mask: u32::default(),
}
}
}
unsafe impl Send for DeviceGroupCommandBufferBeginInfo {}
unsafe impl Sync for DeviceGroupCommandBufferBeginInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDeviceGroupDeviceCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DeviceGroupDeviceCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub physical_device_count: u32,
pub physical_devices: *const PhysicalDevice,
}
impl Default for DeviceGroupDeviceCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DEVICE_GROUP_DEVICE_CREATE_INFO,
next: ptr::null(),
physical_device_count: u32::default(),
physical_devices: ptr::null(),
}
}
}
unsafe impl Send for DeviceGroupDeviceCreateInfo {}
unsafe impl Sync for DeviceGroupDeviceCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDeviceGroupPresentCapabilitiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DeviceGroupPresentCapabilitiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub present_mask: [u32; MAX_DEVICE_GROUP_SIZE as usize],
pub modes: DeviceGroupPresentModeFlagsKHR,
}
impl Default for DeviceGroupPresentCapabilitiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DEVICE_GROUP_PRESENT_CAPABILITIES_KHR,
next: ptr::null_mut(),
present_mask: [u32::default(); MAX_DEVICE_GROUP_SIZE],
modes: DeviceGroupPresentModeFlagsKHR::default(),
}
}
}
unsafe impl Send for DeviceGroupPresentCapabilitiesKHR {}
unsafe impl Sync for DeviceGroupPresentCapabilitiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDeviceGroupPresentInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DeviceGroupPresentInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub swapchain_count: u32,
pub device_masks: *const u32,
pub mode: DeviceGroupPresentModeFlagsKHR,
}
impl Default for DeviceGroupPresentInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DEVICE_GROUP_PRESENT_INFO_KHR,
next: ptr::null(),
swapchain_count: u32::default(),
device_masks: ptr::null(),
mode: DeviceGroupPresentModeFlagsKHR::default(),
}
}
}
unsafe impl Send for DeviceGroupPresentInfoKHR {}
unsafe impl Sync for DeviceGroupPresentInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDeviceGroupRenderPassBeginInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DeviceGroupRenderPassBeginInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub device_mask: u32,
pub device_render_area_count: u32,
pub device_render_areas: *const Rect2D,
}
impl Default for DeviceGroupRenderPassBeginInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DEVICE_GROUP_RENDER_PASS_BEGIN_INFO,
next: ptr::null(),
device_mask: u32::default(),
device_render_area_count: u32::default(),
device_render_areas: ptr::null(),
}
}
}
unsafe impl Send for DeviceGroupRenderPassBeginInfo {}
unsafe impl Sync for DeviceGroupRenderPassBeginInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDeviceGroupSubmitInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DeviceGroupSubmitInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub wait_semaphore_count: u32,
pub wait_semaphore_device_indices: *const u32,
pub command_buffer_count: u32,
pub command_buffer_device_masks: *const u32,
pub signal_semaphore_count: u32,
pub signal_semaphore_device_indices: *const u32,
}
impl Default for DeviceGroupSubmitInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DEVICE_GROUP_SUBMIT_INFO,
next: ptr::null(),
wait_semaphore_count: u32::default(),
wait_semaphore_device_indices: ptr::null(),
command_buffer_count: u32::default(),
command_buffer_device_masks: ptr::null(),
signal_semaphore_count: u32::default(),
signal_semaphore_device_indices: ptr::null(),
}
}
}
unsafe impl Send for DeviceGroupSubmitInfo {}
unsafe impl Sync for DeviceGroupSubmitInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDeviceGroupSwapchainCreateInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DeviceGroupSwapchainCreateInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub modes: DeviceGroupPresentModeFlagsKHR,
}
impl Default for DeviceGroupSwapchainCreateInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR,
next: ptr::null(),
modes: DeviceGroupPresentModeFlagsKHR::default(),
}
}
}
unsafe impl Send for DeviceGroupSwapchainCreateInfoKHR {}
unsafe impl Sync for DeviceGroupSwapchainCreateInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDeviceImageMemoryRequirements.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DeviceImageMemoryRequirements {
pub s_type: StructureType,
pub next: *const c_void,
pub create_info: *const ImageCreateInfo,
pub plane_aspect: ImageAspectFlags,
}
impl Default for DeviceImageMemoryRequirements {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DEVICE_IMAGE_MEMORY_REQUIREMENTS,
next: ptr::null(),
create_info: ptr::null(),
plane_aspect: ImageAspectFlags::default(),
}
}
}
unsafe impl Send for DeviceImageMemoryRequirements {}
unsafe impl Sync for DeviceImageMemoryRequirements {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDeviceImageSubresourceInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DeviceImageSubresourceInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub create_info: *const ImageCreateInfo,
pub subresource: *const ImageSubresource2,
}
impl Default for DeviceImageSubresourceInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DEVICE_IMAGE_SUBRESOURCE_INFO,
next: ptr::null(),
create_info: ptr::null(),
subresource: ptr::null(),
}
}
}
unsafe impl Send for DeviceImageSubresourceInfo {}
unsafe impl Sync for DeviceImageSubresourceInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDeviceMemoryOpaqueCaptureAddressInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DeviceMemoryOpaqueCaptureAddressInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub memory: DeviceMemory,
}
impl Default for DeviceMemoryOpaqueCaptureAddressInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO,
next: ptr::null(),
memory: DeviceMemory::default(),
}
}
}
unsafe impl Send for DeviceMemoryOpaqueCaptureAddressInfo {}
unsafe impl Sync for DeviceMemoryOpaqueCaptureAddressInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDeviceMemoryOverallocationCreateInfoAMD.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DeviceMemoryOverallocationCreateInfoAMD {
pub s_type: StructureType,
pub next: *const c_void,
pub overallocation_behavior: MemoryOverallocationBehaviorAMD,
}
impl Default for DeviceMemoryOverallocationCreateInfoAMD {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD,
next: ptr::null(),
overallocation_behavior: MemoryOverallocationBehaviorAMD::default(),
}
}
}
unsafe impl Send for DeviceMemoryOverallocationCreateInfoAMD {}
unsafe impl Sync for DeviceMemoryOverallocationCreateInfoAMD {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDeviceMemoryReportCallbackDataEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DeviceMemoryReportCallbackDataEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub flags: DeviceMemoryReportFlagsEXT,
pub type_: DeviceMemoryReportEventTypeEXT,
pub memory_object_id: u64,
pub size: DeviceSize,
pub object_type: ObjectType,
pub object_handle: u64,
pub heap_index: u32,
}
impl Default for DeviceMemoryReportCallbackDataEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT,
next: ptr::null_mut(),
flags: DeviceMemoryReportFlagsEXT::default(),
type_: DeviceMemoryReportEventTypeEXT::default(),
memory_object_id: u64::default(),
size: DeviceSize::default(),
object_type: ObjectType::default(),
object_handle: u64::default(),
heap_index: u32::default(),
}
}
}
unsafe impl Send for DeviceMemoryReportCallbackDataEXT {}
unsafe impl Sync for DeviceMemoryReportCallbackDataEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDevicePipelineBinaryInternalCacheControlKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DevicePipelineBinaryInternalCacheControlKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub disable_internal_cache: Bool32,
}
impl Default for DevicePipelineBinaryInternalCacheControlKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DEVICE_PIPELINE_BINARY_INTERNAL_CACHE_CONTROL_KHR,
next: ptr::null(),
disable_internal_cache: Bool32::default(),
}
}
}
unsafe impl Send for DevicePipelineBinaryInternalCacheControlKHR {}
unsafe impl Sync for DevicePipelineBinaryInternalCacheControlKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDevicePrivateDataCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DevicePrivateDataCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub private_data_slot_request_count: u32,
}
impl Default for DevicePrivateDataCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DEVICE_PRIVATE_DATA_CREATE_INFO,
next: ptr::null(),
private_data_slot_request_count: u32::default(),
}
}
}
unsafe impl Send for DevicePrivateDataCreateInfo {}
unsafe impl Sync for DevicePrivateDataCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDeviceQueueCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DeviceQueueCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: DeviceQueueCreateFlags,
pub queue_family_index: u32,
pub queue_count: u32,
pub queue_priorities: *const f32,
}
impl Default for DeviceQueueCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DEVICE_QUEUE_CREATE_INFO,
next: ptr::null(),
flags: DeviceQueueCreateFlags::default(),
queue_family_index: u32::default(),
queue_count: u32::default(),
queue_priorities: ptr::null(),
}
}
}
unsafe impl Send for DeviceQueueCreateInfo {}
unsafe impl Sync for DeviceQueueCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDeviceQueueGlobalPriorityCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DeviceQueueGlobalPriorityCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub global_priority: QueueGlobalPriority,
}
impl Default for DeviceQueueGlobalPriorityCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO,
next: ptr::null(),
global_priority: QueueGlobalPriority::default(),
}
}
}
unsafe impl Send for DeviceQueueGlobalPriorityCreateInfo {}
unsafe impl Sync for DeviceQueueGlobalPriorityCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDeviceQueueInfo2.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DeviceQueueInfo2 {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: DeviceQueueCreateFlags,
pub queue_family_index: u32,
pub queue_index: u32,
}
impl Default for DeviceQueueInfo2 {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DEVICE_QUEUE_INFO_2,
next: ptr::null(),
flags: DeviceQueueCreateFlags::default(),
queue_family_index: u32::default(),
queue_index: u32::default(),
}
}
}
unsafe impl Send for DeviceQueueInfo2 {}
unsafe impl Sync for DeviceQueueInfo2 {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDeviceQueueShaderCoreControlCreateInfoARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DeviceQueueShaderCoreControlCreateInfoARM {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_core_count: u32,
}
impl Default for DeviceQueueShaderCoreControlCreateInfoARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM,
next: ptr::null_mut(),
shader_core_count: u32::default(),
}
}
}
unsafe impl Send for DeviceQueueShaderCoreControlCreateInfoARM {}
unsafe impl Sync for DeviceQueueShaderCoreControlCreateInfoARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDeviceSemaphoreSciSyncPoolReservationCreateInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DeviceSemaphoreSciSyncPoolReservationCreateInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub semaphore_sci_sync_pool_request_count: u32,
}
impl Default for DeviceSemaphoreSciSyncPoolReservationCreateInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DEVICE_SEMAPHORE_SCI_SYNC_POOL_RESERVATION_CREATE_INFO_NV,
next: ptr::null(),
semaphore_sci_sync_pool_request_count: u32::default(),
}
}
}
unsafe impl Send for DeviceSemaphoreSciSyncPoolReservationCreateInfoNV {}
unsafe impl Sync for DeviceSemaphoreSciSyncPoolReservationCreateInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDeviceTensorMemoryRequirementsARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DeviceTensorMemoryRequirementsARM {
pub s_type: StructureType,
pub next: *const c_void,
pub create_info: *const TensorCreateInfoARM,
}
impl Default for DeviceTensorMemoryRequirementsARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DEVICE_TENSOR_MEMORY_REQUIREMENTS_ARM,
next: ptr::null(),
create_info: ptr::null(),
}
}
}
unsafe impl Send for DeviceTensorMemoryRequirementsARM {}
unsafe impl Sync for DeviceTensorMemoryRequirementsARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDirectDriverLoadingInfoLUNARG.html>
#[repr(C)]
#[derive(Copy, Clone)]
pub struct DirectDriverLoadingInfoLUNARG {
pub s_type: StructureType,
pub next: *mut c_void,
pub flags: DirectDriverLoadingFlagsLUNARG,
pub get_instance_proc_addr: PFN_vkGetInstanceProcAddrLUNARG,
}
impl fmt::Debug for DirectDriverLoadingInfoLUNARG {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.debug_struct("DirectDriverLoadingInfoLUNARG")
.field("s_type", &self.s_type)
.field("next", &self.next)
.field("flags", &self.flags)
.field(
"get_instance_proc_addr",
&(self.get_instance_proc_addr.map(|f| f as *const u8)),
)
.finish()
}
}
impl Default for DirectDriverLoadingInfoLUNARG {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DIRECT_DRIVER_LOADING_INFO_LUNARG,
next: ptr::null_mut(),
flags: DirectDriverLoadingFlagsLUNARG::default(),
get_instance_proc_addr: PFN_vkGetInstanceProcAddrLUNARG::default(),
}
}
}
unsafe impl Send for DirectDriverLoadingInfoLUNARG {}
unsafe impl Sync for DirectDriverLoadingInfoLUNARG {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDirectDriverLoadingListLUNARG.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DirectDriverLoadingListLUNARG {
pub s_type: StructureType,
pub next: *const c_void,
pub mode: DirectDriverLoadingModeLUNARG,
pub driver_count: u32,
pub drivers: *const DirectDriverLoadingInfoLUNARG,
}
impl Default for DirectDriverLoadingListLUNARG {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DIRECT_DRIVER_LOADING_LIST_LUNARG,
next: ptr::null(),
mode: DirectDriverLoadingModeLUNARG::default(),
driver_count: u32::default(),
drivers: ptr::null(),
}
}
}
unsafe impl Send for DirectDriverLoadingListLUNARG {}
unsafe impl Sync for DirectDriverLoadingListLUNARG {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDirectFBSurfaceCreateInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DirectFBSurfaceCreateInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: DirectFBSurfaceCreateFlagsEXT,
pub dfb: *mut IDirectFB,
pub surface: *mut IDirectFBSurface,
}
impl Default for DirectFBSurfaceCreateInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DIRECTFB_SURFACE_CREATE_INFO_EXT,
next: ptr::null(),
flags: DirectFBSurfaceCreateFlagsEXT::default(),
dfb: ptr::null_mut(),
surface: ptr::null_mut(),
}
}
}
unsafe impl Send for DirectFBSurfaceCreateInfoEXT {}
unsafe impl Sync for DirectFBSurfaceCreateInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDispatchGraphCountInfoAMDX.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug)]
pub struct DispatchGraphCountInfoAMDX {
pub count: u32,
pub infos: DeviceOrHostAddressConstAMDX,
pub stride: u64,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDispatchGraphInfoAMDX.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug)]
pub struct DispatchGraphInfoAMDX {
pub node_index: u32,
pub payload_count: u32,
pub payloads: DeviceOrHostAddressConstAMDX,
pub payload_stride: u64,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDispatchIndirectCommand.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct DispatchIndirectCommand {
pub x: u32,
pub y: u32,
pub z: u32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDispatchTileInfoQCOM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DispatchTileInfoQCOM {
pub s_type: StructureType,
pub next: *const c_void,
}
impl Default for DispatchTileInfoQCOM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DISPATCH_TILE_INFO_QCOM,
next: ptr::null(),
}
}
}
unsafe impl Send for DispatchTileInfoQCOM {}
unsafe impl Sync for DispatchTileInfoQCOM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDisplayEventInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DisplayEventInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub display_event: DisplayEventTypeEXT,
}
impl Default for DisplayEventInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DISPLAY_EVENT_INFO_EXT,
next: ptr::null(),
display_event: DisplayEventTypeEXT::default(),
}
}
}
unsafe impl Send for DisplayEventInfoEXT {}
unsafe impl Sync for DisplayEventInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDisplayModeCreateInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DisplayModeCreateInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: DisplayModeCreateFlagsKHR,
pub parameters: DisplayModeParametersKHR,
}
impl Default for DisplayModeCreateInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DISPLAY_MODE_CREATE_INFO_KHR,
next: ptr::null(),
flags: DisplayModeCreateFlagsKHR::default(),
parameters: DisplayModeParametersKHR::default(),
}
}
}
unsafe impl Send for DisplayModeCreateInfoKHR {}
unsafe impl Sync for DisplayModeCreateInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDisplayModeParametersKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct DisplayModeParametersKHR {
pub visible_region: Extent2D,
pub refresh_rate: u32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDisplayModeProperties2KHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DisplayModeProperties2KHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub display_mode_properties: DisplayModePropertiesKHR,
}
impl Default for DisplayModeProperties2KHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DISPLAY_MODE_PROPERTIES_2_KHR,
next: ptr::null_mut(),
display_mode_properties: DisplayModePropertiesKHR::default(),
}
}
}
unsafe impl Send for DisplayModeProperties2KHR {}
unsafe impl Sync for DisplayModeProperties2KHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDisplayModePropertiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct DisplayModePropertiesKHR {
pub display_mode: DisplayModeKHR,
pub parameters: DisplayModeParametersKHR,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDisplayModeStereoPropertiesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DisplayModeStereoPropertiesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub hdmi_3d_supported: Bool32,
}
impl Default for DisplayModeStereoPropertiesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DISPLAY_MODE_STEREO_PROPERTIES_NV,
next: ptr::null_mut(),
hdmi_3d_supported: Bool32::default(),
}
}
}
unsafe impl Send for DisplayModeStereoPropertiesNV {}
unsafe impl Sync for DisplayModeStereoPropertiesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDisplayNativeHdrSurfaceCapabilitiesAMD.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DisplayNativeHdrSurfaceCapabilitiesAMD {
pub s_type: StructureType,
pub next: *mut c_void,
pub local_dimming_support: Bool32,
}
impl Default for DisplayNativeHdrSurfaceCapabilitiesAMD {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD,
next: ptr::null_mut(),
local_dimming_support: Bool32::default(),
}
}
}
unsafe impl Send for DisplayNativeHdrSurfaceCapabilitiesAMD {}
unsafe impl Sync for DisplayNativeHdrSurfaceCapabilitiesAMD {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDisplayPlaneCapabilities2KHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DisplayPlaneCapabilities2KHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub capabilities: DisplayPlaneCapabilitiesKHR,
}
impl Default for DisplayPlaneCapabilities2KHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DISPLAY_PLANE_CAPABILITIES_2_KHR,
next: ptr::null_mut(),
capabilities: DisplayPlaneCapabilitiesKHR::default(),
}
}
}
unsafe impl Send for DisplayPlaneCapabilities2KHR {}
unsafe impl Sync for DisplayPlaneCapabilities2KHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDisplayPlaneCapabilitiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct DisplayPlaneCapabilitiesKHR {
pub supported_alpha: DisplayPlaneAlphaFlagsKHR,
pub min_src_position: Offset2D,
pub max_src_position: Offset2D,
pub min_src_extent: Extent2D,
pub max_src_extent: Extent2D,
pub min_dst_position: Offset2D,
pub max_dst_position: Offset2D,
pub min_dst_extent: Extent2D,
pub max_dst_extent: Extent2D,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDisplayPlaneInfo2KHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DisplayPlaneInfo2KHR {
pub s_type: StructureType,
pub next: *const c_void,
pub mode: DisplayModeKHR,
pub plane_index: u32,
}
impl Default for DisplayPlaneInfo2KHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DISPLAY_PLANE_INFO_2_KHR,
next: ptr::null(),
mode: DisplayModeKHR::default(),
plane_index: u32::default(),
}
}
}
unsafe impl Send for DisplayPlaneInfo2KHR {}
unsafe impl Sync for DisplayPlaneInfo2KHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDisplayPlaneProperties2KHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DisplayPlaneProperties2KHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub display_plane_properties: DisplayPlanePropertiesKHR,
}
impl Default for DisplayPlaneProperties2KHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DISPLAY_PLANE_PROPERTIES_2_KHR,
next: ptr::null_mut(),
display_plane_properties: DisplayPlanePropertiesKHR::default(),
}
}
}
unsafe impl Send for DisplayPlaneProperties2KHR {}
unsafe impl Sync for DisplayPlaneProperties2KHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDisplayPlanePropertiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct DisplayPlanePropertiesKHR {
pub current_display: DisplayKHR,
pub current_stack_index: u32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDisplayPowerInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DisplayPowerInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub power_state: DisplayPowerStateEXT,
}
impl Default for DisplayPowerInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DISPLAY_POWER_INFO_EXT,
next: ptr::null(),
power_state: DisplayPowerStateEXT::default(),
}
}
}
unsafe impl Send for DisplayPowerInfoEXT {}
unsafe impl Sync for DisplayPowerInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDisplayPresentInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DisplayPresentInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub src_rect: Rect2D,
pub dst_rect: Rect2D,
pub persistent: Bool32,
}
impl Default for DisplayPresentInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DISPLAY_PRESENT_INFO_KHR,
next: ptr::null(),
src_rect: Rect2D::default(),
dst_rect: Rect2D::default(),
persistent: Bool32::default(),
}
}
}
unsafe impl Send for DisplayPresentInfoKHR {}
unsafe impl Sync for DisplayPresentInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDisplayProperties2KHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DisplayProperties2KHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub display_properties: DisplayPropertiesKHR,
}
impl Default for DisplayProperties2KHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DISPLAY_PROPERTIES_2_KHR,
next: ptr::null_mut(),
display_properties: DisplayPropertiesKHR::default(),
}
}
}
unsafe impl Send for DisplayProperties2KHR {}
unsafe impl Sync for DisplayProperties2KHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDisplayPropertiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DisplayPropertiesKHR {
pub display: DisplayKHR,
pub display_name: *const c_char,
pub physical_dimensions: Extent2D,
pub physical_resolution: Extent2D,
pub supported_transforms: SurfaceTransformFlagsKHR,
pub plane_reorder_possible: Bool32,
pub persistent_content: Bool32,
}
impl Default for DisplayPropertiesKHR {
#[inline]
fn default() -> Self {
Self {
display: DisplayKHR::default(),
display_name: ptr::null(),
physical_dimensions: Extent2D::default(),
physical_resolution: Extent2D::default(),
supported_transforms: SurfaceTransformFlagsKHR::default(),
plane_reorder_possible: Bool32::default(),
persistent_content: Bool32::default(),
}
}
}
unsafe impl Send for DisplayPropertiesKHR {}
unsafe impl Sync for DisplayPropertiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDisplaySurfaceCreateInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct DisplaySurfaceCreateInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: DisplaySurfaceCreateFlagsKHR,
pub display_mode: DisplayModeKHR,
pub plane_index: u32,
pub plane_stack_index: u32,
pub transform: SurfaceTransformFlagsKHR,
pub global_alpha: f32,
pub alpha_mode: DisplayPlaneAlphaFlagsKHR,
pub image_extent: Extent2D,
}
impl Default for DisplaySurfaceCreateInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DISPLAY_SURFACE_CREATE_INFO_KHR,
next: ptr::null(),
flags: DisplaySurfaceCreateFlagsKHR::default(),
display_mode: DisplayModeKHR::default(),
plane_index: u32::default(),
plane_stack_index: u32::default(),
transform: SurfaceTransformFlagsKHR::default(),
global_alpha: f32::default(),
alpha_mode: DisplayPlaneAlphaFlagsKHR::default(),
image_extent: Extent2D::default(),
}
}
}
unsafe impl Send for DisplaySurfaceCreateInfoKHR {}
unsafe impl Sync for DisplaySurfaceCreateInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDisplaySurfaceStereoCreateInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DisplaySurfaceStereoCreateInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub stereo_type: DisplaySurfaceStereoTypeNV,
}
impl Default for DisplaySurfaceStereoCreateInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DISPLAY_SURFACE_STEREO_CREATE_INFO_NV,
next: ptr::null(),
stereo_type: DisplaySurfaceStereoTypeNV::default(),
}
}
}
unsafe impl Send for DisplaySurfaceStereoCreateInfoNV {}
unsafe impl Sync for DisplaySurfaceStereoCreateInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDrawIndexedIndirectCommand.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct DrawIndexedIndirectCommand {
pub index_count: u32,
pub instance_count: u32,
pub first_index: u32,
pub vertex_offset: i32,
pub first_instance: u32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDrawIndirectCommand.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct DrawIndirectCommand {
pub vertex_count: u32,
pub instance_count: u32,
pub first_vertex: u32,
pub first_instance: u32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDrawIndirectCountIndirectCommandEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct DrawIndirectCountIndirectCommandEXT {
pub buffer_address: DeviceAddress,
pub stride: u32,
pub command_count: u32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDrawMeshTasksIndirectCommandEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct DrawMeshTasksIndirectCommandEXT {
pub group_count_x: u32,
pub group_count_y: u32,
pub group_count_z: u32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDrawMeshTasksIndirectCommandNV.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct DrawMeshTasksIndirectCommandNV {
pub task_count: u32,
pub first_task: u32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDrmFormatModifierProperties2EXT.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct DrmFormatModifierProperties2EXT {
pub drm_format_modifier: u64,
pub drm_format_modifier_plane_count: u32,
pub drm_format_modifier_tiling_features: FormatFeatureFlags2,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDrmFormatModifierPropertiesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct DrmFormatModifierPropertiesEXT {
pub drm_format_modifier: u64,
pub drm_format_modifier_plane_count: u32,
pub drm_format_modifier_tiling_features: FormatFeatureFlags,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDrmFormatModifierPropertiesList2EXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DrmFormatModifierPropertiesList2EXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub drm_format_modifier_count: u32,
pub drm_format_modifier_properties: *mut DrmFormatModifierProperties2EXT,
}
impl Default for DrmFormatModifierPropertiesList2EXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT,
next: ptr::null_mut(),
drm_format_modifier_count: u32::default(),
drm_format_modifier_properties: ptr::null_mut(),
}
}
}
unsafe impl Send for DrmFormatModifierPropertiesList2EXT {}
unsafe impl Sync for DrmFormatModifierPropertiesList2EXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDrmFormatModifierPropertiesListEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct DrmFormatModifierPropertiesListEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub drm_format_modifier_count: u32,
pub drm_format_modifier_properties: *mut DrmFormatModifierPropertiesEXT,
}
impl Default for DrmFormatModifierPropertiesListEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT,
next: ptr::null_mut(),
drm_format_modifier_count: u32::default(),
drm_format_modifier_properties: ptr::null_mut(),
}
}
}
unsafe impl Send for DrmFormatModifierPropertiesListEXT {}
unsafe impl Sync for DrmFormatModifierPropertiesListEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkEventCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct EventCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: EventCreateFlags,
}
impl Default for EventCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::EVENT_CREATE_INFO,
next: ptr::null(),
flags: EventCreateFlags::default(),
}
}
}
unsafe impl Send for EventCreateInfo {}
unsafe impl Sync for EventCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExecutionGraphPipelineCreateInfoAMDX.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ExecutionGraphPipelineCreateInfoAMDX {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: PipelineCreateFlags,
pub stage_count: u32,
pub stages: *const PipelineShaderStageCreateInfo,
pub library_info: *const PipelineLibraryCreateInfoKHR,
pub layout: PipelineLayout,
pub base_pipeline_handle: Pipeline,
pub base_pipeline_index: i32,
}
impl Default for ExecutionGraphPipelineCreateInfoAMDX {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::EXECUTION_GRAPH_PIPELINE_CREATE_INFO_AMDX,
next: ptr::null(),
flags: PipelineCreateFlags::default(),
stage_count: u32::default(),
stages: ptr::null(),
library_info: ptr::null(),
layout: PipelineLayout::default(),
base_pipeline_handle: Pipeline::default(),
base_pipeline_index: i32::default(),
}
}
}
unsafe impl Send for ExecutionGraphPipelineCreateInfoAMDX {}
unsafe impl Sync for ExecutionGraphPipelineCreateInfoAMDX {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExecutionGraphPipelineScratchSizeAMDX.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ExecutionGraphPipelineScratchSizeAMDX {
pub s_type: StructureType,
pub next: *mut c_void,
pub min_size: DeviceSize,
pub max_size: DeviceSize,
pub size_granularity: DeviceSize,
}
impl Default for ExecutionGraphPipelineScratchSizeAMDX {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::EXECUTION_GRAPH_PIPELINE_SCRATCH_SIZE_AMDX,
next: ptr::null_mut(),
min_size: DeviceSize::default(),
max_size: DeviceSize::default(),
size_granularity: DeviceSize::default(),
}
}
}
unsafe impl Send for ExecutionGraphPipelineScratchSizeAMDX {}
unsafe impl Sync for ExecutionGraphPipelineScratchSizeAMDX {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExportFenceCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ExportFenceCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub handle_types: ExternalFenceHandleTypeFlags,
}
impl Default for ExportFenceCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::EXPORT_FENCE_CREATE_INFO,
next: ptr::null(),
handle_types: ExternalFenceHandleTypeFlags::default(),
}
}
}
unsafe impl Send for ExportFenceCreateInfo {}
unsafe impl Sync for ExportFenceCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExportFenceSciSyncInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ExportFenceSciSyncInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub attributes: NvSciSyncAttrList,
}
impl Default for ExportFenceSciSyncInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::EXPORT_FENCE_SCI_SYNC_INFO_NV,
next: ptr::null(),
attributes: ptr::null_mut(),
}
}
}
unsafe impl Send for ExportFenceSciSyncInfoNV {}
unsafe impl Sync for ExportFenceSciSyncInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExportFenceWin32HandleInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ExportFenceWin32HandleInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub attributes: *const SECURITY_ATTRIBUTES,
pub dw_access: DWORD,
pub name: LPCWSTR,
}
impl Default for ExportFenceWin32HandleInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::EXPORT_FENCE_WIN32_HANDLE_INFO_KHR,
next: ptr::null(),
attributes: ptr::null(),
dw_access: DWORD::default(),
name: ptr::null_mut(),
}
}
}
unsafe impl Send for ExportFenceWin32HandleInfoKHR {}
unsafe impl Sync for ExportFenceWin32HandleInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExportMemoryAllocateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ExportMemoryAllocateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub handle_types: ExternalMemoryHandleTypeFlags,
}
impl Default for ExportMemoryAllocateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::EXPORT_MEMORY_ALLOCATE_INFO,
next: ptr::null(),
handle_types: ExternalMemoryHandleTypeFlags::default(),
}
}
}
unsafe impl Send for ExportMemoryAllocateInfo {}
unsafe impl Sync for ExportMemoryAllocateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExportMemoryAllocateInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ExportMemoryAllocateInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub handle_types: ExternalMemoryHandleTypeFlagsNV,
}
impl Default for ExportMemoryAllocateInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::EXPORT_MEMORY_ALLOCATE_INFO_NV,
next: ptr::null(),
handle_types: ExternalMemoryHandleTypeFlagsNV::default(),
}
}
}
unsafe impl Send for ExportMemoryAllocateInfoNV {}
unsafe impl Sync for ExportMemoryAllocateInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExportMemorySciBufInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ExportMemorySciBufInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub attributes: NvSciBufAttrList,
}
impl Default for ExportMemorySciBufInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::EXPORT_MEMORY_SCI_BUF_INFO_NV,
next: ptr::null(),
attributes: ptr::null_mut(),
}
}
}
unsafe impl Send for ExportMemorySciBufInfoNV {}
unsafe impl Sync for ExportMemorySciBufInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExportMemoryWin32HandleInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ExportMemoryWin32HandleInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub attributes: *const SECURITY_ATTRIBUTES,
pub dw_access: DWORD,
pub name: LPCWSTR,
}
impl Default for ExportMemoryWin32HandleInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR,
next: ptr::null(),
attributes: ptr::null(),
dw_access: DWORD::default(),
name: ptr::null_mut(),
}
}
}
unsafe impl Send for ExportMemoryWin32HandleInfoKHR {}
unsafe impl Sync for ExportMemoryWin32HandleInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExportMemoryWin32HandleInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ExportMemoryWin32HandleInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub attributes: *const SECURITY_ATTRIBUTES,
pub dw_access: DWORD,
}
impl Default for ExportMemoryWin32HandleInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::EXPORT_MEMORY_WIN32_HANDLE_INFO_NV,
next: ptr::null(),
attributes: ptr::null(),
dw_access: DWORD::default(),
}
}
}
unsafe impl Send for ExportMemoryWin32HandleInfoNV {}
unsafe impl Sync for ExportMemoryWin32HandleInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExportMetalBufferInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ExportMetalBufferInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub memory: DeviceMemory,
pub mtl_buffer: MTLBuffer_id,
}
impl Default for ExportMetalBufferInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::EXPORT_METAL_BUFFER_INFO_EXT,
next: ptr::null(),
memory: DeviceMemory::default(),
mtl_buffer: ptr::null_mut(),
}
}
}
unsafe impl Send for ExportMetalBufferInfoEXT {}
unsafe impl Sync for ExportMetalBufferInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExportMetalCommandQueueInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ExportMetalCommandQueueInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub queue: Queue,
pub mtl_command_queue: MTLCommandQueue_id,
}
impl Default for ExportMetalCommandQueueInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::EXPORT_METAL_COMMAND_QUEUE_INFO_EXT,
next: ptr::null(),
queue: Queue::default(),
mtl_command_queue: ptr::null_mut(),
}
}
}
unsafe impl Send for ExportMetalCommandQueueInfoEXT {}
unsafe impl Sync for ExportMetalCommandQueueInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExportMetalDeviceInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ExportMetalDeviceInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub mtl_device: MTLDevice_id,
}
impl Default for ExportMetalDeviceInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::EXPORT_METAL_DEVICE_INFO_EXT,
next: ptr::null(),
mtl_device: ptr::null_mut(),
}
}
}
unsafe impl Send for ExportMetalDeviceInfoEXT {}
unsafe impl Sync for ExportMetalDeviceInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExportMetalIOSurfaceInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ExportMetalIOSurfaceInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub image: Image,
pub io_surface: IOSurfaceRef,
}
impl Default for ExportMetalIOSurfaceInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::EXPORT_METAL_IO_SURFACE_INFO_EXT,
next: ptr::null(),
image: Image::default(),
io_surface: ptr::null_mut(),
}
}
}
unsafe impl Send for ExportMetalIOSurfaceInfoEXT {}
unsafe impl Sync for ExportMetalIOSurfaceInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExportMetalObjectCreateInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ExportMetalObjectCreateInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub export_object_type: ExportMetalObjectTypeFlagsEXT,
}
impl Default for ExportMetalObjectCreateInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::EXPORT_METAL_OBJECT_CREATE_INFO_EXT,
next: ptr::null(),
export_object_type: ExportMetalObjectTypeFlagsEXT::default(),
}
}
}
unsafe impl Send for ExportMetalObjectCreateInfoEXT {}
unsafe impl Sync for ExportMetalObjectCreateInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExportMetalObjectsInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ExportMetalObjectsInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
}
impl Default for ExportMetalObjectsInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::EXPORT_METAL_OBJECTS_INFO_EXT,
next: ptr::null(),
}
}
}
unsafe impl Send for ExportMetalObjectsInfoEXT {}
unsafe impl Sync for ExportMetalObjectsInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExportMetalSharedEventInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ExportMetalSharedEventInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub semaphore: Semaphore,
pub event: Event,
pub mtl_shared_event: MTLSharedEvent_id,
}
impl Default for ExportMetalSharedEventInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::EXPORT_METAL_SHARED_EVENT_INFO_EXT,
next: ptr::null(),
semaphore: Semaphore::default(),
event: Event::default(),
mtl_shared_event: ptr::null_mut(),
}
}
}
unsafe impl Send for ExportMetalSharedEventInfoEXT {}
unsafe impl Sync for ExportMetalSharedEventInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExportMetalTextureInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ExportMetalTextureInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub image: Image,
pub image_view: ImageView,
pub buffer_view: BufferView,
pub plane: ImageAspectFlags,
pub mtl_texture: MTLTexture_id,
}
impl Default for ExportMetalTextureInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::EXPORT_METAL_TEXTURE_INFO_EXT,
next: ptr::null(),
image: Image::default(),
image_view: ImageView::default(),
buffer_view: BufferView::default(),
plane: ImageAspectFlags::default(),
mtl_texture: ptr::null_mut(),
}
}
}
unsafe impl Send for ExportMetalTextureInfoEXT {}
unsafe impl Sync for ExportMetalTextureInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExportSemaphoreCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ExportSemaphoreCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub handle_types: ExternalSemaphoreHandleTypeFlags,
}
impl Default for ExportSemaphoreCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::EXPORT_SEMAPHORE_CREATE_INFO,
next: ptr::null(),
handle_types: ExternalSemaphoreHandleTypeFlags::default(),
}
}
}
unsafe impl Send for ExportSemaphoreCreateInfo {}
unsafe impl Sync for ExportSemaphoreCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExportSemaphoreSciSyncInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ExportSemaphoreSciSyncInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub attributes: NvSciSyncAttrList,
}
impl Default for ExportSemaphoreSciSyncInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::EXPORT_SEMAPHORE_SCI_SYNC_INFO_NV,
next: ptr::null(),
attributes: ptr::null_mut(),
}
}
}
unsafe impl Send for ExportSemaphoreSciSyncInfoNV {}
unsafe impl Sync for ExportSemaphoreSciSyncInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExportSemaphoreWin32HandleInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ExportSemaphoreWin32HandleInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub attributes: *const SECURITY_ATTRIBUTES,
pub dw_access: DWORD,
pub name: LPCWSTR,
}
impl Default for ExportSemaphoreWin32HandleInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR,
next: ptr::null(),
attributes: ptr::null(),
dw_access: DWORD::default(),
name: ptr::null_mut(),
}
}
}
unsafe impl Send for ExportSemaphoreWin32HandleInfoKHR {}
unsafe impl Sync for ExportSemaphoreWin32HandleInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExtensionProperties.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct ExtensionProperties {
pub extension_name: StringArray<MAX_EXTENSION_NAME_SIZE>,
pub spec_version: u32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExtent2D.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct Extent2D {
pub width: u32,
pub height: u32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExtent3D.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct Extent3D {
pub width: u32,
pub height: u32,
pub depth: u32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExternalBufferProperties.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ExternalBufferProperties {
pub s_type: StructureType,
pub next: *mut c_void,
pub external_memory_properties: ExternalMemoryProperties,
}
impl Default for ExternalBufferProperties {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::EXTERNAL_BUFFER_PROPERTIES,
next: ptr::null_mut(),
external_memory_properties: ExternalMemoryProperties::default(),
}
}
}
unsafe impl Send for ExternalBufferProperties {}
unsafe impl Sync for ExternalBufferProperties {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExternalComputeQueueCreateInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ExternalComputeQueueCreateInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub preferred_queue: Queue,
}
impl Default for ExternalComputeQueueCreateInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::EXTERNAL_COMPUTE_QUEUE_CREATE_INFO_NV,
next: ptr::null(),
preferred_queue: Queue::default(),
}
}
}
unsafe impl Send for ExternalComputeQueueCreateInfoNV {}
unsafe impl Sync for ExternalComputeQueueCreateInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExternalComputeQueueDataParamsNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ExternalComputeQueueDataParamsNV {
pub s_type: StructureType,
pub next: *const c_void,
pub device_index: u32,
}
impl Default for ExternalComputeQueueDataParamsNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::EXTERNAL_COMPUTE_QUEUE_DATA_PARAMS_NV,
next: ptr::null(),
device_index: u32::default(),
}
}
}
unsafe impl Send for ExternalComputeQueueDataParamsNV {}
unsafe impl Sync for ExternalComputeQueueDataParamsNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExternalComputeQueueDeviceCreateInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ExternalComputeQueueDeviceCreateInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub reserved_external_queues: u32,
}
impl Default for ExternalComputeQueueDeviceCreateInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::EXTERNAL_COMPUTE_QUEUE_DEVICE_CREATE_INFO_NV,
next: ptr::null(),
reserved_external_queues: u32::default(),
}
}
}
unsafe impl Send for ExternalComputeQueueDeviceCreateInfoNV {}
unsafe impl Sync for ExternalComputeQueueDeviceCreateInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExternalFenceProperties.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ExternalFenceProperties {
pub s_type: StructureType,
pub next: *mut c_void,
pub export_from_imported_handle_types: ExternalFenceHandleTypeFlags,
pub compatible_handle_types: ExternalFenceHandleTypeFlags,
pub external_fence_features: ExternalFenceFeatureFlags,
}
impl Default for ExternalFenceProperties {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::EXTERNAL_FENCE_PROPERTIES,
next: ptr::null_mut(),
export_from_imported_handle_types: ExternalFenceHandleTypeFlags::default(),
compatible_handle_types: ExternalFenceHandleTypeFlags::default(),
external_fence_features: ExternalFenceFeatureFlags::default(),
}
}
}
unsafe impl Send for ExternalFenceProperties {}
unsafe impl Sync for ExternalFenceProperties {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExternalFormatANDROID.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ExternalFormatANDROID {
pub s_type: StructureType,
pub next: *mut c_void,
pub external_format: u64,
}
impl Default for ExternalFormatANDROID {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::EXTERNAL_FORMAT_ANDROID,
next: ptr::null_mut(),
external_format: u64::default(),
}
}
}
unsafe impl Send for ExternalFormatANDROID {}
unsafe impl Sync for ExternalFormatANDROID {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExternalFormatOHOS.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ExternalFormatOHOS {
pub s_type: StructureType,
pub next: *mut c_void,
pub external_format: u64,
}
impl Default for ExternalFormatOHOS {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::EXTERNAL_FORMAT_OHOS,
next: ptr::null_mut(),
external_format: u64::default(),
}
}
}
unsafe impl Send for ExternalFormatOHOS {}
unsafe impl Sync for ExternalFormatOHOS {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExternalFormatQNX.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ExternalFormatQNX {
pub s_type: StructureType,
pub next: *mut c_void,
pub external_format: u64,
}
impl Default for ExternalFormatQNX {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::EXTERNAL_FORMAT_QNX,
next: ptr::null_mut(),
external_format: u64::default(),
}
}
}
unsafe impl Send for ExternalFormatQNX {}
unsafe impl Sync for ExternalFormatQNX {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExternalImageFormatProperties.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ExternalImageFormatProperties {
pub s_type: StructureType,
pub next: *mut c_void,
pub external_memory_properties: ExternalMemoryProperties,
}
impl Default for ExternalImageFormatProperties {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::EXTERNAL_IMAGE_FORMAT_PROPERTIES,
next: ptr::null_mut(),
external_memory_properties: ExternalMemoryProperties::default(),
}
}
}
unsafe impl Send for ExternalImageFormatProperties {}
unsafe impl Sync for ExternalImageFormatProperties {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExternalImageFormatPropertiesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct ExternalImageFormatPropertiesNV {
pub image_format_properties: ImageFormatProperties,
pub external_memory_features: ExternalMemoryFeatureFlagsNV,
pub export_from_imported_handle_types: ExternalMemoryHandleTypeFlagsNV,
pub compatible_handle_types: ExternalMemoryHandleTypeFlagsNV,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExternalMemoryAcquireUnmodifiedEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ExternalMemoryAcquireUnmodifiedEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub acquire_unmodified_memory: Bool32,
}
impl Default for ExternalMemoryAcquireUnmodifiedEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXT,
next: ptr::null(),
acquire_unmodified_memory: Bool32::default(),
}
}
}
unsafe impl Send for ExternalMemoryAcquireUnmodifiedEXT {}
unsafe impl Sync for ExternalMemoryAcquireUnmodifiedEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExternalMemoryBufferCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ExternalMemoryBufferCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub handle_types: ExternalMemoryHandleTypeFlags,
}
impl Default for ExternalMemoryBufferCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::EXTERNAL_MEMORY_BUFFER_CREATE_INFO,
next: ptr::null(),
handle_types: ExternalMemoryHandleTypeFlags::default(),
}
}
}
unsafe impl Send for ExternalMemoryBufferCreateInfo {}
unsafe impl Sync for ExternalMemoryBufferCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExternalMemoryImageCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ExternalMemoryImageCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub handle_types: ExternalMemoryHandleTypeFlags,
}
impl Default for ExternalMemoryImageCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::EXTERNAL_MEMORY_IMAGE_CREATE_INFO,
next: ptr::null(),
handle_types: ExternalMemoryHandleTypeFlags::default(),
}
}
}
unsafe impl Send for ExternalMemoryImageCreateInfo {}
unsafe impl Sync for ExternalMemoryImageCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExternalMemoryImageCreateInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ExternalMemoryImageCreateInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub handle_types: ExternalMemoryHandleTypeFlagsNV,
}
impl Default for ExternalMemoryImageCreateInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV,
next: ptr::null(),
handle_types: ExternalMemoryHandleTypeFlagsNV::default(),
}
}
}
unsafe impl Send for ExternalMemoryImageCreateInfoNV {}
unsafe impl Sync for ExternalMemoryImageCreateInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExternalMemoryProperties.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct ExternalMemoryProperties {
pub external_memory_features: ExternalMemoryFeatureFlags,
pub export_from_imported_handle_types: ExternalMemoryHandleTypeFlags,
pub compatible_handle_types: ExternalMemoryHandleTypeFlags,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExternalMemoryTensorCreateInfoARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ExternalMemoryTensorCreateInfoARM {
pub s_type: StructureType,
pub next: *const c_void,
pub handle_types: ExternalMemoryHandleTypeFlags,
}
impl Default for ExternalMemoryTensorCreateInfoARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::EXTERNAL_MEMORY_TENSOR_CREATE_INFO_ARM,
next: ptr::null(),
handle_types: ExternalMemoryHandleTypeFlags::default(),
}
}
}
unsafe impl Send for ExternalMemoryTensorCreateInfoARM {}
unsafe impl Sync for ExternalMemoryTensorCreateInfoARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExternalSemaphoreProperties.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ExternalSemaphoreProperties {
pub s_type: StructureType,
pub next: *mut c_void,
pub export_from_imported_handle_types: ExternalSemaphoreHandleTypeFlags,
pub compatible_handle_types: ExternalSemaphoreHandleTypeFlags,
pub external_semaphore_features: ExternalSemaphoreFeatureFlags,
}
impl Default for ExternalSemaphoreProperties {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::EXTERNAL_SEMAPHORE_PROPERTIES,
next: ptr::null_mut(),
export_from_imported_handle_types: ExternalSemaphoreHandleTypeFlags::default(),
compatible_handle_types: ExternalSemaphoreHandleTypeFlags::default(),
external_semaphore_features: ExternalSemaphoreFeatureFlags::default(),
}
}
}
unsafe impl Send for ExternalSemaphoreProperties {}
unsafe impl Sync for ExternalSemaphoreProperties {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExternalTensorPropertiesARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ExternalTensorPropertiesARM {
pub s_type: StructureType,
pub next: *const c_void,
pub external_memory_properties: ExternalMemoryProperties,
}
impl Default for ExternalTensorPropertiesARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::EXTERNAL_TENSOR_PROPERTIES_ARM,
next: ptr::null(),
external_memory_properties: ExternalMemoryProperties::default(),
}
}
}
unsafe impl Send for ExternalTensorPropertiesARM {}
unsafe impl Sync for ExternalTensorPropertiesARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkFenceCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct FenceCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: FenceCreateFlags,
}
impl Default for FenceCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::FENCE_CREATE_INFO,
next: ptr::null(),
flags: FenceCreateFlags::default(),
}
}
}
unsafe impl Send for FenceCreateInfo {}
unsafe impl Sync for FenceCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkFenceGetFdInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct FenceGetFdInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub fence: Fence,
pub handle_type: ExternalFenceHandleTypeFlags,
}
impl Default for FenceGetFdInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::FENCE_GET_FD_INFO_KHR,
next: ptr::null(),
fence: Fence::default(),
handle_type: ExternalFenceHandleTypeFlags::default(),
}
}
}
unsafe impl Send for FenceGetFdInfoKHR {}
unsafe impl Sync for FenceGetFdInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkFenceGetSciSyncInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct FenceGetSciSyncInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub fence: Fence,
pub handle_type: ExternalFenceHandleTypeFlags,
}
impl Default for FenceGetSciSyncInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::FENCE_GET_SCI_SYNC_INFO_NV,
next: ptr::null(),
fence: Fence::default(),
handle_type: ExternalFenceHandleTypeFlags::default(),
}
}
}
unsafe impl Send for FenceGetSciSyncInfoNV {}
unsafe impl Sync for FenceGetSciSyncInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkFenceGetWin32HandleInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct FenceGetWin32HandleInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub fence: Fence,
pub handle_type: ExternalFenceHandleTypeFlags,
}
impl Default for FenceGetWin32HandleInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::FENCE_GET_WIN32_HANDLE_INFO_KHR,
next: ptr::null(),
fence: Fence::default(),
handle_type: ExternalFenceHandleTypeFlags::default(),
}
}
}
unsafe impl Send for FenceGetWin32HandleInfoKHR {}
unsafe impl Sync for FenceGetWin32HandleInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkFilterCubicImageViewImageFormatPropertiesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct FilterCubicImageViewImageFormatPropertiesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub filter_cubic: Bool32,
pub filter_cubic_minmax: Bool32,
}
impl Default for FilterCubicImageViewImageFormatPropertiesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT,
next: ptr::null_mut(),
filter_cubic: Bool32::default(),
filter_cubic_minmax: Bool32::default(),
}
}
}
unsafe impl Send for FilterCubicImageViewImageFormatPropertiesEXT {}
unsafe impl Sync for FilterCubicImageViewImageFormatPropertiesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkFormatProperties.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct FormatProperties {
pub linear_tiling_features: FormatFeatureFlags,
pub optimal_tiling_features: FormatFeatureFlags,
pub buffer_features: FormatFeatureFlags,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkFormatProperties2.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct FormatProperties2 {
pub s_type: StructureType,
pub next: *mut c_void,
pub format_properties: FormatProperties,
}
impl Default for FormatProperties2 {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::FORMAT_PROPERTIES_2,
next: ptr::null_mut(),
format_properties: FormatProperties::default(),
}
}
}
unsafe impl Send for FormatProperties2 {}
unsafe impl Sync for FormatProperties2 {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkFormatProperties3.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct FormatProperties3 {
pub s_type: StructureType,
pub next: *mut c_void,
pub linear_tiling_features: FormatFeatureFlags2,
pub optimal_tiling_features: FormatFeatureFlags2,
pub buffer_features: FormatFeatureFlags2,
}
impl Default for FormatProperties3 {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::FORMAT_PROPERTIES_3,
next: ptr::null_mut(),
linear_tiling_features: FormatFeatureFlags2::default(),
optimal_tiling_features: FormatFeatureFlags2::default(),
buffer_features: FormatFeatureFlags2::default(),
}
}
}
unsafe impl Send for FormatProperties3 {}
unsafe impl Sync for FormatProperties3 {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkFragmentShadingRateAttachmentInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct FragmentShadingRateAttachmentInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub fragment_shading_rate_attachment: *const AttachmentReference2,
pub shading_rate_attachment_texel_size: Extent2D,
}
impl Default for FragmentShadingRateAttachmentInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR,
next: ptr::null(),
fragment_shading_rate_attachment: ptr::null(),
shading_rate_attachment_texel_size: Extent2D::default(),
}
}
}
unsafe impl Send for FragmentShadingRateAttachmentInfoKHR {}
unsafe impl Sync for FragmentShadingRateAttachmentInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkFrameBoundaryEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct FrameBoundaryEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: FrameBoundaryFlagsEXT,
pub frame_id: u64,
pub image_count: u32,
pub images: *const Image,
pub buffer_count: u32,
pub buffers: *const Buffer,
pub tag_name: u64,
pub tag_size: usize,
pub tag: *const c_void,
}
impl Default for FrameBoundaryEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::FRAME_BOUNDARY_EXT,
next: ptr::null(),
flags: FrameBoundaryFlagsEXT::default(),
frame_id: u64::default(),
image_count: u32::default(),
images: ptr::null(),
buffer_count: u32::default(),
buffers: ptr::null(),
tag_name: u64::default(),
tag_size: usize::default(),
tag: ptr::null(),
}
}
}
unsafe impl Send for FrameBoundaryEXT {}
unsafe impl Sync for FrameBoundaryEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkFrameBoundaryTensorsARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct FrameBoundaryTensorsARM {
pub s_type: StructureType,
pub next: *const c_void,
pub tensor_count: u32,
pub tensors: *const TensorARM,
}
impl Default for FrameBoundaryTensorsARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::FRAME_BOUNDARY_TENSORS_ARM,
next: ptr::null(),
tensor_count: u32::default(),
tensors: ptr::null(),
}
}
}
unsafe impl Send for FrameBoundaryTensorsARM {}
unsafe impl Sync for FrameBoundaryTensorsARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkFramebufferAttachmentImageInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct FramebufferAttachmentImageInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: ImageCreateFlags,
pub usage: ImageUsageFlags,
pub width: u32,
pub height: u32,
pub layer_count: u32,
pub view_format_count: u32,
pub view_formats: *const Format,
}
impl Default for FramebufferAttachmentImageInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::FRAMEBUFFER_ATTACHMENT_IMAGE_INFO,
next: ptr::null(),
flags: ImageCreateFlags::default(),
usage: ImageUsageFlags::default(),
width: u32::default(),
height: u32::default(),
layer_count: u32::default(),
view_format_count: u32::default(),
view_formats: ptr::null(),
}
}
}
unsafe impl Send for FramebufferAttachmentImageInfo {}
unsafe impl Sync for FramebufferAttachmentImageInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkFramebufferAttachmentsCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct FramebufferAttachmentsCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub attachment_image_info_count: u32,
pub attachment_image_infos: *const FramebufferAttachmentImageInfo,
}
impl Default for FramebufferAttachmentsCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::FRAMEBUFFER_ATTACHMENTS_CREATE_INFO,
next: ptr::null(),
attachment_image_info_count: u32::default(),
attachment_image_infos: ptr::null(),
}
}
}
unsafe impl Send for FramebufferAttachmentsCreateInfo {}
unsafe impl Sync for FramebufferAttachmentsCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkFramebufferCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct FramebufferCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: FramebufferCreateFlags,
pub render_pass: RenderPass,
pub attachment_count: u32,
pub attachments: *const ImageView,
pub width: u32,
pub height: u32,
pub layers: u32,
}
impl Default for FramebufferCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::FRAMEBUFFER_CREATE_INFO,
next: ptr::null(),
flags: FramebufferCreateFlags::default(),
render_pass: RenderPass::default(),
attachment_count: u32::default(),
attachments: ptr::null(),
width: u32::default(),
height: u32::default(),
layers: u32::default(),
}
}
}
unsafe impl Send for FramebufferCreateInfo {}
unsafe impl Sync for FramebufferCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkFramebufferMixedSamplesCombinationNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct FramebufferMixedSamplesCombinationNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub coverage_reduction_mode: CoverageReductionModeNV,
pub rasterization_samples: SampleCountFlags,
pub depth_stencil_samples: SampleCountFlags,
pub color_samples: SampleCountFlags,
}
impl Default for FramebufferMixedSamplesCombinationNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV,
next: ptr::null_mut(),
coverage_reduction_mode: CoverageReductionModeNV::default(),
rasterization_samples: SampleCountFlags::default(),
depth_stencil_samples: SampleCountFlags::default(),
color_samples: SampleCountFlags::default(),
}
}
}
unsafe impl Send for FramebufferMixedSamplesCombinationNV {}
unsafe impl Sync for FramebufferMixedSamplesCombinationNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkGeneratedCommandsInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct GeneratedCommandsInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub shader_stages: ShaderStageFlags,
pub indirect_execution_set: IndirectExecutionSetEXT,
pub indirect_commands_layout: IndirectCommandsLayoutEXT,
pub indirect_address: DeviceAddress,
pub indirect_address_size: DeviceSize,
pub preprocess_address: DeviceAddress,
pub preprocess_size: DeviceSize,
pub max_sequence_count: u32,
pub sequence_count_address: DeviceAddress,
pub max_draw_count: u32,
}
impl Default for GeneratedCommandsInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::GENERATED_COMMANDS_INFO_EXT,
next: ptr::null(),
shader_stages: ShaderStageFlags::default(),
indirect_execution_set: IndirectExecutionSetEXT::default(),
indirect_commands_layout: IndirectCommandsLayoutEXT::default(),
indirect_address: DeviceAddress::default(),
indirect_address_size: DeviceSize::default(),
preprocess_address: DeviceAddress::default(),
preprocess_size: DeviceSize::default(),
max_sequence_count: u32::default(),
sequence_count_address: DeviceAddress::default(),
max_draw_count: u32::default(),
}
}
}
unsafe impl Send for GeneratedCommandsInfoEXT {}
unsafe impl Sync for GeneratedCommandsInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkGeneratedCommandsInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct GeneratedCommandsInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub pipeline_bind_point: PipelineBindPoint,
pub pipeline: Pipeline,
pub indirect_commands_layout: IndirectCommandsLayoutNV,
pub stream_count: u32,
pub streams: *const IndirectCommandsStreamNV,
pub sequences_count: u32,
pub preprocess_buffer: Buffer,
pub preprocess_offset: DeviceSize,
pub preprocess_size: DeviceSize,
pub sequences_count_buffer: Buffer,
pub sequences_count_offset: DeviceSize,
pub sequences_index_buffer: Buffer,
pub sequences_index_offset: DeviceSize,
}
impl Default for GeneratedCommandsInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::GENERATED_COMMANDS_INFO_NV,
next: ptr::null(),
pipeline_bind_point: PipelineBindPoint::default(),
pipeline: Pipeline::default(),
indirect_commands_layout: IndirectCommandsLayoutNV::default(),
stream_count: u32::default(),
streams: ptr::null(),
sequences_count: u32::default(),
preprocess_buffer: Buffer::default(),
preprocess_offset: DeviceSize::default(),
preprocess_size: DeviceSize::default(),
sequences_count_buffer: Buffer::default(),
sequences_count_offset: DeviceSize::default(),
sequences_index_buffer: Buffer::default(),
sequences_index_offset: DeviceSize::default(),
}
}
}
unsafe impl Send for GeneratedCommandsInfoNV {}
unsafe impl Sync for GeneratedCommandsInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkGeneratedCommandsMemoryRequirementsInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct GeneratedCommandsMemoryRequirementsInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub indirect_execution_set: IndirectExecutionSetEXT,
pub indirect_commands_layout: IndirectCommandsLayoutEXT,
pub max_sequence_count: u32,
pub max_draw_count: u32,
}
impl Default for GeneratedCommandsMemoryRequirementsInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_EXT,
next: ptr::null(),
indirect_execution_set: IndirectExecutionSetEXT::default(),
indirect_commands_layout: IndirectCommandsLayoutEXT::default(),
max_sequence_count: u32::default(),
max_draw_count: u32::default(),
}
}
}
unsafe impl Send for GeneratedCommandsMemoryRequirementsInfoEXT {}
unsafe impl Sync for GeneratedCommandsMemoryRequirementsInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkGeneratedCommandsMemoryRequirementsInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct GeneratedCommandsMemoryRequirementsInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub pipeline_bind_point: PipelineBindPoint,
pub pipeline: Pipeline,
pub indirect_commands_layout: IndirectCommandsLayoutNV,
pub max_sequences_count: u32,
}
impl Default for GeneratedCommandsMemoryRequirementsInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV,
next: ptr::null(),
pipeline_bind_point: PipelineBindPoint::default(),
pipeline: Pipeline::default(),
indirect_commands_layout: IndirectCommandsLayoutNV::default(),
max_sequences_count: u32::default(),
}
}
}
unsafe impl Send for GeneratedCommandsMemoryRequirementsInfoNV {}
unsafe impl Sync for GeneratedCommandsMemoryRequirementsInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkGeneratedCommandsPipelineInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct GeneratedCommandsPipelineInfoEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub pipeline: Pipeline,
}
impl Default for GeneratedCommandsPipelineInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::GENERATED_COMMANDS_PIPELINE_INFO_EXT,
next: ptr::null_mut(),
pipeline: Pipeline::default(),
}
}
}
unsafe impl Send for GeneratedCommandsPipelineInfoEXT {}
unsafe impl Sync for GeneratedCommandsPipelineInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkGeneratedCommandsShaderInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct GeneratedCommandsShaderInfoEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_count: u32,
pub shaders: *const ShaderEXT,
}
impl Default for GeneratedCommandsShaderInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::GENERATED_COMMANDS_SHADER_INFO_EXT,
next: ptr::null_mut(),
shader_count: u32::default(),
shaders: ptr::null(),
}
}
}
unsafe impl Send for GeneratedCommandsShaderInfoEXT {}
unsafe impl Sync for GeneratedCommandsShaderInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkGeometryAABBNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct GeometryAABBNV {
pub s_type: StructureType,
pub next: *const c_void,
pub aabb_data: Buffer,
pub num_aab_bs: u32,
pub stride: u32,
pub offset: DeviceSize,
}
impl Default for GeometryAABBNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::GEOMETRY_AABB_NV,
next: ptr::null(),
aabb_data: Buffer::default(),
num_aab_bs: u32::default(),
stride: u32::default(),
offset: DeviceSize::default(),
}
}
}
unsafe impl Send for GeometryAABBNV {}
unsafe impl Sync for GeometryAABBNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkGeometryDataNV.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct GeometryDataNV {
pub triangles: GeometryTrianglesNV,
pub aabbs: GeometryAABBNV,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkGeometryNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct GeometryNV {
pub s_type: StructureType,
pub next: *const c_void,
pub geometry_type: GeometryTypeKHR,
pub geometry: GeometryDataNV,
pub flags: GeometryFlagsKHR,
}
impl Default for GeometryNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::GEOMETRY_NV,
next: ptr::null(),
geometry_type: GeometryTypeKHR::default(),
geometry: GeometryDataNV::default(),
flags: GeometryFlagsKHR::default(),
}
}
}
unsafe impl Send for GeometryNV {}
unsafe impl Sync for GeometryNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkGeometryTrianglesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct GeometryTrianglesNV {
pub s_type: StructureType,
pub next: *const c_void,
pub vertex_data: Buffer,
pub vertex_offset: DeviceSize,
pub vertex_count: u32,
pub vertex_stride: DeviceSize,
pub vertex_format: Format,
pub index_data: Buffer,
pub index_offset: DeviceSize,
pub index_count: u32,
pub index_type: IndexType,
pub transform_data: Buffer,
pub transform_offset: DeviceSize,
}
impl Default for GeometryTrianglesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::GEOMETRY_TRIANGLES_NV,
next: ptr::null(),
vertex_data: Buffer::default(),
vertex_offset: DeviceSize::default(),
vertex_count: u32::default(),
vertex_stride: DeviceSize::default(),
vertex_format: Format::default(),
index_data: Buffer::default(),
index_offset: DeviceSize::default(),
index_count: u32::default(),
index_type: IndexType::default(),
transform_data: Buffer::default(),
transform_offset: DeviceSize::default(),
}
}
}
unsafe impl Send for GeometryTrianglesNV {}
unsafe impl Sync for GeometryTrianglesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkGetLatencyMarkerInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct GetLatencyMarkerInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub timing_count: u32,
pub timings: *mut LatencyTimingsFrameReportNV,
}
impl Default for GetLatencyMarkerInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::GET_LATENCY_MARKER_INFO_NV,
next: ptr::null(),
timing_count: u32::default(),
timings: ptr::null_mut(),
}
}
}
unsafe impl Send for GetLatencyMarkerInfoNV {}
unsafe impl Sync for GetLatencyMarkerInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkGraphicsPipelineCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct GraphicsPipelineCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: PipelineCreateFlags,
pub stage_count: u32,
pub stages: *const PipelineShaderStageCreateInfo,
pub vertex_input_state: *const PipelineVertexInputStateCreateInfo,
pub input_assembly_state: *const PipelineInputAssemblyStateCreateInfo,
pub tessellation_state: *const PipelineTessellationStateCreateInfo,
pub viewport_state: *const PipelineViewportStateCreateInfo,
pub rasterization_state: *const PipelineRasterizationStateCreateInfo,
pub multisample_state: *const PipelineMultisampleStateCreateInfo,
pub depth_stencil_state: *const PipelineDepthStencilStateCreateInfo,
pub color_blend_state: *const PipelineColorBlendStateCreateInfo,
pub dynamic_state: *const PipelineDynamicStateCreateInfo,
pub layout: PipelineLayout,
pub render_pass: RenderPass,
pub subpass: u32,
pub base_pipeline_handle: Pipeline,
pub base_pipeline_index: i32,
}
impl Default for GraphicsPipelineCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::GRAPHICS_PIPELINE_CREATE_INFO,
next: ptr::null(),
flags: PipelineCreateFlags::default(),
stage_count: u32::default(),
stages: ptr::null(),
vertex_input_state: ptr::null(),
input_assembly_state: ptr::null(),
tessellation_state: ptr::null(),
viewport_state: ptr::null(),
rasterization_state: ptr::null(),
multisample_state: ptr::null(),
depth_stencil_state: ptr::null(),
color_blend_state: ptr::null(),
dynamic_state: ptr::null(),
layout: PipelineLayout::default(),
render_pass: RenderPass::default(),
subpass: u32::default(),
base_pipeline_handle: Pipeline::default(),
base_pipeline_index: i32::default(),
}
}
}
unsafe impl Send for GraphicsPipelineCreateInfo {}
unsafe impl Sync for GraphicsPipelineCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkGraphicsPipelineLibraryCreateInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct GraphicsPipelineLibraryCreateInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: GraphicsPipelineLibraryFlagsEXT,
}
impl Default for GraphicsPipelineLibraryCreateInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT,
next: ptr::null(),
flags: GraphicsPipelineLibraryFlagsEXT::default(),
}
}
}
unsafe impl Send for GraphicsPipelineLibraryCreateInfoEXT {}
unsafe impl Sync for GraphicsPipelineLibraryCreateInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkGraphicsPipelineShaderGroupsCreateInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct GraphicsPipelineShaderGroupsCreateInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub group_count: u32,
pub groups: *const GraphicsShaderGroupCreateInfoNV,
pub pipeline_count: u32,
pub pipelines: *const Pipeline,
}
impl Default for GraphicsPipelineShaderGroupsCreateInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV,
next: ptr::null(),
group_count: u32::default(),
groups: ptr::null(),
pipeline_count: u32::default(),
pipelines: ptr::null(),
}
}
}
unsafe impl Send for GraphicsPipelineShaderGroupsCreateInfoNV {}
unsafe impl Sync for GraphicsPipelineShaderGroupsCreateInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkGraphicsShaderGroupCreateInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct GraphicsShaderGroupCreateInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub stage_count: u32,
pub stages: *const PipelineShaderStageCreateInfo,
pub vertex_input_state: *const PipelineVertexInputStateCreateInfo,
pub tessellation_state: *const PipelineTessellationStateCreateInfo,
}
impl Default for GraphicsShaderGroupCreateInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::GRAPHICS_SHADER_GROUP_CREATE_INFO_NV,
next: ptr::null(),
stage_count: u32::default(),
stages: ptr::null(),
vertex_input_state: ptr::null(),
tessellation_state: ptr::null(),
}
}
}
unsafe impl Send for GraphicsShaderGroupCreateInfoNV {}
unsafe impl Sync for GraphicsShaderGroupCreateInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkHdrMetadataEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct HdrMetadataEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub display_primary_red: XYColorEXT,
pub display_primary_green: XYColorEXT,
pub display_primary_blue: XYColorEXT,
pub white_point: XYColorEXT,
pub max_luminance: f32,
pub min_luminance: f32,
pub max_content_light_level: f32,
pub max_frame_average_light_level: f32,
}
impl Default for HdrMetadataEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::HDR_METADATA_EXT,
next: ptr::null(),
display_primary_red: XYColorEXT::default(),
display_primary_green: XYColorEXT::default(),
display_primary_blue: XYColorEXT::default(),
white_point: XYColorEXT::default(),
max_luminance: f32::default(),
min_luminance: f32::default(),
max_content_light_level: f32::default(),
max_frame_average_light_level: f32::default(),
}
}
}
unsafe impl Send for HdrMetadataEXT {}
unsafe impl Sync for HdrMetadataEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkHdrVividDynamicMetadataHUAWEI.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct HdrVividDynamicMetadataHUAWEI {
pub s_type: StructureType,
pub next: *const c_void,
pub dynamic_metadata_size: usize,
pub dynamic_metadata: *const c_void,
}
impl Default for HdrVividDynamicMetadataHUAWEI {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::HDR_VIVID_DYNAMIC_METADATA_HUAWEI,
next: ptr::null(),
dynamic_metadata_size: usize::default(),
dynamic_metadata: ptr::null(),
}
}
}
unsafe impl Send for HdrVividDynamicMetadataHUAWEI {}
unsafe impl Sync for HdrVividDynamicMetadataHUAWEI {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkHeadlessSurfaceCreateInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct HeadlessSurfaceCreateInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: HeadlessSurfaceCreateFlagsEXT,
}
impl Default for HeadlessSurfaceCreateInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::HEADLESS_SURFACE_CREATE_INFO_EXT,
next: ptr::null(),
flags: HeadlessSurfaceCreateFlagsEXT::default(),
}
}
}
unsafe impl Send for HeadlessSurfaceCreateInfoEXT {}
unsafe impl Sync for HeadlessSurfaceCreateInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkHostAddressRangeConstEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct HostAddressRangeConstEXT {
pub address: *const c_void,
pub size: usize,
}
impl Default for HostAddressRangeConstEXT {
#[inline]
fn default() -> Self {
Self {
address: ptr::null(),
size: usize::default(),
}
}
}
unsafe impl Send for HostAddressRangeConstEXT {}
unsafe impl Sync for HostAddressRangeConstEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkHostAddressRangeEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct HostAddressRangeEXT {
pub address: *mut c_void,
pub size: usize,
}
impl Default for HostAddressRangeEXT {
#[inline]
fn default() -> Self {
Self {
address: ptr::null_mut(),
size: usize::default(),
}
}
}
unsafe impl Send for HostAddressRangeEXT {}
unsafe impl Sync for HostAddressRangeEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkHostImageCopyDevicePerformanceQuery.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct HostImageCopyDevicePerformanceQuery {
pub s_type: StructureType,
pub next: *mut c_void,
pub optimal_device_access: Bool32,
pub identical_memory_layout: Bool32,
}
impl Default for HostImageCopyDevicePerformanceQuery {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY,
next: ptr::null_mut(),
optimal_device_access: Bool32::default(),
identical_memory_layout: Bool32::default(),
}
}
}
unsafe impl Send for HostImageCopyDevicePerformanceQuery {}
unsafe impl Sync for HostImageCopyDevicePerformanceQuery {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkHostImageLayoutTransitionInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct HostImageLayoutTransitionInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub image: Image,
pub old_layout: ImageLayout,
pub new_layout: ImageLayout,
pub subresource_range: ImageSubresourceRange,
}
impl Default for HostImageLayoutTransitionInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::HOST_IMAGE_LAYOUT_TRANSITION_INFO,
next: ptr::null(),
image: Image::default(),
old_layout: ImageLayout::default(),
new_layout: ImageLayout::default(),
subresource_range: ImageSubresourceRange::default(),
}
}
}
unsafe impl Send for HostImageLayoutTransitionInfo {}
unsafe impl Sync for HostImageLayoutTransitionInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkIOSSurfaceCreateInfoMVK.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct IOSSurfaceCreateInfoMVK {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: IOSSurfaceCreateFlagsMVK,
pub view: *const c_void,
}
impl Default for IOSSurfaceCreateInfoMVK {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IOS_SURFACE_CREATE_INFO_MVK,
next: ptr::null(),
flags: IOSSurfaceCreateFlagsMVK::default(),
view: ptr::null(),
}
}
}
unsafe impl Send for IOSSurfaceCreateInfoMVK {}
unsafe impl Sync for IOSSurfaceCreateInfoMVK {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageAlignmentControlCreateInfoMESA.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImageAlignmentControlCreateInfoMESA {
pub s_type: StructureType,
pub next: *const c_void,
pub maximum_requested_alignment: u32,
}
impl Default for ImageAlignmentControlCreateInfoMESA {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMAGE_ALIGNMENT_CONTROL_CREATE_INFO_MESA,
next: ptr::null(),
maximum_requested_alignment: u32::default(),
}
}
}
unsafe impl Send for ImageAlignmentControlCreateInfoMESA {}
unsafe impl Sync for ImageAlignmentControlCreateInfoMESA {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageBlit.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct ImageBlit {
pub src_subresource: ImageSubresourceLayers,
pub src_offsets: [Offset3D; 2],
pub dst_subresource: ImageSubresourceLayers,
pub dst_offsets: [Offset3D; 2],
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageBlit2.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImageBlit2 {
pub s_type: StructureType,
pub next: *const c_void,
pub src_subresource: ImageSubresourceLayers,
pub src_offsets: [Offset3D; 2],
pub dst_subresource: ImageSubresourceLayers,
pub dst_offsets: [Offset3D; 2],
}
impl Default for ImageBlit2 {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMAGE_BLIT_2,
next: ptr::null(),
src_subresource: ImageSubresourceLayers::default(),
src_offsets: [Offset3D::default(); 2],
dst_subresource: ImageSubresourceLayers::default(),
dst_offsets: [Offset3D::default(); 2],
}
}
}
unsafe impl Send for ImageBlit2 {}
unsafe impl Sync for ImageBlit2 {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageCaptureDescriptorDataInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImageCaptureDescriptorDataInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub image: Image,
}
impl Default for ImageCaptureDescriptorDataInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
next: ptr::null(),
image: Image::default(),
}
}
}
unsafe impl Send for ImageCaptureDescriptorDataInfoEXT {}
unsafe impl Sync for ImageCaptureDescriptorDataInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageCompressionControlEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImageCompressionControlEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: ImageCompressionFlagsEXT,
pub compression_control_plane_count: u32,
pub fixed_rate_flags: *mut ImageCompressionFixedRateFlagsEXT,
}
impl Default for ImageCompressionControlEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMAGE_COMPRESSION_CONTROL_EXT,
next: ptr::null(),
flags: ImageCompressionFlagsEXT::default(),
compression_control_plane_count: u32::default(),
fixed_rate_flags: ptr::null_mut(),
}
}
}
unsafe impl Send for ImageCompressionControlEXT {}
unsafe impl Sync for ImageCompressionControlEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageCompressionPropertiesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImageCompressionPropertiesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub image_compression_flags: ImageCompressionFlagsEXT,
pub image_compression_fixed_rate_flags: ImageCompressionFixedRateFlagsEXT,
}
impl Default for ImageCompressionPropertiesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMAGE_COMPRESSION_PROPERTIES_EXT,
next: ptr::null_mut(),
image_compression_flags: ImageCompressionFlagsEXT::default(),
image_compression_fixed_rate_flags: ImageCompressionFixedRateFlagsEXT::default(),
}
}
}
unsafe impl Send for ImageCompressionPropertiesEXT {}
unsafe impl Sync for ImageCompressionPropertiesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageConstraintsInfoFUCHSIA.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImageConstraintsInfoFUCHSIA {
pub s_type: StructureType,
pub next: *const c_void,
pub format_constraints_count: u32,
pub format_constraints: *const ImageFormatConstraintsInfoFUCHSIA,
pub buffer_collection_constraints: BufferCollectionConstraintsInfoFUCHSIA,
pub flags: ImageConstraintsInfoFlagsFUCHSIA,
}
impl Default for ImageConstraintsInfoFUCHSIA {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMAGE_CONSTRAINTS_INFO_FUCHSIA,
next: ptr::null(),
format_constraints_count: u32::default(),
format_constraints: ptr::null(),
buffer_collection_constraints: BufferCollectionConstraintsInfoFUCHSIA::default(),
flags: ImageConstraintsInfoFlagsFUCHSIA::default(),
}
}
}
unsafe impl Send for ImageConstraintsInfoFUCHSIA {}
unsafe impl Sync for ImageConstraintsInfoFUCHSIA {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageCopy.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct ImageCopy {
pub src_subresource: ImageSubresourceLayers,
pub src_offset: Offset3D,
pub dst_subresource: ImageSubresourceLayers,
pub dst_offset: Offset3D,
pub extent: Extent3D,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageCopy2.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImageCopy2 {
pub s_type: StructureType,
pub next: *const c_void,
pub src_subresource: ImageSubresourceLayers,
pub src_offset: Offset3D,
pub dst_subresource: ImageSubresourceLayers,
pub dst_offset: Offset3D,
pub extent: Extent3D,
}
impl Default for ImageCopy2 {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMAGE_COPY_2,
next: ptr::null(),
src_subresource: ImageSubresourceLayers::default(),
src_offset: Offset3D::default(),
dst_subresource: ImageSubresourceLayers::default(),
dst_offset: Offset3D::default(),
extent: Extent3D::default(),
}
}
}
unsafe impl Send for ImageCopy2 {}
unsafe impl Sync for ImageCopy2 {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImageCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: ImageCreateFlags,
pub image_type: ImageType,
pub format: Format,
pub extent: Extent3D,
pub mip_levels: u32,
pub array_layers: u32,
pub samples: SampleCountFlags,
pub tiling: ImageTiling,
pub usage: ImageUsageFlags,
pub sharing_mode: SharingMode,
pub queue_family_index_count: u32,
pub queue_family_indices: *const u32,
pub initial_layout: ImageLayout,
}
impl Default for ImageCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMAGE_CREATE_INFO,
next: ptr::null(),
flags: ImageCreateFlags::default(),
image_type: ImageType::default(),
format: Format::default(),
extent: Extent3D::default(),
mip_levels: u32::default(),
array_layers: u32::default(),
samples: SampleCountFlags::default(),
tiling: ImageTiling::default(),
usage: ImageUsageFlags::default(),
sharing_mode: SharingMode::default(),
queue_family_index_count: u32::default(),
queue_family_indices: ptr::null(),
initial_layout: ImageLayout::default(),
}
}
}
unsafe impl Send for ImageCreateInfo {}
unsafe impl Sync for ImageCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageDescriptorInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImageDescriptorInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub view: *const ImageViewCreateInfo,
pub layout: ImageLayout,
}
impl Default for ImageDescriptorInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMAGE_DESCRIPTOR_INFO_EXT,
next: ptr::null(),
view: ptr::null(),
layout: ImageLayout::default(),
}
}
}
unsafe impl Send for ImageDescriptorInfoEXT {}
unsafe impl Sync for ImageDescriptorInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageDrmFormatModifierExplicitCreateInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImageDrmFormatModifierExplicitCreateInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub drm_format_modifier: u64,
pub drm_format_modifier_plane_count: u32,
pub plane_layouts: *const SubresourceLayout,
}
impl Default for ImageDrmFormatModifierExplicitCreateInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT,
next: ptr::null(),
drm_format_modifier: u64::default(),
drm_format_modifier_plane_count: u32::default(),
plane_layouts: ptr::null(),
}
}
}
unsafe impl Send for ImageDrmFormatModifierExplicitCreateInfoEXT {}
unsafe impl Sync for ImageDrmFormatModifierExplicitCreateInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageDrmFormatModifierListCreateInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImageDrmFormatModifierListCreateInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub drm_format_modifier_count: u32,
pub drm_format_modifiers: *const u64,
}
impl Default for ImageDrmFormatModifierListCreateInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT,
next: ptr::null(),
drm_format_modifier_count: u32::default(),
drm_format_modifiers: ptr::null(),
}
}
}
unsafe impl Send for ImageDrmFormatModifierListCreateInfoEXT {}
unsafe impl Sync for ImageDrmFormatModifierListCreateInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageDrmFormatModifierPropertiesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImageDrmFormatModifierPropertiesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub drm_format_modifier: u64,
}
impl Default for ImageDrmFormatModifierPropertiesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT,
next: ptr::null_mut(),
drm_format_modifier: u64::default(),
}
}
}
unsafe impl Send for ImageDrmFormatModifierPropertiesEXT {}
unsafe impl Sync for ImageDrmFormatModifierPropertiesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageFormatConstraintsInfoFUCHSIA.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImageFormatConstraintsInfoFUCHSIA {
pub s_type: StructureType,
pub next: *const c_void,
pub image_create_info: ImageCreateInfo,
pub required_format_features: FormatFeatureFlags,
pub flags: ImageFormatConstraintsFlagsFUCHSIA,
pub sysmem_pixel_format: u64,
pub color_space_count: u32,
pub color_spaces: *const SysmemColorSpaceFUCHSIA,
}
impl Default for ImageFormatConstraintsInfoFUCHSIA {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA,
next: ptr::null(),
image_create_info: ImageCreateInfo::default(),
required_format_features: FormatFeatureFlags::default(),
flags: ImageFormatConstraintsFlagsFUCHSIA::default(),
sysmem_pixel_format: u64::default(),
color_space_count: u32::default(),
color_spaces: ptr::null(),
}
}
}
unsafe impl Send for ImageFormatConstraintsInfoFUCHSIA {}
unsafe impl Sync for ImageFormatConstraintsInfoFUCHSIA {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageFormatListCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImageFormatListCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub view_format_count: u32,
pub view_formats: *const Format,
}
impl Default for ImageFormatListCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMAGE_FORMAT_LIST_CREATE_INFO,
next: ptr::null(),
view_format_count: u32::default(),
view_formats: ptr::null(),
}
}
}
unsafe impl Send for ImageFormatListCreateInfo {}
unsafe impl Sync for ImageFormatListCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageFormatProperties.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct ImageFormatProperties {
pub max_extent: Extent3D,
pub max_mip_levels: u32,
pub max_array_layers: u32,
pub sample_counts: SampleCountFlags,
pub max_resource_size: DeviceSize,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageFormatProperties2.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImageFormatProperties2 {
pub s_type: StructureType,
pub next: *mut c_void,
pub image_format_properties: ImageFormatProperties,
}
impl Default for ImageFormatProperties2 {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMAGE_FORMAT_PROPERTIES_2,
next: ptr::null_mut(),
image_format_properties: ImageFormatProperties::default(),
}
}
}
unsafe impl Send for ImageFormatProperties2 {}
unsafe impl Sync for ImageFormatProperties2 {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageMemoryBarrier.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImageMemoryBarrier {
pub s_type: StructureType,
pub next: *const c_void,
pub src_access_mask: AccessFlags,
pub dst_access_mask: AccessFlags,
pub old_layout: ImageLayout,
pub new_layout: ImageLayout,
pub src_queue_family_index: u32,
pub dst_queue_family_index: u32,
pub image: Image,
pub subresource_range: ImageSubresourceRange,
}
impl Default for ImageMemoryBarrier {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMAGE_MEMORY_BARRIER,
next: ptr::null(),
src_access_mask: AccessFlags::default(),
dst_access_mask: AccessFlags::default(),
old_layout: ImageLayout::default(),
new_layout: ImageLayout::default(),
src_queue_family_index: u32::default(),
dst_queue_family_index: u32::default(),
image: Image::default(),
subresource_range: ImageSubresourceRange::default(),
}
}
}
unsafe impl Send for ImageMemoryBarrier {}
unsafe impl Sync for ImageMemoryBarrier {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageMemoryBarrier2.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImageMemoryBarrier2 {
pub s_type: StructureType,
pub next: *const c_void,
pub src_stage_mask: PipelineStageFlags2,
pub src_access_mask: AccessFlags2,
pub dst_stage_mask: PipelineStageFlags2,
pub dst_access_mask: AccessFlags2,
pub old_layout: ImageLayout,
pub new_layout: ImageLayout,
pub src_queue_family_index: u32,
pub dst_queue_family_index: u32,
pub image: Image,
pub subresource_range: ImageSubresourceRange,
}
impl Default for ImageMemoryBarrier2 {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMAGE_MEMORY_BARRIER_2,
next: ptr::null(),
src_stage_mask: PipelineStageFlags2::default(),
src_access_mask: AccessFlags2::default(),
dst_stage_mask: PipelineStageFlags2::default(),
dst_access_mask: AccessFlags2::default(),
old_layout: ImageLayout::default(),
new_layout: ImageLayout::default(),
src_queue_family_index: u32::default(),
dst_queue_family_index: u32::default(),
image: Image::default(),
subresource_range: ImageSubresourceRange::default(),
}
}
}
unsafe impl Send for ImageMemoryBarrier2 {}
unsafe impl Sync for ImageMemoryBarrier2 {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageMemoryRequirementsInfo2.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImageMemoryRequirementsInfo2 {
pub s_type: StructureType,
pub next: *const c_void,
pub image: Image,
}
impl Default for ImageMemoryRequirementsInfo2 {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMAGE_MEMORY_REQUIREMENTS_INFO_2,
next: ptr::null(),
image: Image::default(),
}
}
}
unsafe impl Send for ImageMemoryRequirementsInfo2 {}
unsafe impl Sync for ImageMemoryRequirementsInfo2 {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImagePipeSurfaceCreateInfoFUCHSIA.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImagePipeSurfaceCreateInfoFUCHSIA {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: ImagePipeSurfaceCreateFlagsFUCHSIA,
pub image_pipe_handle: zx_handle_t,
}
impl Default for ImagePipeSurfaceCreateInfoFUCHSIA {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA,
next: ptr::null(),
flags: ImagePipeSurfaceCreateFlagsFUCHSIA::default(),
image_pipe_handle: zx_handle_t::default(),
}
}
}
unsafe impl Send for ImagePipeSurfaceCreateInfoFUCHSIA {}
unsafe impl Sync for ImagePipeSurfaceCreateInfoFUCHSIA {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImagePlaneMemoryRequirementsInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImagePlaneMemoryRequirementsInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub plane_aspect: ImageAspectFlags,
}
impl Default for ImagePlaneMemoryRequirementsInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO,
next: ptr::null(),
plane_aspect: ImageAspectFlags::default(),
}
}
}
unsafe impl Send for ImagePlaneMemoryRequirementsInfo {}
unsafe impl Sync for ImagePlaneMemoryRequirementsInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageResolve.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct ImageResolve {
pub src_subresource: ImageSubresourceLayers,
pub src_offset: Offset3D,
pub dst_subresource: ImageSubresourceLayers,
pub dst_offset: Offset3D,
pub extent: Extent3D,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageResolve2.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImageResolve2 {
pub s_type: StructureType,
pub next: *const c_void,
pub src_subresource: ImageSubresourceLayers,
pub src_offset: Offset3D,
pub dst_subresource: ImageSubresourceLayers,
pub dst_offset: Offset3D,
pub extent: Extent3D,
}
impl Default for ImageResolve2 {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMAGE_RESOLVE_2,
next: ptr::null(),
src_subresource: ImageSubresourceLayers::default(),
src_offset: Offset3D::default(),
dst_subresource: ImageSubresourceLayers::default(),
dst_offset: Offset3D::default(),
extent: Extent3D::default(),
}
}
}
unsafe impl Send for ImageResolve2 {}
unsafe impl Sync for ImageResolve2 {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageSparseMemoryRequirementsInfo2.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImageSparseMemoryRequirementsInfo2 {
pub s_type: StructureType,
pub next: *const c_void,
pub image: Image,
}
impl Default for ImageSparseMemoryRequirementsInfo2 {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2,
next: ptr::null(),
image: Image::default(),
}
}
}
unsafe impl Send for ImageSparseMemoryRequirementsInfo2 {}
unsafe impl Sync for ImageSparseMemoryRequirementsInfo2 {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageStencilUsageCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImageStencilUsageCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub stencil_usage: ImageUsageFlags,
}
impl Default for ImageStencilUsageCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMAGE_STENCIL_USAGE_CREATE_INFO,
next: ptr::null(),
stencil_usage: ImageUsageFlags::default(),
}
}
}
unsafe impl Send for ImageStencilUsageCreateInfo {}
unsafe impl Sync for ImageStencilUsageCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageSubresource.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct ImageSubresource {
pub aspect_mask: ImageAspectFlags,
pub mip_level: u32,
pub array_layer: u32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageSubresource2.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImageSubresource2 {
pub s_type: StructureType,
pub next: *mut c_void,
pub image_subresource: ImageSubresource,
}
impl Default for ImageSubresource2 {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMAGE_SUBRESOURCE_2,
next: ptr::null_mut(),
image_subresource: ImageSubresource::default(),
}
}
}
unsafe impl Send for ImageSubresource2 {}
unsafe impl Sync for ImageSubresource2 {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageSubresourceLayers.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct ImageSubresourceLayers {
pub aspect_mask: ImageAspectFlags,
pub mip_level: u32,
pub base_array_layer: u32,
pub layer_count: u32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageSubresourceRange.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct ImageSubresourceRange {
pub aspect_mask: ImageAspectFlags,
pub base_mip_level: u32,
pub level_count: u32,
pub base_array_layer: u32,
pub layer_count: u32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageSwapchainCreateInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImageSwapchainCreateInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub swapchain: SwapchainKHR,
}
impl Default for ImageSwapchainCreateInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMAGE_SWAPCHAIN_CREATE_INFO_KHR,
next: ptr::null(),
swapchain: SwapchainKHR::default(),
}
}
}
unsafe impl Send for ImageSwapchainCreateInfoKHR {}
unsafe impl Sync for ImageSwapchainCreateInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageToMemoryCopy.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImageToMemoryCopy {
pub s_type: StructureType,
pub next: *const c_void,
pub host_pointer: *mut c_void,
pub memory_row_length: u32,
pub memory_image_height: u32,
pub image_subresource: ImageSubresourceLayers,
pub image_offset: Offset3D,
pub image_extent: Extent3D,
}
impl Default for ImageToMemoryCopy {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMAGE_TO_MEMORY_COPY,
next: ptr::null(),
host_pointer: ptr::null_mut(),
memory_row_length: u32::default(),
memory_image_height: u32::default(),
image_subresource: ImageSubresourceLayers::default(),
image_offset: Offset3D::default(),
image_extent: Extent3D::default(),
}
}
}
unsafe impl Send for ImageToMemoryCopy {}
unsafe impl Sync for ImageToMemoryCopy {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageViewASTCDecodeModeEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImageViewASTCDecodeModeEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub decode_mode: Format,
}
impl Default for ImageViewASTCDecodeModeEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMAGE_VIEW_ASTC_DECODE_MODE_EXT,
next: ptr::null(),
decode_mode: Format::default(),
}
}
}
unsafe impl Send for ImageViewASTCDecodeModeEXT {}
unsafe impl Sync for ImageViewASTCDecodeModeEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageViewAddressPropertiesNVX.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImageViewAddressPropertiesNVX {
pub s_type: StructureType,
pub next: *mut c_void,
pub device_address: DeviceAddress,
pub size: DeviceSize,
}
impl Default for ImageViewAddressPropertiesNVX {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMAGE_VIEW_ADDRESS_PROPERTIES_NVX,
next: ptr::null_mut(),
device_address: DeviceAddress::default(),
size: DeviceSize::default(),
}
}
}
unsafe impl Send for ImageViewAddressPropertiesNVX {}
unsafe impl Sync for ImageViewAddressPropertiesNVX {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageViewCaptureDescriptorDataInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImageViewCaptureDescriptorDataInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub image_view: ImageView,
}
impl Default for ImageViewCaptureDescriptorDataInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
next: ptr::null(),
image_view: ImageView::default(),
}
}
}
unsafe impl Send for ImageViewCaptureDescriptorDataInfoEXT {}
unsafe impl Sync for ImageViewCaptureDescriptorDataInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageViewCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImageViewCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: ImageViewCreateFlags,
pub image: Image,
pub view_type: ImageViewType,
pub format: Format,
pub components: ComponentMapping,
pub subresource_range: ImageSubresourceRange,
}
impl Default for ImageViewCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMAGE_VIEW_CREATE_INFO,
next: ptr::null(),
flags: ImageViewCreateFlags::default(),
image: Image::default(),
view_type: ImageViewType::default(),
format: Format::default(),
components: ComponentMapping::default(),
subresource_range: ImageSubresourceRange::default(),
}
}
}
unsafe impl Send for ImageViewCreateInfo {}
unsafe impl Sync for ImageViewCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageViewHandleInfoNVX.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImageViewHandleInfoNVX {
pub s_type: StructureType,
pub next: *const c_void,
pub image_view: ImageView,
pub descriptor_type: DescriptorType,
pub sampler: Sampler,
}
impl Default for ImageViewHandleInfoNVX {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMAGE_VIEW_HANDLE_INFO_NVX,
next: ptr::null(),
image_view: ImageView::default(),
descriptor_type: DescriptorType::default(),
sampler: Sampler::default(),
}
}
}
unsafe impl Send for ImageViewHandleInfoNVX {}
unsafe impl Sync for ImageViewHandleInfoNVX {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageViewMinLodCreateInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct ImageViewMinLodCreateInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub min_lod: f32,
}
impl Default for ImageViewMinLodCreateInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT,
next: ptr::null(),
min_lod: f32::default(),
}
}
}
unsafe impl Send for ImageViewMinLodCreateInfoEXT {}
unsafe impl Sync for ImageViewMinLodCreateInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageViewSampleWeightCreateInfoQCOM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImageViewSampleWeightCreateInfoQCOM {
pub s_type: StructureType,
pub next: *const c_void,
pub filter_center: Offset2D,
pub filter_size: Extent2D,
pub num_phases: u32,
}
impl Default for ImageViewSampleWeightCreateInfoQCOM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM,
next: ptr::null(),
filter_center: Offset2D::default(),
filter_size: Extent2D::default(),
num_phases: u32::default(),
}
}
}
unsafe impl Send for ImageViewSampleWeightCreateInfoQCOM {}
unsafe impl Sync for ImageViewSampleWeightCreateInfoQCOM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageViewSlicedCreateInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImageViewSlicedCreateInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub slice_offset: u32,
pub slice_count: u32,
}
impl Default for ImageViewSlicedCreateInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMAGE_VIEW_SLICED_CREATE_INFO_EXT,
next: ptr::null(),
slice_offset: u32::default(),
slice_count: u32::default(),
}
}
}
unsafe impl Send for ImageViewSlicedCreateInfoEXT {}
unsafe impl Sync for ImageViewSlicedCreateInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageViewUsageCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImageViewUsageCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub usage: ImageUsageFlags,
}
impl Default for ImageViewUsageCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMAGE_VIEW_USAGE_CREATE_INFO,
next: ptr::null(),
usage: ImageUsageFlags::default(),
}
}
}
unsafe impl Send for ImageViewUsageCreateInfo {}
unsafe impl Sync for ImageViewUsageCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImportAndroidHardwareBufferInfoANDROID.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImportAndroidHardwareBufferInfoANDROID {
pub s_type: StructureType,
pub next: *const c_void,
pub buffer: *mut AHardwareBuffer,
}
impl Default for ImportAndroidHardwareBufferInfoANDROID {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID,
next: ptr::null(),
buffer: ptr::null_mut(),
}
}
}
unsafe impl Send for ImportAndroidHardwareBufferInfoANDROID {}
unsafe impl Sync for ImportAndroidHardwareBufferInfoANDROID {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImportFenceFdInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImportFenceFdInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub fence: Fence,
pub flags: FenceImportFlags,
pub handle_type: ExternalFenceHandleTypeFlags,
pub fd: c_int,
}
impl Default for ImportFenceFdInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMPORT_FENCE_FD_INFO_KHR,
next: ptr::null(),
fence: Fence::default(),
flags: FenceImportFlags::default(),
handle_type: ExternalFenceHandleTypeFlags::default(),
fd: c_int::default(),
}
}
}
unsafe impl Send for ImportFenceFdInfoKHR {}
unsafe impl Sync for ImportFenceFdInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImportFenceSciSyncInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImportFenceSciSyncInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub fence: Fence,
pub handle_type: ExternalFenceHandleTypeFlags,
pub handle: *mut c_void,
}
impl Default for ImportFenceSciSyncInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMPORT_FENCE_SCI_SYNC_INFO_NV,
next: ptr::null(),
fence: Fence::default(),
handle_type: ExternalFenceHandleTypeFlags::default(),
handle: ptr::null_mut(),
}
}
}
unsafe impl Send for ImportFenceSciSyncInfoNV {}
unsafe impl Sync for ImportFenceSciSyncInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImportFenceWin32HandleInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImportFenceWin32HandleInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub fence: Fence,
pub flags: FenceImportFlags,
pub handle_type: ExternalFenceHandleTypeFlags,
pub handle: HANDLE,
pub name: LPCWSTR,
}
impl Default for ImportFenceWin32HandleInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMPORT_FENCE_WIN32_HANDLE_INFO_KHR,
next: ptr::null(),
fence: Fence::default(),
flags: FenceImportFlags::default(),
handle_type: ExternalFenceHandleTypeFlags::default(),
handle: ptr::null_mut(),
name: ptr::null_mut(),
}
}
}
unsafe impl Send for ImportFenceWin32HandleInfoKHR {}
unsafe impl Sync for ImportFenceWin32HandleInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImportMemoryBufferCollectionFUCHSIA.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImportMemoryBufferCollectionFUCHSIA {
pub s_type: StructureType,
pub next: *const c_void,
pub collection: BufferCollectionFUCHSIA,
pub index: u32,
}
impl Default for ImportMemoryBufferCollectionFUCHSIA {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA,
next: ptr::null(),
collection: BufferCollectionFUCHSIA::default(),
index: u32::default(),
}
}
}
unsafe impl Send for ImportMemoryBufferCollectionFUCHSIA {}
unsafe impl Sync for ImportMemoryBufferCollectionFUCHSIA {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImportMemoryFdInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImportMemoryFdInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub handle_type: ExternalMemoryHandleTypeFlags,
pub fd: c_int,
}
impl Default for ImportMemoryFdInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMPORT_MEMORY_FD_INFO_KHR,
next: ptr::null(),
handle_type: ExternalMemoryHandleTypeFlags::default(),
fd: c_int::default(),
}
}
}
unsafe impl Send for ImportMemoryFdInfoKHR {}
unsafe impl Sync for ImportMemoryFdInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImportMemoryHostPointerInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImportMemoryHostPointerInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub handle_type: ExternalMemoryHandleTypeFlags,
pub host_pointer: *mut c_void,
}
impl Default for ImportMemoryHostPointerInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMPORT_MEMORY_HOST_POINTER_INFO_EXT,
next: ptr::null(),
handle_type: ExternalMemoryHandleTypeFlags::default(),
host_pointer: ptr::null_mut(),
}
}
}
unsafe impl Send for ImportMemoryHostPointerInfoEXT {}
unsafe impl Sync for ImportMemoryHostPointerInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImportMemoryMetalHandleInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImportMemoryMetalHandleInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub handle_type: ExternalMemoryHandleTypeFlags,
pub handle: *mut c_void,
}
impl Default for ImportMemoryMetalHandleInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMPORT_MEMORY_METAL_HANDLE_INFO_EXT,
next: ptr::null(),
handle_type: ExternalMemoryHandleTypeFlags::default(),
handle: ptr::null_mut(),
}
}
}
unsafe impl Send for ImportMemoryMetalHandleInfoEXT {}
unsafe impl Sync for ImportMemoryMetalHandleInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImportMemorySciBufInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImportMemorySciBufInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub handle_type: ExternalMemoryHandleTypeFlags,
pub handle: NvSciBufObj,
}
impl Default for ImportMemorySciBufInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMPORT_MEMORY_SCI_BUF_INFO_NV,
next: ptr::null(),
handle_type: ExternalMemoryHandleTypeFlags::default(),
handle: ptr::null_mut(),
}
}
}
unsafe impl Send for ImportMemorySciBufInfoNV {}
unsafe impl Sync for ImportMemorySciBufInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImportMemoryWin32HandleInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImportMemoryWin32HandleInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub handle_type: ExternalMemoryHandleTypeFlags,
pub handle: HANDLE,
pub name: LPCWSTR,
}
impl Default for ImportMemoryWin32HandleInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR,
next: ptr::null(),
handle_type: ExternalMemoryHandleTypeFlags::default(),
handle: ptr::null_mut(),
name: ptr::null_mut(),
}
}
}
unsafe impl Send for ImportMemoryWin32HandleInfoKHR {}
unsafe impl Sync for ImportMemoryWin32HandleInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImportMemoryWin32HandleInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImportMemoryWin32HandleInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub handle_type: ExternalMemoryHandleTypeFlagsNV,
pub handle: HANDLE,
}
impl Default for ImportMemoryWin32HandleInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMPORT_MEMORY_WIN32_HANDLE_INFO_NV,
next: ptr::null(),
handle_type: ExternalMemoryHandleTypeFlagsNV::default(),
handle: ptr::null_mut(),
}
}
}
unsafe impl Send for ImportMemoryWin32HandleInfoNV {}
unsafe impl Sync for ImportMemoryWin32HandleInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImportMemoryZirconHandleInfoFUCHSIA.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImportMemoryZirconHandleInfoFUCHSIA {
pub s_type: StructureType,
pub next: *const c_void,
pub handle_type: ExternalMemoryHandleTypeFlags,
pub handle: zx_handle_t,
}
impl Default for ImportMemoryZirconHandleInfoFUCHSIA {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA,
next: ptr::null(),
handle_type: ExternalMemoryHandleTypeFlags::default(),
handle: zx_handle_t::default(),
}
}
}
unsafe impl Send for ImportMemoryZirconHandleInfoFUCHSIA {}
unsafe impl Sync for ImportMemoryZirconHandleInfoFUCHSIA {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImportMetalBufferInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImportMetalBufferInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub mtl_buffer: MTLBuffer_id,
}
impl Default for ImportMetalBufferInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMPORT_METAL_BUFFER_INFO_EXT,
next: ptr::null(),
mtl_buffer: ptr::null_mut(),
}
}
}
unsafe impl Send for ImportMetalBufferInfoEXT {}
unsafe impl Sync for ImportMetalBufferInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImportMetalIOSurfaceInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImportMetalIOSurfaceInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub io_surface: IOSurfaceRef,
}
impl Default for ImportMetalIOSurfaceInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMPORT_METAL_IO_SURFACE_INFO_EXT,
next: ptr::null(),
io_surface: ptr::null_mut(),
}
}
}
unsafe impl Send for ImportMetalIOSurfaceInfoEXT {}
unsafe impl Sync for ImportMetalIOSurfaceInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImportMetalSharedEventInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImportMetalSharedEventInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub mtl_shared_event: MTLSharedEvent_id,
}
impl Default for ImportMetalSharedEventInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMPORT_METAL_SHARED_EVENT_INFO_EXT,
next: ptr::null(),
mtl_shared_event: ptr::null_mut(),
}
}
}
unsafe impl Send for ImportMetalSharedEventInfoEXT {}
unsafe impl Sync for ImportMetalSharedEventInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImportMetalTextureInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImportMetalTextureInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub plane: ImageAspectFlags,
pub mtl_texture: MTLTexture_id,
}
impl Default for ImportMetalTextureInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMPORT_METAL_TEXTURE_INFO_EXT,
next: ptr::null(),
plane: ImageAspectFlags::default(),
mtl_texture: ptr::null_mut(),
}
}
}
unsafe impl Send for ImportMetalTextureInfoEXT {}
unsafe impl Sync for ImportMetalTextureInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImportNativeBufferInfoOHOS.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImportNativeBufferInfoOHOS {
pub s_type: StructureType,
pub next: *const c_void,
pub buffer: *mut OH_NativeBuffer,
}
impl Default for ImportNativeBufferInfoOHOS {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMPORT_NATIVE_BUFFER_INFO_OHOS,
next: ptr::null(),
buffer: ptr::null_mut(),
}
}
}
unsafe impl Send for ImportNativeBufferInfoOHOS {}
unsafe impl Sync for ImportNativeBufferInfoOHOS {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImportScreenBufferInfoQNX.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImportScreenBufferInfoQNX {
pub s_type: StructureType,
pub next: *const c_void,
pub buffer: *mut _screen_buffer,
}
impl Default for ImportScreenBufferInfoQNX {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMPORT_SCREEN_BUFFER_INFO_QNX,
next: ptr::null(),
buffer: ptr::null_mut(),
}
}
}
unsafe impl Send for ImportScreenBufferInfoQNX {}
unsafe impl Sync for ImportScreenBufferInfoQNX {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImportSemaphoreFdInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImportSemaphoreFdInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub semaphore: Semaphore,
pub flags: SemaphoreImportFlags,
pub handle_type: ExternalSemaphoreHandleTypeFlags,
pub fd: c_int,
}
impl Default for ImportSemaphoreFdInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMPORT_SEMAPHORE_FD_INFO_KHR,
next: ptr::null(),
semaphore: Semaphore::default(),
flags: SemaphoreImportFlags::default(),
handle_type: ExternalSemaphoreHandleTypeFlags::default(),
fd: c_int::default(),
}
}
}
unsafe impl Send for ImportSemaphoreFdInfoKHR {}
unsafe impl Sync for ImportSemaphoreFdInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImportSemaphoreSciSyncInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImportSemaphoreSciSyncInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub semaphore: Semaphore,
pub handle_type: ExternalSemaphoreHandleTypeFlags,
pub handle: *mut c_void,
}
impl Default for ImportSemaphoreSciSyncInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMPORT_SEMAPHORE_SCI_SYNC_INFO_NV,
next: ptr::null(),
semaphore: Semaphore::default(),
handle_type: ExternalSemaphoreHandleTypeFlags::default(),
handle: ptr::null_mut(),
}
}
}
unsafe impl Send for ImportSemaphoreSciSyncInfoNV {}
unsafe impl Sync for ImportSemaphoreSciSyncInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImportSemaphoreWin32HandleInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImportSemaphoreWin32HandleInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub semaphore: Semaphore,
pub flags: SemaphoreImportFlags,
pub handle_type: ExternalSemaphoreHandleTypeFlags,
pub handle: HANDLE,
pub name: LPCWSTR,
}
impl Default for ImportSemaphoreWin32HandleInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR,
next: ptr::null(),
semaphore: Semaphore::default(),
flags: SemaphoreImportFlags::default(),
handle_type: ExternalSemaphoreHandleTypeFlags::default(),
handle: ptr::null_mut(),
name: ptr::null_mut(),
}
}
}
unsafe impl Send for ImportSemaphoreWin32HandleInfoKHR {}
unsafe impl Sync for ImportSemaphoreWin32HandleInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImportSemaphoreZirconHandleInfoFUCHSIA.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ImportSemaphoreZirconHandleInfoFUCHSIA {
pub s_type: StructureType,
pub next: *const c_void,
pub semaphore: Semaphore,
pub flags: SemaphoreImportFlags,
pub handle_type: ExternalSemaphoreHandleTypeFlags,
pub zircon_handle: zx_handle_t,
}
impl Default for ImportSemaphoreZirconHandleInfoFUCHSIA {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA,
next: ptr::null(),
semaphore: Semaphore::default(),
flags: SemaphoreImportFlags::default(),
handle_type: ExternalSemaphoreHandleTypeFlags::default(),
zircon_handle: zx_handle_t::default(),
}
}
}
unsafe impl Send for ImportSemaphoreZirconHandleInfoFUCHSIA {}
unsafe impl Sync for ImportSemaphoreZirconHandleInfoFUCHSIA {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkIndirectCommandsExecutionSetTokenEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct IndirectCommandsExecutionSetTokenEXT {
pub type_: IndirectExecutionSetInfoTypeEXT,
pub shader_stages: ShaderStageFlags,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkIndirectCommandsIndexBufferTokenEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct IndirectCommandsIndexBufferTokenEXT {
pub mode: IndirectCommandsInputModeFlagsEXT,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkIndirectCommandsLayoutCreateInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct IndirectCommandsLayoutCreateInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: IndirectCommandsLayoutUsageFlagsEXT,
pub shader_stages: ShaderStageFlags,
pub indirect_stride: u32,
pub pipeline_layout: PipelineLayout,
pub token_count: u32,
pub tokens: *const IndirectCommandsLayoutTokenEXT,
}
impl Default for IndirectCommandsLayoutCreateInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_EXT,
next: ptr::null(),
flags: IndirectCommandsLayoutUsageFlagsEXT::default(),
shader_stages: ShaderStageFlags::default(),
indirect_stride: u32::default(),
pipeline_layout: PipelineLayout::default(),
token_count: u32::default(),
tokens: ptr::null(),
}
}
}
unsafe impl Send for IndirectCommandsLayoutCreateInfoEXT {}
unsafe impl Sync for IndirectCommandsLayoutCreateInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkIndirectCommandsLayoutCreateInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct IndirectCommandsLayoutCreateInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: IndirectCommandsLayoutUsageFlagsNV,
pub pipeline_bind_point: PipelineBindPoint,
pub token_count: u32,
pub tokens: *const IndirectCommandsLayoutTokenNV,
pub stream_count: u32,
pub stream_strides: *const u32,
}
impl Default for IndirectCommandsLayoutCreateInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV,
next: ptr::null(),
flags: IndirectCommandsLayoutUsageFlagsNV::default(),
pipeline_bind_point: PipelineBindPoint::default(),
token_count: u32::default(),
tokens: ptr::null(),
stream_count: u32::default(),
stream_strides: ptr::null(),
}
}
}
unsafe impl Send for IndirectCommandsLayoutCreateInfoNV {}
unsafe impl Sync for IndirectCommandsLayoutCreateInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkIndirectCommandsLayoutPushDataTokenNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct IndirectCommandsLayoutPushDataTokenNV {
pub s_type: StructureType,
pub next: *const c_void,
pub push_data_offset: u32,
pub push_data_size: u32,
}
impl Default for IndirectCommandsLayoutPushDataTokenNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::INDIRECT_COMMANDS_LAYOUT_PUSH_DATA_TOKEN_NV,
next: ptr::null(),
push_data_offset: u32::default(),
push_data_size: u32::default(),
}
}
}
unsafe impl Send for IndirectCommandsLayoutPushDataTokenNV {}
unsafe impl Sync for IndirectCommandsLayoutPushDataTokenNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkIndirectCommandsLayoutTokenEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug)]
pub struct IndirectCommandsLayoutTokenEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub type_: IndirectCommandsTokenTypeEXT,
pub data: IndirectCommandsTokenDataEXT,
pub offset: u32,
}
impl Default for IndirectCommandsLayoutTokenEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::INDIRECT_COMMANDS_LAYOUT_TOKEN_EXT,
next: ptr::null(),
type_: IndirectCommandsTokenTypeEXT::default(),
data: IndirectCommandsTokenDataEXT::default(),
offset: u32::default(),
}
}
}
unsafe impl Send for IndirectCommandsLayoutTokenEXT {}
unsafe impl Sync for IndirectCommandsLayoutTokenEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkIndirectCommandsLayoutTokenNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct IndirectCommandsLayoutTokenNV {
pub s_type: StructureType,
pub next: *const c_void,
pub token_type: IndirectCommandsTokenTypeNV,
pub stream: u32,
pub offset: u32,
pub vertex_binding_unit: u32,
pub vertex_dynamic_stride: Bool32,
pub pushconstant_pipeline_layout: PipelineLayout,
pub pushconstant_shader_stage_flags: ShaderStageFlags,
pub pushconstant_offset: u32,
pub pushconstant_size: u32,
pub indirect_state_flags: IndirectStateFlagsNV,
pub index_type_count: u32,
pub index_types: *const IndexType,
pub index_type_values: *const u32,
}
impl Default for IndirectCommandsLayoutTokenNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::INDIRECT_COMMANDS_LAYOUT_TOKEN_NV,
next: ptr::null(),
token_type: IndirectCommandsTokenTypeNV::default(),
stream: u32::default(),
offset: u32::default(),
vertex_binding_unit: u32::default(),
vertex_dynamic_stride: Bool32::default(),
pushconstant_pipeline_layout: PipelineLayout::default(),
pushconstant_shader_stage_flags: ShaderStageFlags::default(),
pushconstant_offset: u32::default(),
pushconstant_size: u32::default(),
indirect_state_flags: IndirectStateFlagsNV::default(),
index_type_count: u32::default(),
index_types: ptr::null(),
index_type_values: ptr::null(),
}
}
}
unsafe impl Send for IndirectCommandsLayoutTokenNV {}
unsafe impl Sync for IndirectCommandsLayoutTokenNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkIndirectCommandsPushConstantTokenEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct IndirectCommandsPushConstantTokenEXT {
pub update_range: PushConstantRange,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkIndirectCommandsStreamNV.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct IndirectCommandsStreamNV {
pub buffer: Buffer,
pub offset: DeviceSize,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkIndirectCommandsVertexBufferTokenEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct IndirectCommandsVertexBufferTokenEXT {
pub vertex_binding_unit: u32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkIndirectExecutionSetCreateInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug)]
pub struct IndirectExecutionSetCreateInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub type_: IndirectExecutionSetInfoTypeEXT,
pub info: IndirectExecutionSetInfoEXT,
}
impl Default for IndirectExecutionSetCreateInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::INDIRECT_EXECUTION_SET_CREATE_INFO_EXT,
next: ptr::null(),
type_: IndirectExecutionSetInfoTypeEXT::default(),
info: IndirectExecutionSetInfoEXT::default(),
}
}
}
unsafe impl Send for IndirectExecutionSetCreateInfoEXT {}
unsafe impl Sync for IndirectExecutionSetCreateInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkIndirectExecutionSetPipelineInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct IndirectExecutionSetPipelineInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub initial_pipeline: Pipeline,
pub max_pipeline_count: u32,
}
impl Default for IndirectExecutionSetPipelineInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::INDIRECT_EXECUTION_SET_PIPELINE_INFO_EXT,
next: ptr::null(),
initial_pipeline: Pipeline::default(),
max_pipeline_count: u32::default(),
}
}
}
unsafe impl Send for IndirectExecutionSetPipelineInfoEXT {}
unsafe impl Sync for IndirectExecutionSetPipelineInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkIndirectExecutionSetShaderInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct IndirectExecutionSetShaderInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub shader_count: u32,
pub initial_shaders: *const ShaderEXT,
pub set_layout_infos: *const IndirectExecutionSetShaderLayoutInfoEXT,
pub max_shader_count: u32,
pub push_constant_range_count: u32,
pub push_constant_ranges: *const PushConstantRange,
}
impl Default for IndirectExecutionSetShaderInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::INDIRECT_EXECUTION_SET_SHADER_INFO_EXT,
next: ptr::null(),
shader_count: u32::default(),
initial_shaders: ptr::null(),
set_layout_infos: ptr::null(),
max_shader_count: u32::default(),
push_constant_range_count: u32::default(),
push_constant_ranges: ptr::null(),
}
}
}
unsafe impl Send for IndirectExecutionSetShaderInfoEXT {}
unsafe impl Sync for IndirectExecutionSetShaderInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkIndirectExecutionSetShaderLayoutInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct IndirectExecutionSetShaderLayoutInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub set_layout_count: u32,
pub set_layouts: *const DescriptorSetLayout,
}
impl Default for IndirectExecutionSetShaderLayoutInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::INDIRECT_EXECUTION_SET_SHADER_LAYOUT_INFO_EXT,
next: ptr::null(),
set_layout_count: u32::default(),
set_layouts: ptr::null(),
}
}
}
unsafe impl Send for IndirectExecutionSetShaderLayoutInfoEXT {}
unsafe impl Sync for IndirectExecutionSetShaderLayoutInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkInitializePerformanceApiInfoINTEL.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct InitializePerformanceApiInfoINTEL {
pub s_type: StructureType,
pub next: *const c_void,
pub user_data: *mut c_void,
}
impl Default for InitializePerformanceApiInfoINTEL {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::INITIALIZE_PERFORMANCE_API_INFO_INTEL,
next: ptr::null(),
user_data: ptr::null_mut(),
}
}
}
unsafe impl Send for InitializePerformanceApiInfoINTEL {}
unsafe impl Sync for InitializePerformanceApiInfoINTEL {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkInputAttachmentAspectReference.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct InputAttachmentAspectReference {
pub subpass: u32,
pub input_attachment_index: u32,
pub aspect_mask: ImageAspectFlags,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkInstanceCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct InstanceCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: InstanceCreateFlags,
pub application_info: *const ApplicationInfo,
pub enabled_layer_count: u32,
pub enabled_layer_names: *const *const c_char,
pub enabled_extension_count: u32,
pub enabled_extension_names: *const *const c_char,
}
impl Default for InstanceCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::INSTANCE_CREATE_INFO,
next: ptr::null(),
flags: InstanceCreateFlags::default(),
application_info: ptr::null(),
enabled_layer_count: u32::default(),
enabled_layer_names: ptr::null(),
enabled_extension_count: u32::default(),
enabled_extension_names: ptr::null(),
}
}
}
unsafe impl Send for InstanceCreateInfo {}
unsafe impl Sync for InstanceCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkLatencySleepInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct LatencySleepInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub signal_semaphore: Semaphore,
pub value: u64,
}
impl Default for LatencySleepInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::LATENCY_SLEEP_INFO_NV,
next: ptr::null(),
signal_semaphore: Semaphore::default(),
value: u64::default(),
}
}
}
unsafe impl Send for LatencySleepInfoNV {}
unsafe impl Sync for LatencySleepInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkLatencySleepModeInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct LatencySleepModeInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub low_latency_mode: Bool32,
pub low_latency_boost: Bool32,
pub minimum_interval_us: u32,
}
impl Default for LatencySleepModeInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::LATENCY_SLEEP_MODE_INFO_NV,
next: ptr::null(),
low_latency_mode: Bool32::default(),
low_latency_boost: Bool32::default(),
minimum_interval_us: u32::default(),
}
}
}
unsafe impl Send for LatencySleepModeInfoNV {}
unsafe impl Sync for LatencySleepModeInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkLatencySubmissionPresentIdNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct LatencySubmissionPresentIdNV {
pub s_type: StructureType,
pub next: *const c_void,
pub present_id: u64,
}
impl Default for LatencySubmissionPresentIdNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::LATENCY_SUBMISSION_PRESENT_ID_NV,
next: ptr::null(),
present_id: u64::default(),
}
}
}
unsafe impl Send for LatencySubmissionPresentIdNV {}
unsafe impl Sync for LatencySubmissionPresentIdNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkLatencySurfaceCapabilitiesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct LatencySurfaceCapabilitiesNV {
pub s_type: StructureType,
pub next: *const c_void,
pub present_mode_count: u32,
pub present_modes: *mut PresentModeKHR,
}
impl Default for LatencySurfaceCapabilitiesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::LATENCY_SURFACE_CAPABILITIES_NV,
next: ptr::null(),
present_mode_count: u32::default(),
present_modes: ptr::null_mut(),
}
}
}
unsafe impl Send for LatencySurfaceCapabilitiesNV {}
unsafe impl Sync for LatencySurfaceCapabilitiesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkLatencyTimingsFrameReportNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct LatencyTimingsFrameReportNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub present_id: u64,
pub input_sample_time_us: u64,
pub sim_start_time_us: u64,
pub sim_end_time_us: u64,
pub render_submit_start_time_us: u64,
pub render_submit_end_time_us: u64,
pub present_start_time_us: u64,
pub present_end_time_us: u64,
pub driver_start_time_us: u64,
pub driver_end_time_us: u64,
pub os_render_queue_start_time_us: u64,
pub os_render_queue_end_time_us: u64,
pub gpu_render_start_time_us: u64,
pub gpu_render_end_time_us: u64,
}
impl Default for LatencyTimingsFrameReportNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::LATENCY_TIMINGS_FRAME_REPORT_NV,
next: ptr::null_mut(),
present_id: u64::default(),
input_sample_time_us: u64::default(),
sim_start_time_us: u64::default(),
sim_end_time_us: u64::default(),
render_submit_start_time_us: u64::default(),
render_submit_end_time_us: u64::default(),
present_start_time_us: u64::default(),
present_end_time_us: u64::default(),
driver_start_time_us: u64::default(),
driver_end_time_us: u64::default(),
os_render_queue_start_time_us: u64::default(),
os_render_queue_end_time_us: u64::default(),
gpu_render_start_time_us: u64::default(),
gpu_render_end_time_us: u64::default(),
}
}
}
unsafe impl Send for LatencyTimingsFrameReportNV {}
unsafe impl Sync for LatencyTimingsFrameReportNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkLayerProperties.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct LayerProperties {
pub layer_name: StringArray<MAX_EXTENSION_NAME_SIZE>,
pub spec_version: u32,
pub implementation_version: u32,
pub description: StringArray<MAX_DESCRIPTION_SIZE>,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkLayerSettingEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct LayerSettingEXT {
pub layer_name: *const c_char,
pub setting_name: *const c_char,
pub type_: LayerSettingTypeEXT,
pub value_count: u32,
pub values: *const c_void,
}
impl Default for LayerSettingEXT {
#[inline]
fn default() -> Self {
Self {
layer_name: ptr::null(),
setting_name: ptr::null(),
type_: LayerSettingTypeEXT::default(),
value_count: u32::default(),
values: ptr::null(),
}
}
}
unsafe impl Send for LayerSettingEXT {}
unsafe impl Sync for LayerSettingEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkLayerSettingsCreateInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct LayerSettingsCreateInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub setting_count: u32,
pub settings: *const LayerSettingEXT,
}
impl Default for LayerSettingsCreateInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::LAYER_SETTINGS_CREATE_INFO_EXT,
next: ptr::null(),
setting_count: u32::default(),
settings: ptr::null(),
}
}
}
unsafe impl Send for LayerSettingsCreateInfoEXT {}
unsafe impl Sync for LayerSettingsCreateInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMacOSSurfaceCreateInfoMVK.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct MacOSSurfaceCreateInfoMVK {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: MacOSSurfaceCreateFlagsMVK,
pub view: *const c_void,
}
impl Default for MacOSSurfaceCreateInfoMVK {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::MACOS_SURFACE_CREATE_INFO_MVK,
next: ptr::null(),
flags: MacOSSurfaceCreateFlagsMVK::default(),
view: ptr::null(),
}
}
}
unsafe impl Send for MacOSSurfaceCreateInfoMVK {}
unsafe impl Sync for MacOSSurfaceCreateInfoMVK {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMappedMemoryRange.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct MappedMemoryRange {
pub s_type: StructureType,
pub next: *const c_void,
pub memory: DeviceMemory,
pub offset: DeviceSize,
pub size: DeviceSize,
}
impl Default for MappedMemoryRange {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::MAPPED_MEMORY_RANGE,
next: ptr::null(),
memory: DeviceMemory::default(),
offset: DeviceSize::default(),
size: DeviceSize::default(),
}
}
}
unsafe impl Send for MappedMemoryRange {}
unsafe impl Sync for MappedMemoryRange {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMemoryAllocateFlagsInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct MemoryAllocateFlagsInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: MemoryAllocateFlags,
pub device_mask: u32,
}
impl Default for MemoryAllocateFlagsInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::MEMORY_ALLOCATE_FLAGS_INFO,
next: ptr::null(),
flags: MemoryAllocateFlags::default(),
device_mask: u32::default(),
}
}
}
unsafe impl Send for MemoryAllocateFlagsInfo {}
unsafe impl Sync for MemoryAllocateFlagsInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMemoryAllocateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct MemoryAllocateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub allocation_size: DeviceSize,
pub memory_type_index: u32,
}
impl Default for MemoryAllocateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::MEMORY_ALLOCATE_INFO,
next: ptr::null(),
allocation_size: DeviceSize::default(),
memory_type_index: u32::default(),
}
}
}
unsafe impl Send for MemoryAllocateInfo {}
unsafe impl Sync for MemoryAllocateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMemoryBarrier.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct MemoryBarrier {
pub s_type: StructureType,
pub next: *const c_void,
pub src_access_mask: AccessFlags,
pub dst_access_mask: AccessFlags,
}
impl Default for MemoryBarrier {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::MEMORY_BARRIER,
next: ptr::null(),
src_access_mask: AccessFlags::default(),
dst_access_mask: AccessFlags::default(),
}
}
}
unsafe impl Send for MemoryBarrier {}
unsafe impl Sync for MemoryBarrier {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMemoryBarrier2.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct MemoryBarrier2 {
pub s_type: StructureType,
pub next: *const c_void,
pub src_stage_mask: PipelineStageFlags2,
pub src_access_mask: AccessFlags2,
pub dst_stage_mask: PipelineStageFlags2,
pub dst_access_mask: AccessFlags2,
}
impl Default for MemoryBarrier2 {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::MEMORY_BARRIER_2,
next: ptr::null(),
src_stage_mask: PipelineStageFlags2::default(),
src_access_mask: AccessFlags2::default(),
dst_stage_mask: PipelineStageFlags2::default(),
dst_access_mask: AccessFlags2::default(),
}
}
}
unsafe impl Send for MemoryBarrier2 {}
unsafe impl Sync for MemoryBarrier2 {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMemoryBarrierAccessFlags3KHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct MemoryBarrierAccessFlags3KHR {
pub s_type: StructureType,
pub next: *const c_void,
pub src_access_mask3: AccessFlags3KHR,
pub dst_access_mask3: AccessFlags3KHR,
}
impl Default for MemoryBarrierAccessFlags3KHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::MEMORY_BARRIER_ACCESS_FLAGS_3_KHR,
next: ptr::null(),
src_access_mask3: AccessFlags3KHR::default(),
dst_access_mask3: AccessFlags3KHR::default(),
}
}
}
unsafe impl Send for MemoryBarrierAccessFlags3KHR {}
unsafe impl Sync for MemoryBarrierAccessFlags3KHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMemoryDedicatedAllocateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct MemoryDedicatedAllocateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub image: Image,
pub buffer: Buffer,
}
impl Default for MemoryDedicatedAllocateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::MEMORY_DEDICATED_ALLOCATE_INFO,
next: ptr::null(),
image: Image::default(),
buffer: Buffer::default(),
}
}
}
unsafe impl Send for MemoryDedicatedAllocateInfo {}
unsafe impl Sync for MemoryDedicatedAllocateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMemoryDedicatedAllocateInfoTensorARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct MemoryDedicatedAllocateInfoTensorARM {
pub s_type: StructureType,
pub next: *const c_void,
pub tensor: TensorARM,
}
impl Default for MemoryDedicatedAllocateInfoTensorARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::MEMORY_DEDICATED_ALLOCATE_INFO_TENSOR_ARM,
next: ptr::null(),
tensor: TensorARM::default(),
}
}
}
unsafe impl Send for MemoryDedicatedAllocateInfoTensorARM {}
unsafe impl Sync for MemoryDedicatedAllocateInfoTensorARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMemoryDedicatedRequirements.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct MemoryDedicatedRequirements {
pub s_type: StructureType,
pub next: *mut c_void,
pub prefers_dedicated_allocation: Bool32,
pub requires_dedicated_allocation: Bool32,
}
impl Default for MemoryDedicatedRequirements {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::MEMORY_DEDICATED_REQUIREMENTS,
next: ptr::null_mut(),
prefers_dedicated_allocation: Bool32::default(),
requires_dedicated_allocation: Bool32::default(),
}
}
}
unsafe impl Send for MemoryDedicatedRequirements {}
unsafe impl Sync for MemoryDedicatedRequirements {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMemoryFdPropertiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct MemoryFdPropertiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub memory_type_bits: u32,
}
impl Default for MemoryFdPropertiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::MEMORY_FD_PROPERTIES_KHR,
next: ptr::null_mut(),
memory_type_bits: u32::default(),
}
}
}
unsafe impl Send for MemoryFdPropertiesKHR {}
unsafe impl Sync for MemoryFdPropertiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMemoryGetAndroidHardwareBufferInfoANDROID.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct MemoryGetAndroidHardwareBufferInfoANDROID {
pub s_type: StructureType,
pub next: *const c_void,
pub memory: DeviceMemory,
}
impl Default for MemoryGetAndroidHardwareBufferInfoANDROID {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID,
next: ptr::null(),
memory: DeviceMemory::default(),
}
}
}
unsafe impl Send for MemoryGetAndroidHardwareBufferInfoANDROID {}
unsafe impl Sync for MemoryGetAndroidHardwareBufferInfoANDROID {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMemoryGetFdInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct MemoryGetFdInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub memory: DeviceMemory,
pub handle_type: ExternalMemoryHandleTypeFlags,
}
impl Default for MemoryGetFdInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::MEMORY_GET_FD_INFO_KHR,
next: ptr::null(),
memory: DeviceMemory::default(),
handle_type: ExternalMemoryHandleTypeFlags::default(),
}
}
}
unsafe impl Send for MemoryGetFdInfoKHR {}
unsafe impl Sync for MemoryGetFdInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMemoryGetMetalHandleInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct MemoryGetMetalHandleInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub memory: DeviceMemory,
pub handle_type: ExternalMemoryHandleTypeFlags,
}
impl Default for MemoryGetMetalHandleInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::MEMORY_GET_METAL_HANDLE_INFO_EXT,
next: ptr::null(),
memory: DeviceMemory::default(),
handle_type: ExternalMemoryHandleTypeFlags::default(),
}
}
}
unsafe impl Send for MemoryGetMetalHandleInfoEXT {}
unsafe impl Sync for MemoryGetMetalHandleInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMemoryGetNativeBufferInfoOHOS.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct MemoryGetNativeBufferInfoOHOS {
pub s_type: StructureType,
pub next: *const c_void,
pub memory: DeviceMemory,
}
impl Default for MemoryGetNativeBufferInfoOHOS {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::MEMORY_GET_NATIVE_BUFFER_INFO_OHOS,
next: ptr::null(),
memory: DeviceMemory::default(),
}
}
}
unsafe impl Send for MemoryGetNativeBufferInfoOHOS {}
unsafe impl Sync for MemoryGetNativeBufferInfoOHOS {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMemoryGetRemoteAddressInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct MemoryGetRemoteAddressInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub memory: DeviceMemory,
pub handle_type: ExternalMemoryHandleTypeFlags,
}
impl Default for MemoryGetRemoteAddressInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::MEMORY_GET_REMOTE_ADDRESS_INFO_NV,
next: ptr::null(),
memory: DeviceMemory::default(),
handle_type: ExternalMemoryHandleTypeFlags::default(),
}
}
}
unsafe impl Send for MemoryGetRemoteAddressInfoNV {}
unsafe impl Sync for MemoryGetRemoteAddressInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMemoryGetSciBufInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct MemoryGetSciBufInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub memory: DeviceMemory,
pub handle_type: ExternalMemoryHandleTypeFlags,
}
impl Default for MemoryGetSciBufInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::MEMORY_GET_SCI_BUF_INFO_NV,
next: ptr::null(),
memory: DeviceMemory::default(),
handle_type: ExternalMemoryHandleTypeFlags::default(),
}
}
}
unsafe impl Send for MemoryGetSciBufInfoNV {}
unsafe impl Sync for MemoryGetSciBufInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMemoryGetWin32HandleInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct MemoryGetWin32HandleInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub memory: DeviceMemory,
pub handle_type: ExternalMemoryHandleTypeFlags,
}
impl Default for MemoryGetWin32HandleInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::MEMORY_GET_WIN32_HANDLE_INFO_KHR,
next: ptr::null(),
memory: DeviceMemory::default(),
handle_type: ExternalMemoryHandleTypeFlags::default(),
}
}
}
unsafe impl Send for MemoryGetWin32HandleInfoKHR {}
unsafe impl Sync for MemoryGetWin32HandleInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMemoryGetZirconHandleInfoFUCHSIA.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct MemoryGetZirconHandleInfoFUCHSIA {
pub s_type: StructureType,
pub next: *const c_void,
pub memory: DeviceMemory,
pub handle_type: ExternalMemoryHandleTypeFlags,
}
impl Default for MemoryGetZirconHandleInfoFUCHSIA {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA,
next: ptr::null(),
memory: DeviceMemory::default(),
handle_type: ExternalMemoryHandleTypeFlags::default(),
}
}
}
unsafe impl Send for MemoryGetZirconHandleInfoFUCHSIA {}
unsafe impl Sync for MemoryGetZirconHandleInfoFUCHSIA {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMemoryHeap.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct MemoryHeap {
pub size: DeviceSize,
pub flags: MemoryHeapFlags,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMemoryHostPointerPropertiesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct MemoryHostPointerPropertiesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub memory_type_bits: u32,
}
impl Default for MemoryHostPointerPropertiesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::MEMORY_HOST_POINTER_PROPERTIES_EXT,
next: ptr::null_mut(),
memory_type_bits: u32::default(),
}
}
}
unsafe impl Send for MemoryHostPointerPropertiesEXT {}
unsafe impl Sync for MemoryHostPointerPropertiesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMemoryMapInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct MemoryMapInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: MemoryMapFlags,
pub memory: DeviceMemory,
pub offset: DeviceSize,
pub size: DeviceSize,
}
impl Default for MemoryMapInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::MEMORY_MAP_INFO,
next: ptr::null(),
flags: MemoryMapFlags::default(),
memory: DeviceMemory::default(),
offset: DeviceSize::default(),
size: DeviceSize::default(),
}
}
}
unsafe impl Send for MemoryMapInfo {}
unsafe impl Sync for MemoryMapInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMemoryMapPlacedInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct MemoryMapPlacedInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub placed_address: *mut c_void,
}
impl Default for MemoryMapPlacedInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::MEMORY_MAP_PLACED_INFO_EXT,
next: ptr::null(),
placed_address: ptr::null_mut(),
}
}
}
unsafe impl Send for MemoryMapPlacedInfoEXT {}
unsafe impl Sync for MemoryMapPlacedInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMemoryMetalHandlePropertiesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct MemoryMetalHandlePropertiesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub memory_type_bits: u32,
}
impl Default for MemoryMetalHandlePropertiesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::MEMORY_METAL_HANDLE_PROPERTIES_EXT,
next: ptr::null_mut(),
memory_type_bits: u32::default(),
}
}
}
unsafe impl Send for MemoryMetalHandlePropertiesEXT {}
unsafe impl Sync for MemoryMetalHandlePropertiesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMemoryOpaqueCaptureAddressAllocateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct MemoryOpaqueCaptureAddressAllocateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub opaque_capture_address: u64,
}
impl Default for MemoryOpaqueCaptureAddressAllocateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO,
next: ptr::null(),
opaque_capture_address: u64::default(),
}
}
}
unsafe impl Send for MemoryOpaqueCaptureAddressAllocateInfo {}
unsafe impl Sync for MemoryOpaqueCaptureAddressAllocateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMemoryPriorityAllocateInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct MemoryPriorityAllocateInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub priority: f32,
}
impl Default for MemoryPriorityAllocateInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::MEMORY_PRIORITY_ALLOCATE_INFO_EXT,
next: ptr::null(),
priority: f32::default(),
}
}
}
unsafe impl Send for MemoryPriorityAllocateInfoEXT {}
unsafe impl Sync for MemoryPriorityAllocateInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMemoryRequirements.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct MemoryRequirements {
pub size: DeviceSize,
pub alignment: DeviceSize,
pub memory_type_bits: u32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMemoryRequirements2.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct MemoryRequirements2 {
pub s_type: StructureType,
pub next: *mut c_void,
pub memory_requirements: MemoryRequirements,
}
impl Default for MemoryRequirements2 {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::MEMORY_REQUIREMENTS_2,
next: ptr::null_mut(),
memory_requirements: MemoryRequirements::default(),
}
}
}
unsafe impl Send for MemoryRequirements2 {}
unsafe impl Sync for MemoryRequirements2 {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMemorySciBufPropertiesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct MemorySciBufPropertiesNV {
pub s_type: StructureType,
pub next: *const c_void,
pub memory_type_bits: u32,
}
impl Default for MemorySciBufPropertiesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::MEMORY_SCI_BUF_PROPERTIES_NV,
next: ptr::null(),
memory_type_bits: u32::default(),
}
}
}
unsafe impl Send for MemorySciBufPropertiesNV {}
unsafe impl Sync for MemorySciBufPropertiesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMemoryToImageCopy.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct MemoryToImageCopy {
pub s_type: StructureType,
pub next: *const c_void,
pub host_pointer: *const c_void,
pub memory_row_length: u32,
pub memory_image_height: u32,
pub image_subresource: ImageSubresourceLayers,
pub image_offset: Offset3D,
pub image_extent: Extent3D,
}
impl Default for MemoryToImageCopy {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::MEMORY_TO_IMAGE_COPY,
next: ptr::null(),
host_pointer: ptr::null(),
memory_row_length: u32::default(),
memory_image_height: u32::default(),
image_subresource: ImageSubresourceLayers::default(),
image_offset: Offset3D::default(),
image_extent: Extent3D::default(),
}
}
}
unsafe impl Send for MemoryToImageCopy {}
unsafe impl Sync for MemoryToImageCopy {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMemoryType.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct MemoryType {
pub property_flags: MemoryPropertyFlags,
pub heap_index: u32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMemoryUnmapInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct MemoryUnmapInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: MemoryUnmapFlags,
pub memory: DeviceMemory,
}
impl Default for MemoryUnmapInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::MEMORY_UNMAP_INFO,
next: ptr::null(),
flags: MemoryUnmapFlags::default(),
memory: DeviceMemory::default(),
}
}
}
unsafe impl Send for MemoryUnmapInfo {}
unsafe impl Sync for MemoryUnmapInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMemoryWin32HandlePropertiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct MemoryWin32HandlePropertiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub memory_type_bits: u32,
}
impl Default for MemoryWin32HandlePropertiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::MEMORY_WIN32_HANDLE_PROPERTIES_KHR,
next: ptr::null_mut(),
memory_type_bits: u32::default(),
}
}
}
unsafe impl Send for MemoryWin32HandlePropertiesKHR {}
unsafe impl Sync for MemoryWin32HandlePropertiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMemoryZirconHandlePropertiesFUCHSIA.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct MemoryZirconHandlePropertiesFUCHSIA {
pub s_type: StructureType,
pub next: *mut c_void,
pub memory_type_bits: u32,
}
impl Default for MemoryZirconHandlePropertiesFUCHSIA {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA,
next: ptr::null_mut(),
memory_type_bits: u32::default(),
}
}
}
unsafe impl Send for MemoryZirconHandlePropertiesFUCHSIA {}
unsafe impl Sync for MemoryZirconHandlePropertiesFUCHSIA {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMetalSurfaceCreateInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct MetalSurfaceCreateInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: MetalSurfaceCreateFlagsEXT,
pub layer: *const CAMetalLayer,
}
impl Default for MetalSurfaceCreateInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::METAL_SURFACE_CREATE_INFO_EXT,
next: ptr::null(),
flags: MetalSurfaceCreateFlagsEXT::default(),
layer: ptr::null(),
}
}
}
unsafe impl Send for MetalSurfaceCreateInfoEXT {}
unsafe impl Sync for MetalSurfaceCreateInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMicromapBuildInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug)]
pub struct MicromapBuildInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub type_: MicromapTypeEXT,
pub flags: BuildMicromapFlagsEXT,
pub mode: BuildMicromapModeEXT,
pub dst_micromap: MicromapEXT,
pub usage_counts_count: u32,
pub usage_counts: *const MicromapUsageEXT,
pub pointer_usage_counts: *const *const MicromapUsageEXT,
pub data: DeviceOrHostAddressConstKHR,
pub scratch_data: DeviceOrHostAddressKHR,
pub triangle_array: DeviceOrHostAddressConstKHR,
pub triangle_array_stride: DeviceSize,
}
impl Default for MicromapBuildInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::MICROMAP_BUILD_INFO_EXT,
next: ptr::null(),
type_: MicromapTypeEXT::default(),
flags: BuildMicromapFlagsEXT::default(),
mode: BuildMicromapModeEXT::default(),
dst_micromap: MicromapEXT::default(),
usage_counts_count: u32::default(),
usage_counts: ptr::null(),
pointer_usage_counts: ptr::null(),
data: DeviceOrHostAddressConstKHR::default(),
scratch_data: DeviceOrHostAddressKHR::default(),
triangle_array: DeviceOrHostAddressConstKHR::default(),
triangle_array_stride: DeviceSize::default(),
}
}
}
unsafe impl Send for MicromapBuildInfoEXT {}
unsafe impl Sync for MicromapBuildInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMicromapBuildSizesInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct MicromapBuildSizesInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub micromap_size: DeviceSize,
pub build_scratch_size: DeviceSize,
pub discardable: Bool32,
}
impl Default for MicromapBuildSizesInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::MICROMAP_BUILD_SIZES_INFO_EXT,
next: ptr::null(),
micromap_size: DeviceSize::default(),
build_scratch_size: DeviceSize::default(),
discardable: Bool32::default(),
}
}
}
unsafe impl Send for MicromapBuildSizesInfoEXT {}
unsafe impl Sync for MicromapBuildSizesInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMicromapCreateInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct MicromapCreateInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub create_flags: MicromapCreateFlagsEXT,
pub buffer: Buffer,
pub offset: DeviceSize,
pub size: DeviceSize,
pub type_: MicromapTypeEXT,
pub device_address: DeviceAddress,
}
impl Default for MicromapCreateInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::MICROMAP_CREATE_INFO_EXT,
next: ptr::null(),
create_flags: MicromapCreateFlagsEXT::default(),
buffer: Buffer::default(),
offset: DeviceSize::default(),
size: DeviceSize::default(),
type_: MicromapTypeEXT::default(),
device_address: DeviceAddress::default(),
}
}
}
unsafe impl Send for MicromapCreateInfoEXT {}
unsafe impl Sync for MicromapCreateInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMicromapTriangleEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct MicromapTriangleEXT {
pub data_offset: u32,
pub subdivision_level: u16,
pub format: u16,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMicromapUsageEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct MicromapUsageEXT {
pub count: u32,
pub subdivision_level: u32,
pub format: u32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMicromapVersionInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct MicromapVersionInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub version_data: *const u8,
}
impl Default for MicromapVersionInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::MICROMAP_VERSION_INFO_EXT,
next: ptr::null(),
version_data: ptr::null(),
}
}
}
unsafe impl Send for MicromapVersionInfoEXT {}
unsafe impl Sync for MicromapVersionInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMultiDrawIndexedInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct MultiDrawIndexedInfoEXT {
pub first_index: u32,
pub index_count: u32,
pub vertex_offset: i32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMultiDrawInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct MultiDrawInfoEXT {
pub first_vertex: u32,
pub vertex_count: u32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMultisamplePropertiesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct MultisamplePropertiesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub max_sample_location_grid_size: Extent2D,
}
impl Default for MultisamplePropertiesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::MULTISAMPLE_PROPERTIES_EXT,
next: ptr::null_mut(),
max_sample_location_grid_size: Extent2D::default(),
}
}
}
unsafe impl Send for MultisamplePropertiesEXT {}
unsafe impl Sync for MultisamplePropertiesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMultisampledRenderToSingleSampledInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct MultisampledRenderToSingleSampledInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub multisampled_render_to_single_sampled_enable: Bool32,
pub rasterization_samples: SampleCountFlags,
}
impl Default for MultisampledRenderToSingleSampledInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT,
next: ptr::null(),
multisampled_render_to_single_sampled_enable: Bool32::default(),
rasterization_samples: SampleCountFlags::default(),
}
}
}
unsafe impl Send for MultisampledRenderToSingleSampledInfoEXT {}
unsafe impl Sync for MultisampledRenderToSingleSampledInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMultiviewPerViewAttributesInfoNVX.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct MultiviewPerViewAttributesInfoNVX {
pub s_type: StructureType,
pub next: *const c_void,
pub per_view_attributes: Bool32,
pub per_view_attributes_position_x_only: Bool32,
}
impl Default for MultiviewPerViewAttributesInfoNVX {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX,
next: ptr::null(),
per_view_attributes: Bool32::default(),
per_view_attributes_position_x_only: Bool32::default(),
}
}
}
unsafe impl Send for MultiviewPerViewAttributesInfoNVX {}
unsafe impl Sync for MultiviewPerViewAttributesInfoNVX {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM {
pub s_type: StructureType,
pub next: *const c_void,
pub per_view_render_area_count: u32,
pub per_view_render_areas: *const Rect2D,
}
impl Default for MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM,
next: ptr::null(),
per_view_render_area_count: u32::default(),
per_view_render_areas: ptr::null(),
}
}
}
unsafe impl Send for MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM {}
unsafe impl Sync for MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMutableDescriptorTypeCreateInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct MutableDescriptorTypeCreateInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub mutable_descriptor_type_list_count: u32,
pub mutable_descriptor_type_lists: *const MutableDescriptorTypeListEXT,
}
impl Default for MutableDescriptorTypeCreateInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT,
next: ptr::null(),
mutable_descriptor_type_list_count: u32::default(),
mutable_descriptor_type_lists: ptr::null(),
}
}
}
unsafe impl Send for MutableDescriptorTypeCreateInfoEXT {}
unsafe impl Sync for MutableDescriptorTypeCreateInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMutableDescriptorTypeListEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct MutableDescriptorTypeListEXT {
pub descriptor_type_count: u32,
pub descriptor_types: *const DescriptorType,
}
impl Default for MutableDescriptorTypeListEXT {
#[inline]
fn default() -> Self {
Self {
descriptor_type_count: u32::default(),
descriptor_types: ptr::null(),
}
}
}
unsafe impl Send for MutableDescriptorTypeListEXT {}
unsafe impl Sync for MutableDescriptorTypeListEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkNativeBufferFormatPropertiesOHOS.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct NativeBufferFormatPropertiesOHOS {
pub s_type: StructureType,
pub next: *mut c_void,
pub format: Format,
pub external_format: u64,
pub format_features: FormatFeatureFlags,
pub sampler_ycbcr_conversion_components: ComponentMapping,
pub suggested_ycbcr_model: SamplerYcbcrModelConversion,
pub suggested_ycbcr_range: SamplerYcbcrRange,
pub suggested_x_chroma_offset: ChromaLocation,
pub suggested_y_chroma_offset: ChromaLocation,
}
impl Default for NativeBufferFormatPropertiesOHOS {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::NATIVE_BUFFER_FORMAT_PROPERTIES_OHOS,
next: ptr::null_mut(),
format: Format::default(),
external_format: u64::default(),
format_features: FormatFeatureFlags::default(),
sampler_ycbcr_conversion_components: ComponentMapping::default(),
suggested_ycbcr_model: SamplerYcbcrModelConversion::default(),
suggested_ycbcr_range: SamplerYcbcrRange::default(),
suggested_x_chroma_offset: ChromaLocation::default(),
suggested_y_chroma_offset: ChromaLocation::default(),
}
}
}
unsafe impl Send for NativeBufferFormatPropertiesOHOS {}
unsafe impl Sync for NativeBufferFormatPropertiesOHOS {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkNativeBufferPropertiesOHOS.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct NativeBufferPropertiesOHOS {
pub s_type: StructureType,
pub next: *mut c_void,
pub allocation_size: DeviceSize,
pub memory_type_bits: u32,
}
impl Default for NativeBufferPropertiesOHOS {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::NATIVE_BUFFER_PROPERTIES_OHOS,
next: ptr::null_mut(),
allocation_size: DeviceSize::default(),
memory_type_bits: u32::default(),
}
}
}
unsafe impl Send for NativeBufferPropertiesOHOS {}
unsafe impl Sync for NativeBufferPropertiesOHOS {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkNativeBufferUsageOHOS.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct NativeBufferUsageOHOS {
pub s_type: StructureType,
pub next: *mut c_void,
pub ohos_native_buffer_usage: u64,
}
impl Default for NativeBufferUsageOHOS {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::NATIVE_BUFFER_USAGE_OHOS,
next: ptr::null_mut(),
ohos_native_buffer_usage: u64::default(),
}
}
}
unsafe impl Send for NativeBufferUsageOHOS {}
unsafe impl Sync for NativeBufferUsageOHOS {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkOffset2D.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct Offset2D {
pub x: i32,
pub y: i32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkOffset3D.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct Offset3D {
pub x: i32,
pub y: i32,
pub z: i32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkOpaqueCaptureDataCreateInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct OpaqueCaptureDataCreateInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub data: *const HostAddressRangeConstEXT,
}
impl Default for OpaqueCaptureDataCreateInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::OPAQUE_CAPTURE_DATA_CREATE_INFO_EXT,
next: ptr::null(),
data: ptr::null(),
}
}
}
unsafe impl Send for OpaqueCaptureDataCreateInfoEXT {}
unsafe impl Sync for OpaqueCaptureDataCreateInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkOpaqueCaptureDescriptorDataCreateInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct OpaqueCaptureDescriptorDataCreateInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub opaque_capture_descriptor_data: *const c_void,
}
impl Default for OpaqueCaptureDescriptorDataCreateInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT,
next: ptr::null(),
opaque_capture_descriptor_data: ptr::null(),
}
}
}
unsafe impl Send for OpaqueCaptureDescriptorDataCreateInfoEXT {}
unsafe impl Sync for OpaqueCaptureDescriptorDataCreateInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkOpticalFlowExecuteInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct OpticalFlowExecuteInfoNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub flags: OpticalFlowExecuteFlagsNV,
pub region_count: u32,
pub regions: *const Rect2D,
}
impl Default for OpticalFlowExecuteInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::OPTICAL_FLOW_EXECUTE_INFO_NV,
next: ptr::null_mut(),
flags: OpticalFlowExecuteFlagsNV::default(),
region_count: u32::default(),
regions: ptr::null(),
}
}
}
unsafe impl Send for OpticalFlowExecuteInfoNV {}
unsafe impl Sync for OpticalFlowExecuteInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkOpticalFlowImageFormatInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct OpticalFlowImageFormatInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub usage: OpticalFlowUsageFlagsNV,
}
impl Default for OpticalFlowImageFormatInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV,
next: ptr::null(),
usage: OpticalFlowUsageFlagsNV::default(),
}
}
}
unsafe impl Send for OpticalFlowImageFormatInfoNV {}
unsafe impl Sync for OpticalFlowImageFormatInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkOpticalFlowImageFormatPropertiesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct OpticalFlowImageFormatPropertiesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub format: Format,
}
impl Default for OpticalFlowImageFormatPropertiesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NV,
next: ptr::null_mut(),
format: Format::default(),
}
}
}
unsafe impl Send for OpticalFlowImageFormatPropertiesNV {}
unsafe impl Sync for OpticalFlowImageFormatPropertiesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkOpticalFlowSessionCreateInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct OpticalFlowSessionCreateInfoNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub width: u32,
pub height: u32,
pub image_format: Format,
pub flow_vector_format: Format,
pub cost_format: Format,
pub output_grid_size: OpticalFlowGridSizeFlagsNV,
pub hint_grid_size: OpticalFlowGridSizeFlagsNV,
pub performance_level: OpticalFlowPerformanceLevelNV,
pub flags: OpticalFlowSessionCreateFlagsNV,
}
impl Default for OpticalFlowSessionCreateInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::OPTICAL_FLOW_SESSION_CREATE_INFO_NV,
next: ptr::null_mut(),
width: u32::default(),
height: u32::default(),
image_format: Format::default(),
flow_vector_format: Format::default(),
cost_format: Format::default(),
output_grid_size: OpticalFlowGridSizeFlagsNV::default(),
hint_grid_size: OpticalFlowGridSizeFlagsNV::default(),
performance_level: OpticalFlowPerformanceLevelNV::default(),
flags: OpticalFlowSessionCreateFlagsNV::default(),
}
}
}
unsafe impl Send for OpticalFlowSessionCreateInfoNV {}
unsafe impl Sync for OpticalFlowSessionCreateInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkOpticalFlowSessionCreatePrivateDataInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct OpticalFlowSessionCreatePrivateDataInfoNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub id: u32,
pub size: u32,
pub private_data: *const c_void,
}
impl Default for OpticalFlowSessionCreatePrivateDataInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV,
next: ptr::null_mut(),
id: u32::default(),
size: u32::default(),
private_data: ptr::null(),
}
}
}
unsafe impl Send for OpticalFlowSessionCreatePrivateDataInfoNV {}
unsafe impl Sync for OpticalFlowSessionCreatePrivateDataInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkOutOfBandQueueTypeInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct OutOfBandQueueTypeInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub queue_type: OutOfBandQueueTypeNV,
}
impl Default for OutOfBandQueueTypeInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::OUT_OF_BAND_QUEUE_TYPE_INFO_NV,
next: ptr::null(),
queue_type: OutOfBandQueueTypeNV::default(),
}
}
}
unsafe impl Send for OutOfBandQueueTypeInfoNV {}
unsafe impl Sync for OutOfBandQueueTypeInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPartitionedAccelerationStructureFlagsNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PartitionedAccelerationStructureFlagsNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub enable_partition_translation: Bool32,
}
impl Default for PartitionedAccelerationStructureFlagsNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PARTITIONED_ACCELERATION_STRUCTURE_FLAGS_NV,
next: ptr::null_mut(),
enable_partition_translation: Bool32::default(),
}
}
}
unsafe impl Send for PartitionedAccelerationStructureFlagsNV {}
unsafe impl Sync for PartitionedAccelerationStructureFlagsNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPartitionedAccelerationStructureInstancesInputNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PartitionedAccelerationStructureInstancesInputNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub flags: BuildAccelerationStructureFlagsKHR,
pub instance_count: u32,
pub max_instance_per_partition_count: u32,
pub partition_count: u32,
pub max_instance_in_global_partition_count: u32,
}
impl Default for PartitionedAccelerationStructureInstancesInputNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PARTITIONED_ACCELERATION_STRUCTURE_INSTANCES_INPUT_NV,
next: ptr::null_mut(),
flags: BuildAccelerationStructureFlagsKHR::default(),
instance_count: u32::default(),
max_instance_per_partition_count: u32::default(),
partition_count: u32::default(),
max_instance_in_global_partition_count: u32::default(),
}
}
}
unsafe impl Send for PartitionedAccelerationStructureInstancesInputNV {}
unsafe impl Sync for PartitionedAccelerationStructureInstancesInputNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPartitionedAccelerationStructureUpdateInstanceDataNV.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct PartitionedAccelerationStructureUpdateInstanceDataNV {
pub instance_index: u32,
pub instance_contribution_to_hit_group_index: u32,
pub acceleration_structure: DeviceAddress,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPartitionedAccelerationStructureWriteInstanceDataNV.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, PartialEq)]
pub struct PartitionedAccelerationStructureWriteInstanceDataNV {
pub transform: TransformMatrixKHR,
pub explicit_aabb: [f32; 6],
pub instance_id: u32,
pub instance_mask: u32,
pub instance_contribution_to_hit_group_index: u32,
pub instance_flags: PartitionedAccelerationStructureInstanceFlagsNV,
pub instance_index: u32,
pub partition_index: u32,
pub acceleration_structure: DeviceAddress,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPartitionedAccelerationStructureWritePartitionTranslationDataNV.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, PartialEq)]
pub struct PartitionedAccelerationStructureWritePartitionTranslationDataNV {
pub partition_index: u32,
pub partition_translation: [f32; 3],
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPastPresentationTimingEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PastPresentationTimingEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub present_id: u64,
pub target_time: u64,
pub present_stage_count: u32,
pub present_stages: *mut PresentStageTimeEXT,
pub time_domain: TimeDomainKHR,
pub time_domain_id: u64,
pub report_complete: Bool32,
}
impl Default for PastPresentationTimingEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PAST_PRESENTATION_TIMING_EXT,
next: ptr::null_mut(),
present_id: u64::default(),
target_time: u64::default(),
present_stage_count: u32::default(),
present_stages: ptr::null_mut(),
time_domain: TimeDomainKHR::default(),
time_domain_id: u64::default(),
report_complete: Bool32::default(),
}
}
}
unsafe impl Send for PastPresentationTimingEXT {}
unsafe impl Sync for PastPresentationTimingEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPastPresentationTimingGOOGLE.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct PastPresentationTimingGOOGLE {
pub present_id: u32,
pub desired_present_time: u64,
pub actual_present_time: u64,
pub earliest_present_time: u64,
pub present_margin: u64,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPastPresentationTimingInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PastPresentationTimingInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: PastPresentationTimingFlagsEXT,
pub swapchain: SwapchainKHR,
}
impl Default for PastPresentationTimingInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PAST_PRESENTATION_TIMING_INFO_EXT,
next: ptr::null(),
flags: PastPresentationTimingFlagsEXT::default(),
swapchain: SwapchainKHR::default(),
}
}
}
unsafe impl Send for PastPresentationTimingInfoEXT {}
unsafe impl Sync for PastPresentationTimingInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPastPresentationTimingPropertiesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PastPresentationTimingPropertiesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub timing_properties_counter: u64,
pub time_domains_counter: u64,
pub presentation_timing_count: u32,
pub presentation_timings: *mut PastPresentationTimingEXT,
}
impl Default for PastPresentationTimingPropertiesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PAST_PRESENTATION_TIMING_PROPERTIES_EXT,
next: ptr::null_mut(),
timing_properties_counter: u64::default(),
time_domains_counter: u64::default(),
presentation_timing_count: u32::default(),
presentation_timings: ptr::null_mut(),
}
}
}
unsafe impl Send for PastPresentationTimingPropertiesEXT {}
unsafe impl Sync for PastPresentationTimingPropertiesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPerTileBeginInfoQCOM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PerTileBeginInfoQCOM {
pub s_type: StructureType,
pub next: *const c_void,
}
impl Default for PerTileBeginInfoQCOM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PER_TILE_BEGIN_INFO_QCOM,
next: ptr::null(),
}
}
}
unsafe impl Send for PerTileBeginInfoQCOM {}
unsafe impl Sync for PerTileBeginInfoQCOM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPerTileEndInfoQCOM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PerTileEndInfoQCOM {
pub s_type: StructureType,
pub next: *const c_void,
}
impl Default for PerTileEndInfoQCOM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PER_TILE_END_INFO_QCOM,
next: ptr::null(),
}
}
}
unsafe impl Send for PerTileEndInfoQCOM {}
unsafe impl Sync for PerTileEndInfoQCOM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPerformanceConfigurationAcquireInfoINTEL.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PerformanceConfigurationAcquireInfoINTEL {
pub s_type: StructureType,
pub next: *const c_void,
pub type_: PerformanceConfigurationTypeINTEL,
}
impl Default for PerformanceConfigurationAcquireInfoINTEL {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL,
next: ptr::null(),
type_: PerformanceConfigurationTypeINTEL::default(),
}
}
}
unsafe impl Send for PerformanceConfigurationAcquireInfoINTEL {}
unsafe impl Sync for PerformanceConfigurationAcquireInfoINTEL {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPerformanceCounterARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PerformanceCounterARM {
pub s_type: StructureType,
pub next: *mut c_void,
pub counter_id: u32,
}
impl Default for PerformanceCounterARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PERFORMANCE_COUNTER_ARM,
next: ptr::null_mut(),
counter_id: u32::default(),
}
}
}
unsafe impl Send for PerformanceCounterARM {}
unsafe impl Sync for PerformanceCounterARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPerformanceCounterDescriptionARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PerformanceCounterDescriptionARM {
pub s_type: StructureType,
pub next: *mut c_void,
pub flags: PerformanceCounterDescriptionFlagsARM,
pub name: StringArray<MAX_DESCRIPTION_SIZE>,
}
impl Default for PerformanceCounterDescriptionARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PERFORMANCE_COUNTER_DESCRIPTION_ARM,
next: ptr::null_mut(),
flags: PerformanceCounterDescriptionFlagsARM::default(),
name: StringArray::default(),
}
}
}
unsafe impl Send for PerformanceCounterDescriptionARM {}
unsafe impl Sync for PerformanceCounterDescriptionARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPerformanceCounterDescriptionKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PerformanceCounterDescriptionKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub flags: PerformanceCounterDescriptionFlagsKHR,
pub name: StringArray<MAX_DESCRIPTION_SIZE>,
pub category: StringArray<MAX_DESCRIPTION_SIZE>,
pub description: StringArray<MAX_DESCRIPTION_SIZE>,
}
impl Default for PerformanceCounterDescriptionKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PERFORMANCE_COUNTER_DESCRIPTION_KHR,
next: ptr::null_mut(),
flags: PerformanceCounterDescriptionFlagsKHR::default(),
name: StringArray::default(),
category: StringArray::default(),
description: StringArray::default(),
}
}
}
unsafe impl Send for PerformanceCounterDescriptionKHR {}
unsafe impl Sync for PerformanceCounterDescriptionKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPerformanceCounterKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PerformanceCounterKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub unit: PerformanceCounterUnitKHR,
pub scope: PerformanceCounterScopeKHR,
pub storage: PerformanceCounterStorageKHR,
pub uuid: ByteArray<UUID_SIZE>,
}
impl Default for PerformanceCounterKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PERFORMANCE_COUNTER_KHR,
next: ptr::null_mut(),
unit: PerformanceCounterUnitKHR::default(),
scope: PerformanceCounterScopeKHR::default(),
storage: PerformanceCounterStorageKHR::default(),
uuid: ByteArray::default(),
}
}
}
unsafe impl Send for PerformanceCounterKHR {}
unsafe impl Sync for PerformanceCounterKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPerformanceMarkerInfoINTEL.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PerformanceMarkerInfoINTEL {
pub s_type: StructureType,
pub next: *const c_void,
pub marker: u64,
}
impl Default for PerformanceMarkerInfoINTEL {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PERFORMANCE_MARKER_INFO_INTEL,
next: ptr::null(),
marker: u64::default(),
}
}
}
unsafe impl Send for PerformanceMarkerInfoINTEL {}
unsafe impl Sync for PerformanceMarkerInfoINTEL {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPerformanceOverrideInfoINTEL.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PerformanceOverrideInfoINTEL {
pub s_type: StructureType,
pub next: *const c_void,
pub type_: PerformanceOverrideTypeINTEL,
pub enable: Bool32,
pub parameter: u64,
}
impl Default for PerformanceOverrideInfoINTEL {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PERFORMANCE_OVERRIDE_INFO_INTEL,
next: ptr::null(),
type_: PerformanceOverrideTypeINTEL::default(),
enable: Bool32::default(),
parameter: u64::default(),
}
}
}
unsafe impl Send for PerformanceOverrideInfoINTEL {}
unsafe impl Sync for PerformanceOverrideInfoINTEL {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPerformanceQueryReservationInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PerformanceQueryReservationInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub max_performance_queries_per_pool: u32,
}
impl Default for PerformanceQueryReservationInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PERFORMANCE_QUERY_RESERVATION_INFO_KHR,
next: ptr::null(),
max_performance_queries_per_pool: u32::default(),
}
}
}
unsafe impl Send for PerformanceQueryReservationInfoKHR {}
unsafe impl Sync for PerformanceQueryReservationInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPerformanceQuerySubmitInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PerformanceQuerySubmitInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub counter_pass_index: u32,
}
impl Default for PerformanceQuerySubmitInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PERFORMANCE_QUERY_SUBMIT_INFO_KHR,
next: ptr::null(),
counter_pass_index: u32::default(),
}
}
}
unsafe impl Send for PerformanceQuerySubmitInfoKHR {}
unsafe impl Sync for PerformanceQuerySubmitInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPerformanceStreamMarkerInfoINTEL.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PerformanceStreamMarkerInfoINTEL {
pub s_type: StructureType,
pub next: *const c_void,
pub marker: u32,
}
impl Default for PerformanceStreamMarkerInfoINTEL {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PERFORMANCE_STREAM_MARKER_INFO_INTEL,
next: ptr::null(),
marker: u32::default(),
}
}
}
unsafe impl Send for PerformanceStreamMarkerInfoINTEL {}
unsafe impl Sync for PerformanceStreamMarkerInfoINTEL {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPerformanceValueINTEL.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug)]
pub struct PerformanceValueINTEL {
pub type_: PerformanceValueTypeINTEL,
pub data: PerformanceValueDataINTEL,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevice16BitStorageFeatures.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDevice16BitStorageFeatures {
pub s_type: StructureType,
pub next: *mut c_void,
pub storage_buffer_16bit_access: Bool32,
pub uniform_and_storage_buffer_16bit_access: Bool32,
pub storage_push_constant16: Bool32,
pub storage_input_output16: Bool32,
}
impl Default for PhysicalDevice16BitStorageFeatures {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES,
next: ptr::null_mut(),
storage_buffer_16bit_access: Bool32::default(),
uniform_and_storage_buffer_16bit_access: Bool32::default(),
storage_push_constant16: Bool32::default(),
storage_input_output16: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDevice16BitStorageFeatures {}
unsafe impl Sync for PhysicalDevice16BitStorageFeatures {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevice4444FormatsFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDevice4444FormatsFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub format_a4_r4_g4_b4: Bool32,
pub format_a4_b4_g4_r4: Bool32,
}
impl Default for PhysicalDevice4444FormatsFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT,
next: ptr::null_mut(),
format_a4_r4_g4_b4: Bool32::default(),
format_a4_b4_g4_r4: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDevice4444FormatsFeaturesEXT {}
unsafe impl Sync for PhysicalDevice4444FormatsFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevice8BitStorageFeatures.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDevice8BitStorageFeatures {
pub s_type: StructureType,
pub next: *mut c_void,
pub storage_buffer_8bit_access: Bool32,
pub uniform_and_storage_buffer_8bit_access: Bool32,
pub storage_push_constant8: Bool32,
}
impl Default for PhysicalDevice8BitStorageFeatures {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES,
next: ptr::null_mut(),
storage_buffer_8bit_access: Bool32::default(),
uniform_and_storage_buffer_8bit_access: Bool32::default(),
storage_push_constant8: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDevice8BitStorageFeatures {}
unsafe impl Sync for PhysicalDevice8BitStorageFeatures {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceASTCDecodeFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceASTCDecodeFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub decode_mode_shared_exponent: Bool32,
}
impl Default for PhysicalDeviceASTCDecodeFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT,
next: ptr::null_mut(),
decode_mode_shared_exponent: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceASTCDecodeFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceASTCDecodeFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceAccelerationStructureFeaturesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceAccelerationStructureFeaturesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub acceleration_structure: Bool32,
pub acceleration_structure_capture_replay: Bool32,
pub acceleration_structure_indirect_build: Bool32,
pub acceleration_structure_host_commands: Bool32,
pub descriptor_binding_acceleration_structure_update_after_bind: Bool32,
}
impl Default for PhysicalDeviceAccelerationStructureFeaturesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR,
next: ptr::null_mut(),
acceleration_structure: Bool32::default(),
acceleration_structure_capture_replay: Bool32::default(),
acceleration_structure_indirect_build: Bool32::default(),
acceleration_structure_host_commands: Bool32::default(),
descriptor_binding_acceleration_structure_update_after_bind: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceAccelerationStructureFeaturesKHR {}
unsafe impl Sync for PhysicalDeviceAccelerationStructureFeaturesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceAccelerationStructurePropertiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceAccelerationStructurePropertiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub max_geometry_count: u64,
pub max_instance_count: u64,
pub max_primitive_count: u64,
pub max_per_stage_descriptor_acceleration_structures: u32,
pub max_per_stage_descriptor_update_after_bind_acceleration_structures: u32,
pub max_descriptor_set_acceleration_structures: u32,
pub max_descriptor_set_update_after_bind_acceleration_structures: u32,
pub min_acceleration_structure_scratch_offset_alignment: u32,
}
impl Default for PhysicalDeviceAccelerationStructurePropertiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR,
next: ptr::null_mut(),
max_geometry_count: u64::default(),
max_instance_count: u64::default(),
max_primitive_count: u64::default(),
max_per_stage_descriptor_acceleration_structures: u32::default(),
max_per_stage_descriptor_update_after_bind_acceleration_structures: u32::default(),
max_descriptor_set_acceleration_structures: u32::default(),
max_descriptor_set_update_after_bind_acceleration_structures: u32::default(),
min_acceleration_structure_scratch_offset_alignment: u32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceAccelerationStructurePropertiesKHR {}
unsafe impl Sync for PhysicalDeviceAccelerationStructurePropertiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceAddressBindingReportFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceAddressBindingReportFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub report_address_binding: Bool32,
}
impl Default for PhysicalDeviceAddressBindingReportFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT,
next: ptr::null_mut(),
report_address_binding: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceAddressBindingReportFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceAddressBindingReportFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceAmigoProfilingFeaturesSEC.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceAmigoProfilingFeaturesSEC {
pub s_type: StructureType,
pub next: *mut c_void,
pub amigo_profiling: Bool32,
}
impl Default for PhysicalDeviceAmigoProfilingFeaturesSEC {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC,
next: ptr::null_mut(),
amigo_profiling: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceAmigoProfilingFeaturesSEC {}
unsafe impl Sync for PhysicalDeviceAmigoProfilingFeaturesSEC {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceAntiLagFeaturesAMD.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceAntiLagFeaturesAMD {
pub s_type: StructureType,
pub next: *mut c_void,
pub anti_lag: Bool32,
}
impl Default for PhysicalDeviceAntiLagFeaturesAMD {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_ANTI_LAG_FEATURES_AMD,
next: ptr::null_mut(),
anti_lag: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceAntiLagFeaturesAMD {}
unsafe impl Sync for PhysicalDeviceAntiLagFeaturesAMD {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub attachment_feedback_loop_dynamic_state: Bool32,
}
impl Default for PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type:
StructureType::PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_FEATURES_EXT,
next: ptr::null_mut(),
attachment_feedback_loop_dynamic_state: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub attachment_feedback_loop_layout: Bool32,
}
impl Default for PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT,
next: ptr::null_mut(),
attachment_feedback_loop_layout: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceBlendOperationAdvancedFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub advanced_blend_coherent_operations: Bool32,
}
impl Default for PhysicalDeviceBlendOperationAdvancedFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT,
next: ptr::null_mut(),
advanced_blend_coherent_operations: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceBlendOperationAdvancedFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceBlendOperationAdvancedFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceBlendOperationAdvancedPropertiesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub advanced_blend_max_color_attachments: u32,
pub advanced_blend_independent_blend: Bool32,
pub advanced_blend_non_premultiplied_src_color: Bool32,
pub advanced_blend_non_premultiplied_dst_color: Bool32,
pub advanced_blend_correlated_overlap: Bool32,
pub advanced_blend_all_operations: Bool32,
}
impl Default for PhysicalDeviceBlendOperationAdvancedPropertiesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT,
next: ptr::null_mut(),
advanced_blend_max_color_attachments: u32::default(),
advanced_blend_independent_blend: Bool32::default(),
advanced_blend_non_premultiplied_src_color: Bool32::default(),
advanced_blend_non_premultiplied_dst_color: Bool32::default(),
advanced_blend_correlated_overlap: Bool32::default(),
advanced_blend_all_operations: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceBlendOperationAdvancedPropertiesEXT {}
unsafe impl Sync for PhysicalDeviceBlendOperationAdvancedPropertiesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceBorderColorSwizzleFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceBorderColorSwizzleFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub border_color_swizzle: Bool32,
pub border_color_swizzle_from_image: Bool32,
}
impl Default for PhysicalDeviceBorderColorSwizzleFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT,
next: ptr::null_mut(),
border_color_swizzle: Bool32::default(),
border_color_swizzle_from_image: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceBorderColorSwizzleFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceBorderColorSwizzleFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceBufferDeviceAddressFeatures.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceBufferDeviceAddressFeatures {
pub s_type: StructureType,
pub next: *mut c_void,
pub buffer_device_address: Bool32,
pub buffer_device_address_capture_replay: Bool32,
pub buffer_device_address_multi_device: Bool32,
}
impl Default for PhysicalDeviceBufferDeviceAddressFeatures {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES,
next: ptr::null_mut(),
buffer_device_address: Bool32::default(),
buffer_device_address_capture_replay: Bool32::default(),
buffer_device_address_multi_device: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceBufferDeviceAddressFeatures {}
unsafe impl Sync for PhysicalDeviceBufferDeviceAddressFeatures {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceBufferDeviceAddressFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceBufferDeviceAddressFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub buffer_device_address: Bool32,
pub buffer_device_address_capture_replay: Bool32,
pub buffer_device_address_multi_device: Bool32,
}
impl Default for PhysicalDeviceBufferDeviceAddressFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
next: ptr::null_mut(),
buffer_device_address: Bool32::default(),
buffer_device_address_capture_replay: Bool32::default(),
buffer_device_address_multi_device: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceBufferDeviceAddressFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceBufferDeviceAddressFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceClusterAccelerationStructureFeaturesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceClusterAccelerationStructureFeaturesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub cluster_acceleration_structure: Bool32,
}
impl Default for PhysicalDeviceClusterAccelerationStructureFeaturesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_FEATURES_NV,
next: ptr::null_mut(),
cluster_acceleration_structure: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceClusterAccelerationStructureFeaturesNV {}
unsafe impl Sync for PhysicalDeviceClusterAccelerationStructureFeaturesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceClusterAccelerationStructurePropertiesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceClusterAccelerationStructurePropertiesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub max_vertices_per_cluster: u32,
pub max_triangles_per_cluster: u32,
pub cluster_scratch_byte_alignment: u32,
pub cluster_byte_alignment: u32,
pub cluster_template_byte_alignment: u32,
pub cluster_bottom_level_byte_alignment: u32,
pub cluster_template_bounds_byte_alignment: u32,
pub max_cluster_geometry_index: u32,
}
impl Default for PhysicalDeviceClusterAccelerationStructurePropertiesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_PROPERTIES_NV,
next: ptr::null_mut(),
max_vertices_per_cluster: u32::default(),
max_triangles_per_cluster: u32::default(),
cluster_scratch_byte_alignment: u32::default(),
cluster_byte_alignment: u32::default(),
cluster_template_byte_alignment: u32::default(),
cluster_bottom_level_byte_alignment: u32::default(),
cluster_template_bounds_byte_alignment: u32::default(),
max_cluster_geometry_index: u32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceClusterAccelerationStructurePropertiesNV {}
unsafe impl Sync for PhysicalDeviceClusterAccelerationStructurePropertiesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceClusterCullingShaderFeaturesHUAWEI {
pub s_type: StructureType,
pub next: *mut c_void,
pub clusterculling_shader: Bool32,
pub multiview_cluster_culling_shader: Bool32,
}
impl Default for PhysicalDeviceClusterCullingShaderFeaturesHUAWEI {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI,
next: ptr::null_mut(),
clusterculling_shader: Bool32::default(),
multiview_cluster_culling_shader: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceClusterCullingShaderFeaturesHUAWEI {}
unsafe impl Sync for PhysicalDeviceClusterCullingShaderFeaturesHUAWEI {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceClusterCullingShaderPropertiesHUAWEI {
pub s_type: StructureType,
pub next: *mut c_void,
pub max_work_group_count: [u32; 3],
pub max_work_group_size: [u32; 3],
pub max_output_cluster_count: u32,
pub indirect_buffer_offset_alignment: DeviceSize,
}
impl Default for PhysicalDeviceClusterCullingShaderPropertiesHUAWEI {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI,
next: ptr::null_mut(),
max_work_group_count: [u32::default(); 3],
max_work_group_size: [u32::default(); 3],
max_output_cluster_count: u32::default(),
indirect_buffer_offset_alignment: DeviceSize::default(),
}
}
}
unsafe impl Send for PhysicalDeviceClusterCullingShaderPropertiesHUAWEI {}
unsafe impl Sync for PhysicalDeviceClusterCullingShaderPropertiesHUAWEI {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI {
pub s_type: StructureType,
pub next: *mut c_void,
pub cluster_shading_rate: Bool32,
}
impl Default for PhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_VRS_FEATURES_HUAWEI,
next: ptr::null_mut(),
cluster_shading_rate: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI {}
unsafe impl Sync for PhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceCoherentMemoryFeaturesAMD.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceCoherentMemoryFeaturesAMD {
pub s_type: StructureType,
pub next: *mut c_void,
pub device_coherent_memory: Bool32,
}
impl Default for PhysicalDeviceCoherentMemoryFeaturesAMD {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD,
next: ptr::null_mut(),
device_coherent_memory: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceCoherentMemoryFeaturesAMD {}
unsafe impl Sync for PhysicalDeviceCoherentMemoryFeaturesAMD {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceColorWriteEnableFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceColorWriteEnableFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub color_write_enable: Bool32,
}
impl Default for PhysicalDeviceColorWriteEnableFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT,
next: ptr::null_mut(),
color_write_enable: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceColorWriteEnableFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceColorWriteEnableFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceCommandBufferInheritanceFeaturesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceCommandBufferInheritanceFeaturesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub command_buffer_inheritance: Bool32,
}
impl Default for PhysicalDeviceCommandBufferInheritanceFeaturesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_COMMAND_BUFFER_INHERITANCE_FEATURES_NV,
next: ptr::null_mut(),
command_buffer_inheritance: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceCommandBufferInheritanceFeaturesNV {}
unsafe impl Sync for PhysicalDeviceCommandBufferInheritanceFeaturesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceComputeOccupancyPriorityFeaturesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub compute_occupancy_priority: Bool32,
}
impl Default for PhysicalDeviceComputeOccupancyPriorityFeaturesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_COMPUTE_OCCUPANCY_PRIORITY_FEATURES_NV,
next: ptr::null_mut(),
compute_occupancy_priority: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceComputeOccupancyPriorityFeaturesNV {}
unsafe impl Sync for PhysicalDeviceComputeOccupancyPriorityFeaturesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceComputeShaderDerivativesFeaturesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceComputeShaderDerivativesFeaturesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub compute_derivative_group_quads: Bool32,
pub compute_derivative_group_linear: Bool32,
}
impl Default for PhysicalDeviceComputeShaderDerivativesFeaturesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_KHR,
next: ptr::null_mut(),
compute_derivative_group_quads: Bool32::default(),
compute_derivative_group_linear: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceComputeShaderDerivativesFeaturesKHR {}
unsafe impl Sync for PhysicalDeviceComputeShaderDerivativesFeaturesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceComputeShaderDerivativesPropertiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceComputeShaderDerivativesPropertiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub mesh_and_task_shader_derivatives: Bool32,
}
impl Default for PhysicalDeviceComputeShaderDerivativesPropertiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_PROPERTIES_KHR,
next: ptr::null_mut(),
mesh_and_task_shader_derivatives: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceComputeShaderDerivativesPropertiesKHR {}
unsafe impl Sync for PhysicalDeviceComputeShaderDerivativesPropertiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceConditionalRenderingFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceConditionalRenderingFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub conditional_rendering: Bool32,
pub inherited_conditional_rendering: Bool32,
}
impl Default for PhysicalDeviceConditionalRenderingFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT,
next: ptr::null_mut(),
conditional_rendering: Bool32::default(),
inherited_conditional_rendering: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceConditionalRenderingFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceConditionalRenderingFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceConservativeRasterizationPropertiesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct PhysicalDeviceConservativeRasterizationPropertiesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub primitive_overestimation_size: f32,
pub max_extra_primitive_overestimation_size: f32,
pub extra_primitive_overestimation_size_granularity: f32,
pub primitive_underestimation: Bool32,
pub conservative_point_and_line_rasterization: Bool32,
pub degenerate_triangles_rasterized: Bool32,
pub degenerate_lines_rasterized: Bool32,
pub fully_covered_fragment_shader_input_variable: Bool32,
pub conservative_rasterization_post_depth_coverage: Bool32,
}
impl Default for PhysicalDeviceConservativeRasterizationPropertiesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT,
next: ptr::null_mut(),
primitive_overestimation_size: f32::default(),
max_extra_primitive_overestimation_size: f32::default(),
extra_primitive_overestimation_size_granularity: f32::default(),
primitive_underestimation: Bool32::default(),
conservative_point_and_line_rasterization: Bool32::default(),
degenerate_triangles_rasterized: Bool32::default(),
degenerate_lines_rasterized: Bool32::default(),
fully_covered_fragment_shader_input_variable: Bool32::default(),
conservative_rasterization_post_depth_coverage: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceConservativeRasterizationPropertiesEXT {}
unsafe impl Sync for PhysicalDeviceConservativeRasterizationPropertiesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceCooperativeMatrix2FeaturesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceCooperativeMatrix2FeaturesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub cooperative_matrix_workgroup_scope: Bool32,
pub cooperative_matrix_flexible_dimensions: Bool32,
pub cooperative_matrix_reductions: Bool32,
pub cooperative_matrix_conversions: Bool32,
pub cooperative_matrix_per_element_operations: Bool32,
pub cooperative_matrix_tensor_addressing: Bool32,
pub cooperative_matrix_block_loads: Bool32,
}
impl Default for PhysicalDeviceCooperativeMatrix2FeaturesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_FEATURES_NV,
next: ptr::null_mut(),
cooperative_matrix_workgroup_scope: Bool32::default(),
cooperative_matrix_flexible_dimensions: Bool32::default(),
cooperative_matrix_reductions: Bool32::default(),
cooperative_matrix_conversions: Bool32::default(),
cooperative_matrix_per_element_operations: Bool32::default(),
cooperative_matrix_tensor_addressing: Bool32::default(),
cooperative_matrix_block_loads: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceCooperativeMatrix2FeaturesNV {}
unsafe impl Sync for PhysicalDeviceCooperativeMatrix2FeaturesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceCooperativeMatrix2PropertiesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceCooperativeMatrix2PropertiesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub cooperative_matrix_workgroup_scope_max_workgroup_size: u32,
pub cooperative_matrix_flexible_dimensions_max_dimension: u32,
pub cooperative_matrix_workgroup_scope_reserved_shared_memory: u32,
}
impl Default for PhysicalDeviceCooperativeMatrix2PropertiesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_PROPERTIES_NV,
next: ptr::null_mut(),
cooperative_matrix_workgroup_scope_max_workgroup_size: u32::default(),
cooperative_matrix_flexible_dimensions_max_dimension: u32::default(),
cooperative_matrix_workgroup_scope_reserved_shared_memory: u32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceCooperativeMatrix2PropertiesNV {}
unsafe impl Sync for PhysicalDeviceCooperativeMatrix2PropertiesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceCooperativeMatrixConversionFeaturesQCOM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceCooperativeMatrixConversionFeaturesQCOM {
pub s_type: StructureType,
pub next: *mut c_void,
pub cooperative_matrix_conversion: Bool32,
}
impl Default for PhysicalDeviceCooperativeMatrixConversionFeaturesQCOM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_CONVERSION_FEATURES_QCOM,
next: ptr::null_mut(),
cooperative_matrix_conversion: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceCooperativeMatrixConversionFeaturesQCOM {}
unsafe impl Sync for PhysicalDeviceCooperativeMatrixConversionFeaturesQCOM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceCooperativeMatrixFeaturesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceCooperativeMatrixFeaturesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub cooperative_matrix: Bool32,
pub cooperative_matrix_robust_buffer_access: Bool32,
}
impl Default for PhysicalDeviceCooperativeMatrixFeaturesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR,
next: ptr::null_mut(),
cooperative_matrix: Bool32::default(),
cooperative_matrix_robust_buffer_access: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceCooperativeMatrixFeaturesKHR {}
unsafe impl Sync for PhysicalDeviceCooperativeMatrixFeaturesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceCooperativeMatrixFeaturesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceCooperativeMatrixFeaturesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub cooperative_matrix: Bool32,
pub cooperative_matrix_robust_buffer_access: Bool32,
}
impl Default for PhysicalDeviceCooperativeMatrixFeaturesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV,
next: ptr::null_mut(),
cooperative_matrix: Bool32::default(),
cooperative_matrix_robust_buffer_access: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceCooperativeMatrixFeaturesNV {}
unsafe impl Sync for PhysicalDeviceCooperativeMatrixFeaturesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceCooperativeMatrixPropertiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceCooperativeMatrixPropertiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub cooperative_matrix_supported_stages: ShaderStageFlags,
}
impl Default for PhysicalDeviceCooperativeMatrixPropertiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR,
next: ptr::null_mut(),
cooperative_matrix_supported_stages: ShaderStageFlags::default(),
}
}
}
unsafe impl Send for PhysicalDeviceCooperativeMatrixPropertiesKHR {}
unsafe impl Sync for PhysicalDeviceCooperativeMatrixPropertiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceCooperativeMatrixPropertiesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceCooperativeMatrixPropertiesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub cooperative_matrix_supported_stages: ShaderStageFlags,
}
impl Default for PhysicalDeviceCooperativeMatrixPropertiesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV,
next: ptr::null_mut(),
cooperative_matrix_supported_stages: ShaderStageFlags::default(),
}
}
}
unsafe impl Send for PhysicalDeviceCooperativeMatrixPropertiesNV {}
unsafe impl Sync for PhysicalDeviceCooperativeMatrixPropertiesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceCooperativeVectorFeaturesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceCooperativeVectorFeaturesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub cooperative_vector: Bool32,
pub cooperative_vector_training: Bool32,
}
impl Default for PhysicalDeviceCooperativeVectorFeaturesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_VECTOR_FEATURES_NV,
next: ptr::null_mut(),
cooperative_vector: Bool32::default(),
cooperative_vector_training: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceCooperativeVectorFeaturesNV {}
unsafe impl Sync for PhysicalDeviceCooperativeVectorFeaturesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceCooperativeVectorPropertiesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceCooperativeVectorPropertiesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub cooperative_vector_supported_stages: ShaderStageFlags,
pub cooperative_vector_training_float16_accumulation: Bool32,
pub cooperative_vector_training_float32_accumulation: Bool32,
pub max_cooperative_vector_components: u32,
}
impl Default for PhysicalDeviceCooperativeVectorPropertiesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_COOPERATIVE_VECTOR_PROPERTIES_NV,
next: ptr::null_mut(),
cooperative_vector_supported_stages: ShaderStageFlags::default(),
cooperative_vector_training_float16_accumulation: Bool32::default(),
cooperative_vector_training_float32_accumulation: Bool32::default(),
max_cooperative_vector_components: u32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceCooperativeVectorPropertiesNV {}
unsafe impl Sync for PhysicalDeviceCooperativeVectorPropertiesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceCopyMemoryIndirectFeaturesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub indirect_memory_copy: Bool32,
pub indirect_memory_to_image_copy: Bool32,
}
impl Default for PhysicalDeviceCopyMemoryIndirectFeaturesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_KHR,
next: ptr::null_mut(),
indirect_memory_copy: Bool32::default(),
indirect_memory_to_image_copy: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceCopyMemoryIndirectFeaturesKHR {}
unsafe impl Sync for PhysicalDeviceCopyMemoryIndirectFeaturesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceCopyMemoryIndirectFeaturesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceCopyMemoryIndirectFeaturesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub indirect_copy: Bool32,
}
impl Default for PhysicalDeviceCopyMemoryIndirectFeaturesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV,
next: ptr::null_mut(),
indirect_copy: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceCopyMemoryIndirectFeaturesNV {}
unsafe impl Sync for PhysicalDeviceCopyMemoryIndirectFeaturesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceCopyMemoryIndirectPropertiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub supported_queues: QueueFlags,
}
impl Default for PhysicalDeviceCopyMemoryIndirectPropertiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_KHR,
next: ptr::null_mut(),
supported_queues: QueueFlags::default(),
}
}
}
unsafe impl Send for PhysicalDeviceCopyMemoryIndirectPropertiesKHR {}
unsafe impl Sync for PhysicalDeviceCopyMemoryIndirectPropertiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceCornerSampledImageFeaturesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceCornerSampledImageFeaturesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub corner_sampled_image: Bool32,
}
impl Default for PhysicalDeviceCornerSampledImageFeaturesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV,
next: ptr::null_mut(),
corner_sampled_image: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceCornerSampledImageFeaturesNV {}
unsafe impl Sync for PhysicalDeviceCornerSampledImageFeaturesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceCoverageReductionModeFeaturesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceCoverageReductionModeFeaturesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub coverage_reduction_mode: Bool32,
}
impl Default for PhysicalDeviceCoverageReductionModeFeaturesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV,
next: ptr::null_mut(),
coverage_reduction_mode: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceCoverageReductionModeFeaturesNV {}
unsafe impl Sync for PhysicalDeviceCoverageReductionModeFeaturesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceCubicClampFeaturesQCOM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceCubicClampFeaturesQCOM {
pub s_type: StructureType,
pub next: *mut c_void,
pub cubic_range_clamp: Bool32,
}
impl Default for PhysicalDeviceCubicClampFeaturesQCOM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_CUBIC_CLAMP_FEATURES_QCOM,
next: ptr::null_mut(),
cubic_range_clamp: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceCubicClampFeaturesQCOM {}
unsafe impl Sync for PhysicalDeviceCubicClampFeaturesQCOM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceCubicWeightsFeaturesQCOM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceCubicWeightsFeaturesQCOM {
pub s_type: StructureType,
pub next: *mut c_void,
pub selectable_cubic_weights: Bool32,
}
impl Default for PhysicalDeviceCubicWeightsFeaturesQCOM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_CUBIC_WEIGHTS_FEATURES_QCOM,
next: ptr::null_mut(),
selectable_cubic_weights: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceCubicWeightsFeaturesQCOM {}
unsafe impl Sync for PhysicalDeviceCubicWeightsFeaturesQCOM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceCudaKernelLaunchFeaturesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceCudaKernelLaunchFeaturesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub cuda_kernel_launch_features: Bool32,
}
impl Default for PhysicalDeviceCudaKernelLaunchFeaturesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_FEATURES_NV,
next: ptr::null_mut(),
cuda_kernel_launch_features: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceCudaKernelLaunchFeaturesNV {}
unsafe impl Sync for PhysicalDeviceCudaKernelLaunchFeaturesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceCudaKernelLaunchPropertiesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceCudaKernelLaunchPropertiesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub compute_capability_minor: u32,
pub compute_capability_major: u32,
}
impl Default for PhysicalDeviceCudaKernelLaunchPropertiesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_PROPERTIES_NV,
next: ptr::null_mut(),
compute_capability_minor: u32::default(),
compute_capability_major: u32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceCudaKernelLaunchPropertiesNV {}
unsafe impl Sync for PhysicalDeviceCudaKernelLaunchPropertiesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceCustomBorderColorFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceCustomBorderColorFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub custom_border_colors: Bool32,
pub custom_border_color_without_format: Bool32,
}
impl Default for PhysicalDeviceCustomBorderColorFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT,
next: ptr::null_mut(),
custom_border_colors: Bool32::default(),
custom_border_color_without_format: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceCustomBorderColorFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceCustomBorderColorFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceCustomBorderColorPropertiesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceCustomBorderColorPropertiesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub max_custom_border_color_samplers: u32,
}
impl Default for PhysicalDeviceCustomBorderColorPropertiesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT,
next: ptr::null_mut(),
max_custom_border_color_samplers: u32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceCustomBorderColorPropertiesEXT {}
unsafe impl Sync for PhysicalDeviceCustomBorderColorPropertiesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceCustomResolveFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceCustomResolveFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub custom_resolve: Bool32,
}
impl Default for PhysicalDeviceCustomResolveFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_CUSTOM_RESOLVE_FEATURES_EXT,
next: ptr::null_mut(),
custom_resolve: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceCustomResolveFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceCustomResolveFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceDataGraphFeaturesARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceDataGraphFeaturesARM {
pub s_type: StructureType,
pub next: *mut c_void,
pub data_graph: Bool32,
pub data_graph_update_after_bind: Bool32,
pub data_graph_specialization_constants: Bool32,
pub data_graph_descriptor_buffer: Bool32,
pub data_graph_shader_module: Bool32,
}
impl Default for PhysicalDeviceDataGraphFeaturesARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_DATA_GRAPH_FEATURES_ARM,
next: ptr::null_mut(),
data_graph: Bool32::default(),
data_graph_update_after_bind: Bool32::default(),
data_graph_specialization_constants: Bool32::default(),
data_graph_descriptor_buffer: Bool32::default(),
data_graph_shader_module: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceDataGraphFeaturesARM {}
unsafe impl Sync for PhysicalDeviceDataGraphFeaturesARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceDataGraphModelFeaturesQCOM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceDataGraphModelFeaturesQCOM {
pub s_type: StructureType,
pub next: *mut c_void,
pub data_graph_model: Bool32,
}
impl Default for PhysicalDeviceDataGraphModelFeaturesQCOM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_DATA_GRAPH_MODEL_FEATURES_QCOM,
next: ptr::null_mut(),
data_graph_model: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceDataGraphModelFeaturesQCOM {}
unsafe impl Sync for PhysicalDeviceDataGraphModelFeaturesQCOM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceDataGraphOperationSupportARM.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceDataGraphOperationSupportARM {
pub operation_type: PhysicalDeviceDataGraphOperationTypeARM,
pub name: StringArray<MAX_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_SET_NAME_SIZE_ARM>,
pub version: u32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceDataGraphProcessingEngineARM.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceDataGraphProcessingEngineARM {
pub type_: PhysicalDeviceDataGraphProcessingEngineTypeARM,
pub is_foreign: Bool32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub dedicated_allocation_image_aliasing: Bool32,
}
impl Default for PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV,
next: ptr::null_mut(),
dedicated_allocation_image_aliasing: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {}
unsafe impl Sync for PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceDenseGeometryFormatFeaturesAMDX {
pub s_type: StructureType,
pub next: *mut c_void,
pub dense_geometry_format: Bool32,
}
impl Default for PhysicalDeviceDenseGeometryFormatFeaturesAMDX {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_DENSE_GEOMETRY_FORMAT_FEATURES_AMDX,
next: ptr::null_mut(),
dense_geometry_format: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceDenseGeometryFormatFeaturesAMDX {}
unsafe impl Sync for PhysicalDeviceDenseGeometryFormatFeaturesAMDX {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceDepthBiasControlFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceDepthBiasControlFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub depth_bias_control: Bool32,
pub least_representable_value_force_unorm_representation: Bool32,
pub float_representation: Bool32,
pub depth_bias_exact: Bool32,
}
impl Default for PhysicalDeviceDepthBiasControlFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_DEPTH_BIAS_CONTROL_FEATURES_EXT,
next: ptr::null_mut(),
depth_bias_control: Bool32::default(),
least_representable_value_force_unorm_representation: Bool32::default(),
float_representation: Bool32::default(),
depth_bias_exact: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceDepthBiasControlFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceDepthBiasControlFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceDepthClampControlFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceDepthClampControlFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub depth_clamp_control: Bool32,
}
impl Default for PhysicalDeviceDepthClampControlFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_DEPTH_CLAMP_CONTROL_FEATURES_EXT,
next: ptr::null_mut(),
depth_clamp_control: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceDepthClampControlFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceDepthClampControlFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceDepthClampZeroOneFeaturesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceDepthClampZeroOneFeaturesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub depth_clamp_zero_one: Bool32,
}
impl Default for PhysicalDeviceDepthClampZeroOneFeaturesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_KHR,
next: ptr::null_mut(),
depth_clamp_zero_one: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceDepthClampZeroOneFeaturesKHR {}
unsafe impl Sync for PhysicalDeviceDepthClampZeroOneFeaturesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceDepthClipControlFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceDepthClipControlFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub depth_clip_control: Bool32,
}
impl Default for PhysicalDeviceDepthClipControlFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT,
next: ptr::null_mut(),
depth_clip_control: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceDepthClipControlFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceDepthClipControlFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceDepthClipEnableFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceDepthClipEnableFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub depth_clip_enable: Bool32,
}
impl Default for PhysicalDeviceDepthClipEnableFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT,
next: ptr::null_mut(),
depth_clip_enable: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceDepthClipEnableFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceDepthClipEnableFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceDepthStencilResolveProperties.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceDepthStencilResolveProperties {
pub s_type: StructureType,
pub next: *mut c_void,
pub supported_depth_resolve_modes: ResolveModeFlags,
pub supported_stencil_resolve_modes: ResolveModeFlags,
pub independent_resolve_none: Bool32,
pub independent_resolve: Bool32,
}
impl Default for PhysicalDeviceDepthStencilResolveProperties {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES,
next: ptr::null_mut(),
supported_depth_resolve_modes: ResolveModeFlags::default(),
supported_stencil_resolve_modes: ResolveModeFlags::default(),
independent_resolve_none: Bool32::default(),
independent_resolve: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceDepthStencilResolveProperties {}
unsafe impl Sync for PhysicalDeviceDepthStencilResolveProperties {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub combined_image_sampler_density_map_descriptor_size: usize,
}
impl Default for PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT,
next: ptr::null_mut(),
combined_image_sampler_density_map_descriptor_size: usize::default(),
}
}
}
unsafe impl Send for PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT {}
unsafe impl Sync for PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceDescriptorBufferFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceDescriptorBufferFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub descriptor_buffer: Bool32,
pub descriptor_buffer_capture_replay: Bool32,
pub descriptor_buffer_image_layout_ignored: Bool32,
pub descriptor_buffer_push_descriptors: Bool32,
}
impl Default for PhysicalDeviceDescriptorBufferFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT,
next: ptr::null_mut(),
descriptor_buffer: Bool32::default(),
descriptor_buffer_capture_replay: Bool32::default(),
descriptor_buffer_image_layout_ignored: Bool32::default(),
descriptor_buffer_push_descriptors: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceDescriptorBufferFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceDescriptorBufferFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceDescriptorBufferPropertiesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceDescriptorBufferPropertiesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub combined_image_sampler_descriptor_single_array: Bool32,
pub bufferless_push_descriptors: Bool32,
pub allow_sampler_image_view_post_submit_creation: Bool32,
pub descriptor_buffer_offset_alignment: DeviceSize,
pub max_descriptor_buffer_bindings: u32,
pub max_resource_descriptor_buffer_bindings: u32,
pub max_sampler_descriptor_buffer_bindings: u32,
pub max_embedded_immutable_sampler_bindings: u32,
pub max_embedded_immutable_samplers: u32,
pub buffer_capture_replay_descriptor_data_size: usize,
pub image_capture_replay_descriptor_data_size: usize,
pub image_view_capture_replay_descriptor_data_size: usize,
pub sampler_capture_replay_descriptor_data_size: usize,
pub acceleration_structure_capture_replay_descriptor_data_size: usize,
pub sampler_descriptor_size: usize,
pub combined_image_sampler_descriptor_size: usize,
pub sampled_image_descriptor_size: usize,
pub storage_image_descriptor_size: usize,
pub uniform_texel_buffer_descriptor_size: usize,
pub robust_uniform_texel_buffer_descriptor_size: usize,
pub storage_texel_buffer_descriptor_size: usize,
pub robust_storage_texel_buffer_descriptor_size: usize,
pub uniform_buffer_descriptor_size: usize,
pub robust_uniform_buffer_descriptor_size: usize,
pub storage_buffer_descriptor_size: usize,
pub robust_storage_buffer_descriptor_size: usize,
pub input_attachment_descriptor_size: usize,
pub acceleration_structure_descriptor_size: usize,
pub max_sampler_descriptor_buffer_range: DeviceSize,
pub max_resource_descriptor_buffer_range: DeviceSize,
pub sampler_descriptor_buffer_address_space_size: DeviceSize,
pub resource_descriptor_buffer_address_space_size: DeviceSize,
pub descriptor_buffer_address_space_size: DeviceSize,
}
impl Default for PhysicalDeviceDescriptorBufferPropertiesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT,
next: ptr::null_mut(),
combined_image_sampler_descriptor_single_array: Bool32::default(),
bufferless_push_descriptors: Bool32::default(),
allow_sampler_image_view_post_submit_creation: Bool32::default(),
descriptor_buffer_offset_alignment: DeviceSize::default(),
max_descriptor_buffer_bindings: u32::default(),
max_resource_descriptor_buffer_bindings: u32::default(),
max_sampler_descriptor_buffer_bindings: u32::default(),
max_embedded_immutable_sampler_bindings: u32::default(),
max_embedded_immutable_samplers: u32::default(),
buffer_capture_replay_descriptor_data_size: usize::default(),
image_capture_replay_descriptor_data_size: usize::default(),
image_view_capture_replay_descriptor_data_size: usize::default(),
sampler_capture_replay_descriptor_data_size: usize::default(),
acceleration_structure_capture_replay_descriptor_data_size: usize::default(),
sampler_descriptor_size: usize::default(),
combined_image_sampler_descriptor_size: usize::default(),
sampled_image_descriptor_size: usize::default(),
storage_image_descriptor_size: usize::default(),
uniform_texel_buffer_descriptor_size: usize::default(),
robust_uniform_texel_buffer_descriptor_size: usize::default(),
storage_texel_buffer_descriptor_size: usize::default(),
robust_storage_texel_buffer_descriptor_size: usize::default(),
uniform_buffer_descriptor_size: usize::default(),
robust_uniform_buffer_descriptor_size: usize::default(),
storage_buffer_descriptor_size: usize::default(),
robust_storage_buffer_descriptor_size: usize::default(),
input_attachment_descriptor_size: usize::default(),
acceleration_structure_descriptor_size: usize::default(),
max_sampler_descriptor_buffer_range: DeviceSize::default(),
max_resource_descriptor_buffer_range: DeviceSize::default(),
sampler_descriptor_buffer_address_space_size: DeviceSize::default(),
resource_descriptor_buffer_address_space_size: DeviceSize::default(),
descriptor_buffer_address_space_size: DeviceSize::default(),
}
}
}
unsafe impl Send for PhysicalDeviceDescriptorBufferPropertiesEXT {}
unsafe impl Sync for PhysicalDeviceDescriptorBufferPropertiesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceDescriptorBufferTensorFeaturesARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceDescriptorBufferTensorFeaturesARM {
pub s_type: StructureType,
pub next: *mut c_void,
pub descriptor_buffer_tensor_descriptors: Bool32,
}
impl Default for PhysicalDeviceDescriptorBufferTensorFeaturesARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_TENSOR_FEATURES_ARM,
next: ptr::null_mut(),
descriptor_buffer_tensor_descriptors: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceDescriptorBufferTensorFeaturesARM {}
unsafe impl Sync for PhysicalDeviceDescriptorBufferTensorFeaturesARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceDescriptorBufferTensorPropertiesARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceDescriptorBufferTensorPropertiesARM {
pub s_type: StructureType,
pub next: *mut c_void,
pub tensor_capture_replay_descriptor_data_size: usize,
pub tensor_view_capture_replay_descriptor_data_size: usize,
pub tensor_descriptor_size: usize,
}
impl Default for PhysicalDeviceDescriptorBufferTensorPropertiesARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_TENSOR_PROPERTIES_ARM,
next: ptr::null_mut(),
tensor_capture_replay_descriptor_data_size: usize::default(),
tensor_view_capture_replay_descriptor_data_size: usize::default(),
tensor_descriptor_size: usize::default(),
}
}
}
unsafe impl Send for PhysicalDeviceDescriptorBufferTensorPropertiesARM {}
unsafe impl Sync for PhysicalDeviceDescriptorBufferTensorPropertiesARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceDescriptorHeapFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceDescriptorHeapFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub descriptor_heap: Bool32,
pub descriptor_heap_capture_replay: Bool32,
}
impl Default for PhysicalDeviceDescriptorHeapFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_HEAP_FEATURES_EXT,
next: ptr::null_mut(),
descriptor_heap: Bool32::default(),
descriptor_heap_capture_replay: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceDescriptorHeapFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceDescriptorHeapFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceDescriptorHeapPropertiesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceDescriptorHeapPropertiesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub sampler_heap_alignment: DeviceSize,
pub resource_heap_alignment: DeviceSize,
pub max_sampler_heap_size: DeviceSize,
pub max_resource_heap_size: DeviceSize,
pub min_sampler_heap_reserved_range: DeviceSize,
pub min_sampler_heap_reserved_range_with_embedded: DeviceSize,
pub min_resource_heap_reserved_range: DeviceSize,
pub sampler_descriptor_size: DeviceSize,
pub image_descriptor_size: DeviceSize,
pub buffer_descriptor_size: DeviceSize,
pub sampler_descriptor_alignment: DeviceSize,
pub image_descriptor_alignment: DeviceSize,
pub buffer_descriptor_alignment: DeviceSize,
pub max_push_data_size: DeviceSize,
pub image_capture_replay_opaque_data_size: usize,
pub max_descriptor_heap_embedded_samplers: u32,
pub sampler_ycbcr_conversion_count: u32,
pub sparse_descriptor_heaps: Bool32,
pub protected_descriptor_heaps: Bool32,
}
impl Default for PhysicalDeviceDescriptorHeapPropertiesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_HEAP_PROPERTIES_EXT,
next: ptr::null_mut(),
sampler_heap_alignment: DeviceSize::default(),
resource_heap_alignment: DeviceSize::default(),
max_sampler_heap_size: DeviceSize::default(),
max_resource_heap_size: DeviceSize::default(),
min_sampler_heap_reserved_range: DeviceSize::default(),
min_sampler_heap_reserved_range_with_embedded: DeviceSize::default(),
min_resource_heap_reserved_range: DeviceSize::default(),
sampler_descriptor_size: DeviceSize::default(),
image_descriptor_size: DeviceSize::default(),
buffer_descriptor_size: DeviceSize::default(),
sampler_descriptor_alignment: DeviceSize::default(),
image_descriptor_alignment: DeviceSize::default(),
buffer_descriptor_alignment: DeviceSize::default(),
max_push_data_size: DeviceSize::default(),
image_capture_replay_opaque_data_size: usize::default(),
max_descriptor_heap_embedded_samplers: u32::default(),
sampler_ycbcr_conversion_count: u32::default(),
sparse_descriptor_heaps: Bool32::default(),
protected_descriptor_heaps: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceDescriptorHeapPropertiesEXT {}
unsafe impl Sync for PhysicalDeviceDescriptorHeapPropertiesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceDescriptorHeapTensorPropertiesARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceDescriptorHeapTensorPropertiesARM {
pub s_type: StructureType,
pub next: *mut c_void,
pub tensor_descriptor_size: DeviceSize,
pub tensor_descriptor_alignment: DeviceSize,
pub tensor_capture_replay_opaque_data_size: usize,
}
impl Default for PhysicalDeviceDescriptorHeapTensorPropertiesARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_HEAP_TENSOR_PROPERTIES_ARM,
next: ptr::null_mut(),
tensor_descriptor_size: DeviceSize::default(),
tensor_descriptor_alignment: DeviceSize::default(),
tensor_capture_replay_opaque_data_size: usize::default(),
}
}
}
unsafe impl Send for PhysicalDeviceDescriptorHeapTensorPropertiesARM {}
unsafe impl Sync for PhysicalDeviceDescriptorHeapTensorPropertiesARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceDescriptorIndexingFeatures.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceDescriptorIndexingFeatures {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_input_attachment_array_dynamic_indexing: Bool32,
pub shader_uniform_texel_buffer_array_dynamic_indexing: Bool32,
pub shader_storage_texel_buffer_array_dynamic_indexing: Bool32,
pub shader_uniform_buffer_array_non_uniform_indexing: Bool32,
pub shader_sampled_image_array_non_uniform_indexing: Bool32,
pub shader_storage_buffer_array_non_uniform_indexing: Bool32,
pub shader_storage_image_array_non_uniform_indexing: Bool32,
pub shader_input_attachment_array_non_uniform_indexing: Bool32,
pub shader_uniform_texel_buffer_array_non_uniform_indexing: Bool32,
pub shader_storage_texel_buffer_array_non_uniform_indexing: Bool32,
pub descriptor_binding_uniform_buffer_update_after_bind: Bool32,
pub descriptor_binding_sampled_image_update_after_bind: Bool32,
pub descriptor_binding_storage_image_update_after_bind: Bool32,
pub descriptor_binding_storage_buffer_update_after_bind: Bool32,
pub descriptor_binding_uniform_texel_buffer_update_after_bind: Bool32,
pub descriptor_binding_storage_texel_buffer_update_after_bind: Bool32,
pub descriptor_binding_update_unused_while_pending: Bool32,
pub descriptor_binding_partially_bound: Bool32,
pub descriptor_binding_variable_descriptor_count: Bool32,
pub runtime_descriptor_array: Bool32,
}
impl Default for PhysicalDeviceDescriptorIndexingFeatures {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES,
next: ptr::null_mut(),
shader_input_attachment_array_dynamic_indexing: Bool32::default(),
shader_uniform_texel_buffer_array_dynamic_indexing: Bool32::default(),
shader_storage_texel_buffer_array_dynamic_indexing: Bool32::default(),
shader_uniform_buffer_array_non_uniform_indexing: Bool32::default(),
shader_sampled_image_array_non_uniform_indexing: Bool32::default(),
shader_storage_buffer_array_non_uniform_indexing: Bool32::default(),
shader_storage_image_array_non_uniform_indexing: Bool32::default(),
shader_input_attachment_array_non_uniform_indexing: Bool32::default(),
shader_uniform_texel_buffer_array_non_uniform_indexing: Bool32::default(),
shader_storage_texel_buffer_array_non_uniform_indexing: Bool32::default(),
descriptor_binding_uniform_buffer_update_after_bind: Bool32::default(),
descriptor_binding_sampled_image_update_after_bind: Bool32::default(),
descriptor_binding_storage_image_update_after_bind: Bool32::default(),
descriptor_binding_storage_buffer_update_after_bind: Bool32::default(),
descriptor_binding_uniform_texel_buffer_update_after_bind: Bool32::default(),
descriptor_binding_storage_texel_buffer_update_after_bind: Bool32::default(),
descriptor_binding_update_unused_while_pending: Bool32::default(),
descriptor_binding_partially_bound: Bool32::default(),
descriptor_binding_variable_descriptor_count: Bool32::default(),
runtime_descriptor_array: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceDescriptorIndexingFeatures {}
unsafe impl Sync for PhysicalDeviceDescriptorIndexingFeatures {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceDescriptorIndexingProperties.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceDescriptorIndexingProperties {
pub s_type: StructureType,
pub next: *mut c_void,
pub max_update_after_bind_descriptors_in_all_pools: u32,
pub shader_uniform_buffer_array_non_uniform_indexing_native: Bool32,
pub shader_sampled_image_array_non_uniform_indexing_native: Bool32,
pub shader_storage_buffer_array_non_uniform_indexing_native: Bool32,
pub shader_storage_image_array_non_uniform_indexing_native: Bool32,
pub shader_input_attachment_array_non_uniform_indexing_native: Bool32,
pub robust_buffer_access_update_after_bind: Bool32,
pub quad_divergent_implicit_lod: Bool32,
pub max_per_stage_descriptor_update_after_bind_samplers: u32,
pub max_per_stage_descriptor_update_after_bind_uniform_buffers: u32,
pub max_per_stage_descriptor_update_after_bind_storage_buffers: u32,
pub max_per_stage_descriptor_update_after_bind_sampled_images: u32,
pub max_per_stage_descriptor_update_after_bind_storage_images: u32,
pub max_per_stage_descriptor_update_after_bind_input_attachments: u32,
pub max_per_stage_update_after_bind_resources: u32,
pub max_descriptor_set_update_after_bind_samplers: u32,
pub max_descriptor_set_update_after_bind_uniform_buffers: u32,
pub max_descriptor_set_update_after_bind_uniform_buffers_dynamic: u32,
pub max_descriptor_set_update_after_bind_storage_buffers: u32,
pub max_descriptor_set_update_after_bind_storage_buffers_dynamic: u32,
pub max_descriptor_set_update_after_bind_sampled_images: u32,
pub max_descriptor_set_update_after_bind_storage_images: u32,
pub max_descriptor_set_update_after_bind_input_attachments: u32,
}
impl Default for PhysicalDeviceDescriptorIndexingProperties {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES,
next: ptr::null_mut(),
max_update_after_bind_descriptors_in_all_pools: u32::default(),
shader_uniform_buffer_array_non_uniform_indexing_native: Bool32::default(),
shader_sampled_image_array_non_uniform_indexing_native: Bool32::default(),
shader_storage_buffer_array_non_uniform_indexing_native: Bool32::default(),
shader_storage_image_array_non_uniform_indexing_native: Bool32::default(),
shader_input_attachment_array_non_uniform_indexing_native: Bool32::default(),
robust_buffer_access_update_after_bind: Bool32::default(),
quad_divergent_implicit_lod: Bool32::default(),
max_per_stage_descriptor_update_after_bind_samplers: u32::default(),
max_per_stage_descriptor_update_after_bind_uniform_buffers: u32::default(),
max_per_stage_descriptor_update_after_bind_storage_buffers: u32::default(),
max_per_stage_descriptor_update_after_bind_sampled_images: u32::default(),
max_per_stage_descriptor_update_after_bind_storage_images: u32::default(),
max_per_stage_descriptor_update_after_bind_input_attachments: u32::default(),
max_per_stage_update_after_bind_resources: u32::default(),
max_descriptor_set_update_after_bind_samplers: u32::default(),
max_descriptor_set_update_after_bind_uniform_buffers: u32::default(),
max_descriptor_set_update_after_bind_uniform_buffers_dynamic: u32::default(),
max_descriptor_set_update_after_bind_storage_buffers: u32::default(),
max_descriptor_set_update_after_bind_storage_buffers_dynamic: u32::default(),
max_descriptor_set_update_after_bind_sampled_images: u32::default(),
max_descriptor_set_update_after_bind_storage_images: u32::default(),
max_descriptor_set_update_after_bind_input_attachments: u32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceDescriptorIndexingProperties {}
unsafe impl Sync for PhysicalDeviceDescriptorIndexingProperties {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceDescriptorPoolOverallocationFeaturesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub descriptor_pool_overallocation: Bool32,
}
impl Default for PhysicalDeviceDescriptorPoolOverallocationFeaturesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV,
next: ptr::null_mut(),
descriptor_pool_overallocation: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceDescriptorPoolOverallocationFeaturesNV {}
unsafe impl Sync for PhysicalDeviceDescriptorPoolOverallocationFeaturesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {
pub s_type: StructureType,
pub next: *mut c_void,
pub descriptor_set_host_mapping: Bool32,
}
impl Default for PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE,
next: ptr::null_mut(),
descriptor_set_host_mapping: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {}
unsafe impl Sync for PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub device_generated_compute: Bool32,
pub device_generated_compute_pipelines: Bool32,
pub device_generated_compute_capture_replay: Bool32,
}
impl Default for PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV,
next: ptr::null_mut(),
device_generated_compute: Bool32::default(),
device_generated_compute_pipelines: Bool32::default(),
device_generated_compute_capture_replay: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV {}
unsafe impl Sync for PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceDeviceGeneratedCommandsFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceDeviceGeneratedCommandsFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub device_generated_commands: Bool32,
pub dynamic_generated_pipeline_layout: Bool32,
}
impl Default for PhysicalDeviceDeviceGeneratedCommandsFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_EXT,
next: ptr::null_mut(),
device_generated_commands: Bool32::default(),
dynamic_generated_pipeline_layout: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceDeviceGeneratedCommandsFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceDeviceGeneratedCommandsFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub device_generated_commands: Bool32,
}
impl Default for PhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV,
next: ptr::null_mut(),
device_generated_commands: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceDeviceGeneratedCommandsFeaturesNV {}
unsafe impl Sync for PhysicalDeviceDeviceGeneratedCommandsFeaturesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceDeviceGeneratedCommandsPropertiesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub max_indirect_pipeline_count: u32,
pub max_indirect_shader_object_count: u32,
pub max_indirect_sequence_count: u32,
pub max_indirect_commands_token_count: u32,
pub max_indirect_commands_token_offset: u32,
pub max_indirect_commands_indirect_stride: u32,
pub supported_indirect_commands_input_modes: IndirectCommandsInputModeFlagsEXT,
pub supported_indirect_commands_shader_stages: ShaderStageFlags,
pub supported_indirect_commands_shader_stages_pipeline_binding: ShaderStageFlags,
pub supported_indirect_commands_shader_stages_shader_binding: ShaderStageFlags,
pub device_generated_commands_transform_feedback: Bool32,
pub device_generated_commands_multi_draw_indirect_count: Bool32,
}
impl Default for PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_EXT,
next: ptr::null_mut(),
max_indirect_pipeline_count: u32::default(),
max_indirect_shader_object_count: u32::default(),
max_indirect_sequence_count: u32::default(),
max_indirect_commands_token_count: u32::default(),
max_indirect_commands_token_offset: u32::default(),
max_indirect_commands_indirect_stride: u32::default(),
supported_indirect_commands_input_modes: IndirectCommandsInputModeFlagsEXT::default(),
supported_indirect_commands_shader_stages: ShaderStageFlags::default(),
supported_indirect_commands_shader_stages_pipeline_binding: ShaderStageFlags::default(),
supported_indirect_commands_shader_stages_shader_binding: ShaderStageFlags::default(),
device_generated_commands_transform_feedback: Bool32::default(),
device_generated_commands_multi_draw_indirect_count: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT {}
unsafe impl Sync for PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub max_graphics_shader_group_count: u32,
pub max_indirect_sequence_count: u32,
pub max_indirect_commands_token_count: u32,
pub max_indirect_commands_stream_count: u32,
pub max_indirect_commands_token_offset: u32,
pub max_indirect_commands_stream_stride: u32,
pub min_sequences_count_buffer_offset_alignment: u32,
pub min_sequences_index_buffer_offset_alignment: u32,
pub min_indirect_commands_buffer_offset_alignment: u32,
}
impl Default for PhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV,
next: ptr::null_mut(),
max_graphics_shader_group_count: u32::default(),
max_indirect_sequence_count: u32::default(),
max_indirect_commands_token_count: u32::default(),
max_indirect_commands_stream_count: u32::default(),
max_indirect_commands_token_offset: u32::default(),
max_indirect_commands_stream_stride: u32::default(),
min_sequences_count_buffer_offset_alignment: u32::default(),
min_sequences_index_buffer_offset_alignment: u32::default(),
min_indirect_commands_buffer_offset_alignment: u32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceDeviceGeneratedCommandsPropertiesNV {}
unsafe impl Sync for PhysicalDeviceDeviceGeneratedCommandsPropertiesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceDeviceMemoryReportFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceDeviceMemoryReportFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub device_memory_report: Bool32,
}
impl Default for PhysicalDeviceDeviceMemoryReportFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT,
next: ptr::null_mut(),
device_memory_report: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceDeviceMemoryReportFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceDeviceMemoryReportFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceDiagnosticsConfigFeaturesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceDiagnosticsConfigFeaturesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub diagnostics_config: Bool32,
}
impl Default for PhysicalDeviceDiagnosticsConfigFeaturesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV,
next: ptr::null_mut(),
diagnostics_config: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceDiagnosticsConfigFeaturesNV {}
unsafe impl Sync for PhysicalDeviceDiagnosticsConfigFeaturesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceDiscardRectanglePropertiesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceDiscardRectanglePropertiesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub max_discard_rectangles: u32,
}
impl Default for PhysicalDeviceDiscardRectanglePropertiesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT,
next: ptr::null_mut(),
max_discard_rectangles: u32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceDiscardRectanglePropertiesEXT {}
unsafe impl Sync for PhysicalDeviceDiscardRectanglePropertiesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceDisplacementMicromapFeaturesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceDisplacementMicromapFeaturesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub displacement_micromap: Bool32,
}
impl Default for PhysicalDeviceDisplacementMicromapFeaturesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV,
next: ptr::null_mut(),
displacement_micromap: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceDisplacementMicromapFeaturesNV {}
unsafe impl Sync for PhysicalDeviceDisplacementMicromapFeaturesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceDisplacementMicromapPropertiesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceDisplacementMicromapPropertiesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub max_displacement_micromap_subdivision_level: u32,
}
impl Default for PhysicalDeviceDisplacementMicromapPropertiesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV,
next: ptr::null_mut(),
max_displacement_micromap_subdivision_level: u32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceDisplacementMicromapPropertiesNV {}
unsafe impl Sync for PhysicalDeviceDisplacementMicromapPropertiesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceDriverProperties.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceDriverProperties {
pub s_type: StructureType,
pub next: *mut c_void,
pub driver_id: DriverId,
pub driver_name: StringArray<MAX_DRIVER_NAME_SIZE>,
pub driver_info: StringArray<MAX_DRIVER_INFO_SIZE>,
pub conformance_version: ConformanceVersion,
}
impl Default for PhysicalDeviceDriverProperties {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_DRIVER_PROPERTIES,
next: ptr::null_mut(),
driver_id: DriverId::default(),
driver_name: StringArray::default(),
driver_info: StringArray::default(),
conformance_version: ConformanceVersion::default(),
}
}
}
unsafe impl Send for PhysicalDeviceDriverProperties {}
unsafe impl Sync for PhysicalDeviceDriverProperties {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceDrmPropertiesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceDrmPropertiesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub has_primary: Bool32,
pub has_render: Bool32,
pub primary_major: i64,
pub primary_minor: i64,
pub render_major: i64,
pub render_minor: i64,
}
impl Default for PhysicalDeviceDrmPropertiesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_DRM_PROPERTIES_EXT,
next: ptr::null_mut(),
has_primary: Bool32::default(),
has_render: Bool32::default(),
primary_major: i64::default(),
primary_minor: i64::default(),
render_major: i64::default(),
render_minor: i64::default(),
}
}
}
unsafe impl Send for PhysicalDeviceDrmPropertiesEXT {}
unsafe impl Sync for PhysicalDeviceDrmPropertiesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceDynamicRenderingFeatures.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceDynamicRenderingFeatures {
pub s_type: StructureType,
pub next: *mut c_void,
pub dynamic_rendering: Bool32,
}
impl Default for PhysicalDeviceDynamicRenderingFeatures {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES,
next: ptr::null_mut(),
dynamic_rendering: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceDynamicRenderingFeatures {}
unsafe impl Sync for PhysicalDeviceDynamicRenderingFeatures {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceDynamicRenderingLocalReadFeatures.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceDynamicRenderingLocalReadFeatures {
pub s_type: StructureType,
pub next: *mut c_void,
pub dynamic_rendering_local_read: Bool32,
}
impl Default for PhysicalDeviceDynamicRenderingLocalReadFeatures {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES,
next: ptr::null_mut(),
dynamic_rendering_local_read: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceDynamicRenderingLocalReadFeatures {}
unsafe impl Sync for PhysicalDeviceDynamicRenderingLocalReadFeatures {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub dynamic_rendering_unused_attachments: Bool32,
}
impl Default for PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type:
StructureType::PHYSICAL_DEVICE_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT,
next: ptr::null_mut(),
dynamic_rendering_unused_attachments: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceExclusiveScissorFeaturesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceExclusiveScissorFeaturesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub exclusive_scissor: Bool32,
}
impl Default for PhysicalDeviceExclusiveScissorFeaturesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV,
next: ptr::null_mut(),
exclusive_scissor: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceExclusiveScissorFeaturesNV {}
unsafe impl Sync for PhysicalDeviceExclusiveScissorFeaturesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceExtendedDynamicState2FeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceExtendedDynamicState2FeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub extended_dynamic_state2: Bool32,
pub extended_dynamic_state2_logic_op: Bool32,
pub extended_dynamic_state2_patch_control_points: Bool32,
}
impl Default for PhysicalDeviceExtendedDynamicState2FeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT,
next: ptr::null_mut(),
extended_dynamic_state2: Bool32::default(),
extended_dynamic_state2_logic_op: Bool32::default(),
extended_dynamic_state2_patch_control_points: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceExtendedDynamicState2FeaturesEXT {}
unsafe impl Sync for PhysicalDeviceExtendedDynamicState2FeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceExtendedDynamicState3FeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceExtendedDynamicState3FeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub extended_dynamic_state3_tessellation_domain_origin: Bool32,
pub extended_dynamic_state_3depth_clamp_enable: Bool32,
pub extended_dynamic_state3_polygon_mode: Bool32,
pub extended_dynamic_state3_rasterization_samples: Bool32,
pub extended_dynamic_state3_sample_mask: Bool32,
pub extended_dynamic_state3_alpha_to_coverage_enable: Bool32,
pub extended_dynamic_state3_alpha_to_one_enable: Bool32,
pub extended_dynamic_state3_logic_op_enable: Bool32,
pub extended_dynamic_state3_color_blend_enable: Bool32,
pub extended_dynamic_state3_color_blend_equation: Bool32,
pub extended_dynamic_state3_color_write_mask: Bool32,
pub extended_dynamic_state3_rasterization_stream: Bool32,
pub extended_dynamic_state3_conservative_rasterization_mode: Bool32,
pub extended_dynamic_state3_extra_primitive_overestimation_size: Bool32,
pub extended_dynamic_state_3depth_clip_enable: Bool32,
pub extended_dynamic_state3_sample_locations_enable: Bool32,
pub extended_dynamic_state3_color_blend_advanced: Bool32,
pub extended_dynamic_state3_provoking_vertex_mode: Bool32,
pub extended_dynamic_state3_line_rasterization_mode: Bool32,
pub extended_dynamic_state3_line_stipple_enable: Bool32,
pub extended_dynamic_state_3depth_clip_negative_one_to_one: Bool32,
pub extended_dynamic_state3_viewport_w_scaling_enable: Bool32,
pub extended_dynamic_state3_viewport_swizzle: Bool32,
pub extended_dynamic_state3_coverage_to_color_enable: Bool32,
pub extended_dynamic_state3_coverage_to_color_location: Bool32,
pub extended_dynamic_state3_coverage_modulation_mode: Bool32,
pub extended_dynamic_state3_coverage_modulation_table_enable: Bool32,
pub extended_dynamic_state3_coverage_modulation_table: Bool32,
pub extended_dynamic_state3_coverage_reduction_mode: Bool32,
pub extended_dynamic_state3_representative_fragment_test_enable: Bool32,
pub extended_dynamic_state3_shading_rate_image_enable: Bool32,
}
impl Default for PhysicalDeviceExtendedDynamicState3FeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT,
next: ptr::null_mut(),
extended_dynamic_state3_tessellation_domain_origin: Bool32::default(),
extended_dynamic_state_3depth_clamp_enable: Bool32::default(),
extended_dynamic_state3_polygon_mode: Bool32::default(),
extended_dynamic_state3_rasterization_samples: Bool32::default(),
extended_dynamic_state3_sample_mask: Bool32::default(),
extended_dynamic_state3_alpha_to_coverage_enable: Bool32::default(),
extended_dynamic_state3_alpha_to_one_enable: Bool32::default(),
extended_dynamic_state3_logic_op_enable: Bool32::default(),
extended_dynamic_state3_color_blend_enable: Bool32::default(),
extended_dynamic_state3_color_blend_equation: Bool32::default(),
extended_dynamic_state3_color_write_mask: Bool32::default(),
extended_dynamic_state3_rasterization_stream: Bool32::default(),
extended_dynamic_state3_conservative_rasterization_mode: Bool32::default(),
extended_dynamic_state3_extra_primitive_overestimation_size: Bool32::default(),
extended_dynamic_state_3depth_clip_enable: Bool32::default(),
extended_dynamic_state3_sample_locations_enable: Bool32::default(),
extended_dynamic_state3_color_blend_advanced: Bool32::default(),
extended_dynamic_state3_provoking_vertex_mode: Bool32::default(),
extended_dynamic_state3_line_rasterization_mode: Bool32::default(),
extended_dynamic_state3_line_stipple_enable: Bool32::default(),
extended_dynamic_state_3depth_clip_negative_one_to_one: Bool32::default(),
extended_dynamic_state3_viewport_w_scaling_enable: Bool32::default(),
extended_dynamic_state3_viewport_swizzle: Bool32::default(),
extended_dynamic_state3_coverage_to_color_enable: Bool32::default(),
extended_dynamic_state3_coverage_to_color_location: Bool32::default(),
extended_dynamic_state3_coverage_modulation_mode: Bool32::default(),
extended_dynamic_state3_coverage_modulation_table_enable: Bool32::default(),
extended_dynamic_state3_coverage_modulation_table: Bool32::default(),
extended_dynamic_state3_coverage_reduction_mode: Bool32::default(),
extended_dynamic_state3_representative_fragment_test_enable: Bool32::default(),
extended_dynamic_state3_shading_rate_image_enable: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceExtendedDynamicState3FeaturesEXT {}
unsafe impl Sync for PhysicalDeviceExtendedDynamicState3FeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceExtendedDynamicState3PropertiesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceExtendedDynamicState3PropertiesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub dynamic_primitive_topology_unrestricted: Bool32,
}
impl Default for PhysicalDeviceExtendedDynamicState3PropertiesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT,
next: ptr::null_mut(),
dynamic_primitive_topology_unrestricted: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceExtendedDynamicState3PropertiesEXT {}
unsafe impl Sync for PhysicalDeviceExtendedDynamicState3PropertiesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceExtendedDynamicStateFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceExtendedDynamicStateFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub extended_dynamic_state: Bool32,
}
impl Default for PhysicalDeviceExtendedDynamicStateFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT,
next: ptr::null_mut(),
extended_dynamic_state: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceExtendedDynamicStateFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceExtendedDynamicStateFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub extended_sparse_address_space: Bool32,
}
impl Default for PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_FEATURES_NV,
next: ptr::null_mut(),
extended_sparse_address_space: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV {}
unsafe impl Sync for PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceExtendedSparseAddressSpacePropertiesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceExtendedSparseAddressSpacePropertiesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub extended_sparse_address_space_size: DeviceSize,
pub extended_sparse_image_usage_flags: ImageUsageFlags,
pub extended_sparse_buffer_usage_flags: BufferUsageFlags,
}
impl Default for PhysicalDeviceExtendedSparseAddressSpacePropertiesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_PROPERTIES_NV,
next: ptr::null_mut(),
extended_sparse_address_space_size: DeviceSize::default(),
extended_sparse_image_usage_flags: ImageUsageFlags::default(),
extended_sparse_buffer_usage_flags: BufferUsageFlags::default(),
}
}
}
unsafe impl Send for PhysicalDeviceExtendedSparseAddressSpacePropertiesNV {}
unsafe impl Sync for PhysicalDeviceExtendedSparseAddressSpacePropertiesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceExternalBufferInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceExternalBufferInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: BufferCreateFlags,
pub usage: BufferUsageFlags,
pub handle_type: ExternalMemoryHandleTypeFlags,
}
impl Default for PhysicalDeviceExternalBufferInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO,
next: ptr::null(),
flags: BufferCreateFlags::default(),
usage: BufferUsageFlags::default(),
handle_type: ExternalMemoryHandleTypeFlags::default(),
}
}
}
unsafe impl Send for PhysicalDeviceExternalBufferInfo {}
unsafe impl Sync for PhysicalDeviceExternalBufferInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceExternalComputeQueuePropertiesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceExternalComputeQueuePropertiesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub external_data_size: u32,
pub max_external_queues: u32,
}
impl Default for PhysicalDeviceExternalComputeQueuePropertiesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_COMPUTE_QUEUE_PROPERTIES_NV,
next: ptr::null_mut(),
external_data_size: u32::default(),
max_external_queues: u32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceExternalComputeQueuePropertiesNV {}
unsafe impl Sync for PhysicalDeviceExternalComputeQueuePropertiesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceExternalFenceInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceExternalFenceInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub handle_type: ExternalFenceHandleTypeFlags,
}
impl Default for PhysicalDeviceExternalFenceInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO,
next: ptr::null(),
handle_type: ExternalFenceHandleTypeFlags::default(),
}
}
}
unsafe impl Send for PhysicalDeviceExternalFenceInfo {}
unsafe impl Sync for PhysicalDeviceExternalFenceInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceExternalFormatResolveFeaturesANDROID.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceExternalFormatResolveFeaturesANDROID {
pub s_type: StructureType,
pub next: *mut c_void,
pub external_format_resolve: Bool32,
}
impl Default for PhysicalDeviceExternalFormatResolveFeaturesANDROID {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_FEATURES_ANDROID,
next: ptr::null_mut(),
external_format_resolve: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceExternalFormatResolveFeaturesANDROID {}
unsafe impl Sync for PhysicalDeviceExternalFormatResolveFeaturesANDROID {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceExternalFormatResolvePropertiesANDROID.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceExternalFormatResolvePropertiesANDROID {
pub s_type: StructureType,
pub next: *mut c_void,
pub null_color_attachment_with_external_format_resolve: Bool32,
pub external_format_resolve_chroma_offset_x: ChromaLocation,
pub external_format_resolve_chroma_offset_y: ChromaLocation,
}
impl Default for PhysicalDeviceExternalFormatResolvePropertiesANDROID {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_PROPERTIES_ANDROID,
next: ptr::null_mut(),
null_color_attachment_with_external_format_resolve: Bool32::default(),
external_format_resolve_chroma_offset_x: ChromaLocation::default(),
external_format_resolve_chroma_offset_y: ChromaLocation::default(),
}
}
}
unsafe impl Send for PhysicalDeviceExternalFormatResolvePropertiesANDROID {}
unsafe impl Sync for PhysicalDeviceExternalFormatResolvePropertiesANDROID {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceExternalImageFormatInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceExternalImageFormatInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub handle_type: ExternalMemoryHandleTypeFlags,
}
impl Default for PhysicalDeviceExternalImageFormatInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO,
next: ptr::null(),
handle_type: ExternalMemoryHandleTypeFlags::default(),
}
}
}
unsafe impl Send for PhysicalDeviceExternalImageFormatInfo {}
unsafe impl Sync for PhysicalDeviceExternalImageFormatInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceExternalMemoryHostPropertiesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceExternalMemoryHostPropertiesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub min_imported_host_pointer_alignment: DeviceSize,
}
impl Default for PhysicalDeviceExternalMemoryHostPropertiesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT,
next: ptr::null_mut(),
min_imported_host_pointer_alignment: DeviceSize::default(),
}
}
}
unsafe impl Send for PhysicalDeviceExternalMemoryHostPropertiesEXT {}
unsafe impl Sync for PhysicalDeviceExternalMemoryHostPropertiesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceExternalMemoryRDMAFeaturesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceExternalMemoryRDMAFeaturesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub external_memory_rdma: Bool32,
}
impl Default for PhysicalDeviceExternalMemoryRDMAFeaturesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV,
next: ptr::null_mut(),
external_memory_rdma: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceExternalMemoryRDMAFeaturesNV {}
unsafe impl Sync for PhysicalDeviceExternalMemoryRDMAFeaturesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceExternalMemorySciBufFeaturesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceExternalMemorySciBufFeaturesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub sci_buf_import: Bool32,
pub sci_buf_export: Bool32,
}
impl Default for PhysicalDeviceExternalMemorySciBufFeaturesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCI_BUF_FEATURES_NV,
next: ptr::null_mut(),
sci_buf_import: Bool32::default(),
sci_buf_export: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceExternalMemorySciBufFeaturesNV {}
unsafe impl Sync for PhysicalDeviceExternalMemorySciBufFeaturesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX {
pub s_type: StructureType,
pub next: *mut c_void,
pub screen_buffer_import: Bool32,
}
impl Default for PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCREEN_BUFFER_FEATURES_QNX,
next: ptr::null_mut(),
screen_buffer_import: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX {}
unsafe impl Sync for PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceExternalSciSync2FeaturesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceExternalSciSync2FeaturesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub sci_sync_fence: Bool32,
pub sci_sync_semaphore2: Bool32,
pub sci_sync_import: Bool32,
pub sci_sync_export: Bool32,
}
impl Default for PhysicalDeviceExternalSciSync2FeaturesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_2_FEATURES_NV,
next: ptr::null_mut(),
sci_sync_fence: Bool32::default(),
sci_sync_semaphore2: Bool32::default(),
sci_sync_import: Bool32::default(),
sci_sync_export: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceExternalSciSync2FeaturesNV {}
unsafe impl Sync for PhysicalDeviceExternalSciSync2FeaturesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceExternalSciSyncFeaturesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceExternalSciSyncFeaturesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub sci_sync_fence: Bool32,
pub sci_sync_semaphore: Bool32,
pub sci_sync_import: Bool32,
pub sci_sync_export: Bool32,
}
impl Default for PhysicalDeviceExternalSciSyncFeaturesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_FEATURES_NV,
next: ptr::null_mut(),
sci_sync_fence: Bool32::default(),
sci_sync_semaphore: Bool32::default(),
sci_sync_import: Bool32::default(),
sci_sync_export: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceExternalSciSyncFeaturesNV {}
unsafe impl Sync for PhysicalDeviceExternalSciSyncFeaturesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceExternalSemaphoreInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceExternalSemaphoreInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub handle_type: ExternalSemaphoreHandleTypeFlags,
}
impl Default for PhysicalDeviceExternalSemaphoreInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO,
next: ptr::null(),
handle_type: ExternalSemaphoreHandleTypeFlags::default(),
}
}
}
unsafe impl Send for PhysicalDeviceExternalSemaphoreInfo {}
unsafe impl Sync for PhysicalDeviceExternalSemaphoreInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceExternalTensorInfoARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceExternalTensorInfoARM {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: TensorCreateFlagsARM,
pub description: *const TensorDescriptionARM,
pub handle_type: ExternalMemoryHandleTypeFlags,
}
impl Default for PhysicalDeviceExternalTensorInfoARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_EXTERNAL_TENSOR_INFO_ARM,
next: ptr::null(),
flags: TensorCreateFlagsARM::default(),
description: ptr::null(),
handle_type: ExternalMemoryHandleTypeFlags::default(),
}
}
}
unsafe impl Send for PhysicalDeviceExternalTensorInfoARM {}
unsafe impl Sync for PhysicalDeviceExternalTensorInfoARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceFaultFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceFaultFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub device_fault: Bool32,
pub device_fault_vendor_binary: Bool32,
}
impl Default for PhysicalDeviceFaultFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_FAULT_FEATURES_EXT,
next: ptr::null_mut(),
device_fault: Bool32::default(),
device_fault_vendor_binary: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceFaultFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceFaultFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceFeatures.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceFeatures {
pub robust_buffer_access: Bool32,
pub full_draw_index_uint32: Bool32,
pub image_cube_array: Bool32,
pub independent_blend: Bool32,
pub geometry_shader: Bool32,
pub tessellation_shader: Bool32,
pub sample_rate_shading: Bool32,
pub dual_src_blend: Bool32,
pub logic_op: Bool32,
pub multi_draw_indirect: Bool32,
pub draw_indirect_first_instance: Bool32,
pub depth_clamp: Bool32,
pub depth_bias_clamp: Bool32,
pub fill_mode_non_solid: Bool32,
pub depth_bounds: Bool32,
pub wide_lines: Bool32,
pub large_points: Bool32,
pub alpha_to_one: Bool32,
pub multi_viewport: Bool32,
pub sampler_anisotropy: Bool32,
pub texture_compression_etc2: Bool32,
pub texture_compression_astc_ldr: Bool32,
pub texture_compression_bc: Bool32,
pub occlusion_query_precise: Bool32,
pub pipeline_statistics_query: Bool32,
pub vertex_pipeline_stores_and_atomics: Bool32,
pub fragment_stores_and_atomics: Bool32,
pub shader_tessellation_and_geometry_point_size: Bool32,
pub shader_image_gather_extended: Bool32,
pub shader_storage_image_extended_formats: Bool32,
pub shader_storage_image_multisample: Bool32,
pub shader_storage_image_read_without_format: Bool32,
pub shader_storage_image_write_without_format: Bool32,
pub shader_uniform_buffer_array_dynamic_indexing: Bool32,
pub shader_sampled_image_array_dynamic_indexing: Bool32,
pub shader_storage_buffer_array_dynamic_indexing: Bool32,
pub shader_storage_image_array_dynamic_indexing: Bool32,
pub shader_clip_distance: Bool32,
pub shader_cull_distance: Bool32,
pub shader_float64: Bool32,
pub shader_int64: Bool32,
pub shader_int16: Bool32,
pub shader_resource_residency: Bool32,
pub shader_resource_min_lod: Bool32,
pub sparse_binding: Bool32,
pub sparse_residency_buffer: Bool32,
pub sparse_residency_image_2d: Bool32,
pub sparse_residency_image_3d: Bool32,
pub sparse_residency2_samples: Bool32,
pub sparse_residency4_samples: Bool32,
pub sparse_residency8_samples: Bool32,
pub sparse_residency16_samples: Bool32,
pub sparse_residency_aliased: Bool32,
pub variable_multisample_rate: Bool32,
pub inherited_queries: Bool32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceFeatures2.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceFeatures2 {
pub s_type: StructureType,
pub next: *mut c_void,
pub features: PhysicalDeviceFeatures,
}
impl Default for PhysicalDeviceFeatures2 {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_FEATURES_2,
next: ptr::null_mut(),
features: PhysicalDeviceFeatures::default(),
}
}
}
unsafe impl Send for PhysicalDeviceFeatures2 {}
unsafe impl Sync for PhysicalDeviceFeatures2 {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceFloatControlsProperties.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceFloatControlsProperties {
pub s_type: StructureType,
pub next: *mut c_void,
pub denorm_behavior_independence: ShaderFloatControlsIndependence,
pub rounding_mode_independence: ShaderFloatControlsIndependence,
pub shader_signed_zero_inf_nan_preserve_float16: Bool32,
pub shader_signed_zero_inf_nan_preserve_float32: Bool32,
pub shader_signed_zero_inf_nan_preserve_float64: Bool32,
pub shader_denorm_preserve_float16: Bool32,
pub shader_denorm_preserve_float32: Bool32,
pub shader_denorm_preserve_float64: Bool32,
pub shader_denorm_flush_to_zero_float16: Bool32,
pub shader_denorm_flush_to_zero_float32: Bool32,
pub shader_denorm_flush_to_zero_float64: Bool32,
pub shader_rounding_mode_rte_float16: Bool32,
pub shader_rounding_mode_rte_float32: Bool32,
pub shader_rounding_mode_rte_float64: Bool32,
pub shader_rounding_mode_rtz_float16: Bool32,
pub shader_rounding_mode_rtz_float32: Bool32,
pub shader_rounding_mode_rtz_float64: Bool32,
}
impl Default for PhysicalDeviceFloatControlsProperties {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES,
next: ptr::null_mut(),
denorm_behavior_independence: ShaderFloatControlsIndependence::default(),
rounding_mode_independence: ShaderFloatControlsIndependence::default(),
shader_signed_zero_inf_nan_preserve_float16: Bool32::default(),
shader_signed_zero_inf_nan_preserve_float32: Bool32::default(),
shader_signed_zero_inf_nan_preserve_float64: Bool32::default(),
shader_denorm_preserve_float16: Bool32::default(),
shader_denorm_preserve_float32: Bool32::default(),
shader_denorm_preserve_float64: Bool32::default(),
shader_denorm_flush_to_zero_float16: Bool32::default(),
shader_denorm_flush_to_zero_float32: Bool32::default(),
shader_denorm_flush_to_zero_float64: Bool32::default(),
shader_rounding_mode_rte_float16: Bool32::default(),
shader_rounding_mode_rte_float32: Bool32::default(),
shader_rounding_mode_rte_float64: Bool32::default(),
shader_rounding_mode_rtz_float16: Bool32::default(),
shader_rounding_mode_rtz_float32: Bool32::default(),
shader_rounding_mode_rtz_float64: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceFloatControlsProperties {}
unsafe impl Sync for PhysicalDeviceFloatControlsProperties {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceFormatPackFeaturesARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceFormatPackFeaturesARM {
pub s_type: StructureType,
pub next: *mut c_void,
pub format_pack: Bool32,
}
impl Default for PhysicalDeviceFormatPackFeaturesARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_FORMAT_PACK_FEATURES_ARM,
next: ptr::null_mut(),
format_pack: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceFormatPackFeaturesARM {}
unsafe impl Sync for PhysicalDeviceFormatPackFeaturesARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceFragmentDensityMap2FeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceFragmentDensityMap2FeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub fragment_density_map_deferred: Bool32,
}
impl Default for PhysicalDeviceFragmentDensityMap2FeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT,
next: ptr::null_mut(),
fragment_density_map_deferred: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceFragmentDensityMap2FeaturesEXT {}
unsafe impl Sync for PhysicalDeviceFragmentDensityMap2FeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceFragmentDensityMap2PropertiesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceFragmentDensityMap2PropertiesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub subsampled_loads: Bool32,
pub subsampled_coarse_reconstruction_early_access: Bool32,
pub max_subsampled_array_layers: u32,
pub max_descriptor_set_subsampled_samplers: u32,
}
impl Default for PhysicalDeviceFragmentDensityMap2PropertiesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT,
next: ptr::null_mut(),
subsampled_loads: Bool32::default(),
subsampled_coarse_reconstruction_early_access: Bool32::default(),
max_subsampled_array_layers: u32::default(),
max_descriptor_set_subsampled_samplers: u32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceFragmentDensityMap2PropertiesEXT {}
unsafe impl Sync for PhysicalDeviceFragmentDensityMap2PropertiesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceFragmentDensityMapFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceFragmentDensityMapFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub fragment_density_map: Bool32,
pub fragment_density_map_dynamic: Bool32,
pub fragment_density_map_non_subsampled_images: Bool32,
}
impl Default for PhysicalDeviceFragmentDensityMapFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT,
next: ptr::null_mut(),
fragment_density_map: Bool32::default(),
fragment_density_map_dynamic: Bool32::default(),
fragment_density_map_non_subsampled_images: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceFragmentDensityMapFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceFragmentDensityMapFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE {
pub s_type: StructureType,
pub next: *mut c_void,
pub fragment_density_map_layered: Bool32,
}
impl Default for PhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_LAYERED_FEATURES_VALVE,
next: ptr::null_mut(),
fragment_density_map_layered: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE {}
unsafe impl Sync for PhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE {
pub s_type: StructureType,
pub next: *mut c_void,
pub max_fragment_density_map_layers: u32,
}
impl Default for PhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_LAYERED_PROPERTIES_VALVE,
next: ptr::null_mut(),
max_fragment_density_map_layers: u32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE {}
unsafe impl Sync for PhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub fragment_density_map_offset: Bool32,
}
impl Default for PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_EXT,
next: ptr::null_mut(),
fragment_density_map_offset: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceFragmentDensityMapOffsetPropertiesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub fragment_density_offset_granularity: Extent2D,
}
impl Default for PhysicalDeviceFragmentDensityMapOffsetPropertiesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_EXT,
next: ptr::null_mut(),
fragment_density_offset_granularity: Extent2D::default(),
}
}
}
unsafe impl Send for PhysicalDeviceFragmentDensityMapOffsetPropertiesEXT {}
unsafe impl Sync for PhysicalDeviceFragmentDensityMapOffsetPropertiesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceFragmentDensityMapPropertiesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceFragmentDensityMapPropertiesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub min_fragment_density_texel_size: Extent2D,
pub max_fragment_density_texel_size: Extent2D,
pub fragment_density_invocations: Bool32,
}
impl Default for PhysicalDeviceFragmentDensityMapPropertiesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT,
next: ptr::null_mut(),
min_fragment_density_texel_size: Extent2D::default(),
max_fragment_density_texel_size: Extent2D::default(),
fragment_density_invocations: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceFragmentDensityMapPropertiesEXT {}
unsafe impl Sync for PhysicalDeviceFragmentDensityMapPropertiesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceFragmentShaderBarycentricFeaturesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub fragment_shader_barycentric: Bool32,
}
impl Default for PhysicalDeviceFragmentShaderBarycentricFeaturesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR,
next: ptr::null_mut(),
fragment_shader_barycentric: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceFragmentShaderBarycentricFeaturesKHR {}
unsafe impl Sync for PhysicalDeviceFragmentShaderBarycentricFeaturesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceFragmentShaderBarycentricPropertiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub tri_strip_vertex_order_independent_of_provoking_vertex: Bool32,
}
impl Default for PhysicalDeviceFragmentShaderBarycentricPropertiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR,
next: ptr::null_mut(),
tri_strip_vertex_order_independent_of_provoking_vertex: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceFragmentShaderBarycentricPropertiesKHR {}
unsafe impl Sync for PhysicalDeviceFragmentShaderBarycentricPropertiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceFragmentShaderInterlockFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub fragment_shader_sample_interlock: Bool32,
pub fragment_shader_pixel_interlock: Bool32,
pub fragment_shader_shading_rate_interlock: Bool32,
}
impl Default for PhysicalDeviceFragmentShaderInterlockFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT,
next: ptr::null_mut(),
fragment_shader_sample_interlock: Bool32::default(),
fragment_shader_pixel_interlock: Bool32::default(),
fragment_shader_shading_rate_interlock: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceFragmentShaderInterlockFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceFragmentShaderInterlockFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceFragmentShadingRateEnumsFeaturesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub fragment_shading_rate_enums: Bool32,
pub supersample_fragment_shading_rates: Bool32,
pub no_invocation_fragment_shading_rates: Bool32,
}
impl Default for PhysicalDeviceFragmentShadingRateEnumsFeaturesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV,
next: ptr::null_mut(),
fragment_shading_rate_enums: Bool32::default(),
supersample_fragment_shading_rates: Bool32::default(),
no_invocation_fragment_shading_rates: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceFragmentShadingRateEnumsFeaturesNV {}
unsafe impl Sync for PhysicalDeviceFragmentShadingRateEnumsFeaturesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceFragmentShadingRateEnumsPropertiesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub max_fragment_shading_rate_invocation_count: SampleCountFlags,
}
impl Default for PhysicalDeviceFragmentShadingRateEnumsPropertiesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV,
next: ptr::null_mut(),
max_fragment_shading_rate_invocation_count: SampleCountFlags::default(),
}
}
}
unsafe impl Send for PhysicalDeviceFragmentShadingRateEnumsPropertiesNV {}
unsafe impl Sync for PhysicalDeviceFragmentShadingRateEnumsPropertiesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceFragmentShadingRateFeaturesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceFragmentShadingRateFeaturesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub pipeline_fragment_shading_rate: Bool32,
pub primitive_fragment_shading_rate: Bool32,
pub attachment_fragment_shading_rate: Bool32,
}
impl Default for PhysicalDeviceFragmentShadingRateFeaturesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR,
next: ptr::null_mut(),
pipeline_fragment_shading_rate: Bool32::default(),
primitive_fragment_shading_rate: Bool32::default(),
attachment_fragment_shading_rate: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceFragmentShadingRateFeaturesKHR {}
unsafe impl Sync for PhysicalDeviceFragmentShadingRateFeaturesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceFragmentShadingRateKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceFragmentShadingRateKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub sample_counts: SampleCountFlags,
pub fragment_size: Extent2D,
}
impl Default for PhysicalDeviceFragmentShadingRateKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR,
next: ptr::null_mut(),
sample_counts: SampleCountFlags::default(),
fragment_size: Extent2D::default(),
}
}
}
unsafe impl Send for PhysicalDeviceFragmentShadingRateKHR {}
unsafe impl Sync for PhysicalDeviceFragmentShadingRateKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceFragmentShadingRatePropertiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceFragmentShadingRatePropertiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub min_fragment_shading_rate_attachment_texel_size: Extent2D,
pub max_fragment_shading_rate_attachment_texel_size: Extent2D,
pub max_fragment_shading_rate_attachment_texel_size_aspect_ratio: u32,
pub primitive_fragment_shading_rate_with_multiple_viewports: Bool32,
pub layered_shading_rate_attachments: Bool32,
pub fragment_shading_rate_non_trivial_combiner_ops: Bool32,
pub max_fragment_size: Extent2D,
pub max_fragment_size_aspect_ratio: u32,
pub max_fragment_shading_rate_coverage_samples: u32,
pub max_fragment_shading_rate_rasterization_samples: SampleCountFlags,
pub fragment_shading_rate_with_shader_depth_stencil_writes: Bool32,
pub fragment_shading_rate_with_sample_mask: Bool32,
pub fragment_shading_rate_with_shader_sample_mask: Bool32,
pub fragment_shading_rate_with_conservative_rasterization: Bool32,
pub fragment_shading_rate_with_fragment_shader_interlock: Bool32,
pub fragment_shading_rate_with_custom_sample_locations: Bool32,
pub fragment_shading_rate_strict_multiply_combiner: Bool32,
}
impl Default for PhysicalDeviceFragmentShadingRatePropertiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR,
next: ptr::null_mut(),
min_fragment_shading_rate_attachment_texel_size: Extent2D::default(),
max_fragment_shading_rate_attachment_texel_size: Extent2D::default(),
max_fragment_shading_rate_attachment_texel_size_aspect_ratio: u32::default(),
primitive_fragment_shading_rate_with_multiple_viewports: Bool32::default(),
layered_shading_rate_attachments: Bool32::default(),
fragment_shading_rate_non_trivial_combiner_ops: Bool32::default(),
max_fragment_size: Extent2D::default(),
max_fragment_size_aspect_ratio: u32::default(),
max_fragment_shading_rate_coverage_samples: u32::default(),
max_fragment_shading_rate_rasterization_samples: SampleCountFlags::default(),
fragment_shading_rate_with_shader_depth_stencil_writes: Bool32::default(),
fragment_shading_rate_with_sample_mask: Bool32::default(),
fragment_shading_rate_with_shader_sample_mask: Bool32::default(),
fragment_shading_rate_with_conservative_rasterization: Bool32::default(),
fragment_shading_rate_with_fragment_shader_interlock: Bool32::default(),
fragment_shading_rate_with_custom_sample_locations: Bool32::default(),
fragment_shading_rate_strict_multiply_combiner: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceFragmentShadingRatePropertiesKHR {}
unsafe impl Sync for PhysicalDeviceFragmentShadingRatePropertiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceFrameBoundaryFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceFrameBoundaryFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub frame_boundary: Bool32,
}
impl Default for PhysicalDeviceFrameBoundaryFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_FRAME_BOUNDARY_FEATURES_EXT,
next: ptr::null_mut(),
frame_boundary: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceFrameBoundaryFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceFrameBoundaryFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceGlobalPriorityQueryFeatures.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceGlobalPriorityQueryFeatures {
pub s_type: StructureType,
pub next: *mut c_void,
pub global_priority_query: Bool32,
}
impl Default for PhysicalDeviceGlobalPriorityQueryFeatures {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES,
next: ptr::null_mut(),
global_priority_query: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceGlobalPriorityQueryFeatures {}
unsafe impl Sync for PhysicalDeviceGlobalPriorityQueryFeatures {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub graphics_pipeline_library: Bool32,
}
impl Default for PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT,
next: ptr::null_mut(),
graphics_pipeline_library: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub graphics_pipeline_library_fast_linking: Bool32,
pub graphics_pipeline_library_independent_interpolation_decoration: Bool32,
}
impl Default for PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT,
next: ptr::null_mut(),
graphics_pipeline_library_fast_linking: Bool32::default(),
graphics_pipeline_library_independent_interpolation_decoration: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT {}
unsafe impl Sync for PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceGroupProperties.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceGroupProperties {
pub s_type: StructureType,
pub next: *mut c_void,
pub physical_device_count: u32,
pub physical_devices: [PhysicalDevice; MAX_DEVICE_GROUP_SIZE as usize],
pub subset_allocation: Bool32,
}
impl Default for PhysicalDeviceGroupProperties {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_GROUP_PROPERTIES,
next: ptr::null_mut(),
physical_device_count: u32::default(),
physical_devices: [PhysicalDevice::default(); MAX_DEVICE_GROUP_SIZE],
subset_allocation: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceGroupProperties {}
unsafe impl Sync for PhysicalDeviceGroupProperties {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceHdrVividFeaturesHUAWEI.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceHdrVividFeaturesHUAWEI {
pub s_type: StructureType,
pub next: *mut c_void,
pub hdr_vivid: Bool32,
}
impl Default for PhysicalDeviceHdrVividFeaturesHUAWEI {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_HDR_VIVID_FEATURES_HUAWEI,
next: ptr::null_mut(),
hdr_vivid: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceHdrVividFeaturesHUAWEI {}
unsafe impl Sync for PhysicalDeviceHdrVividFeaturesHUAWEI {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceHostImageCopyFeatures.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceHostImageCopyFeatures {
pub s_type: StructureType,
pub next: *mut c_void,
pub host_image_copy: Bool32,
}
impl Default for PhysicalDeviceHostImageCopyFeatures {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES,
next: ptr::null_mut(),
host_image_copy: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceHostImageCopyFeatures {}
unsafe impl Sync for PhysicalDeviceHostImageCopyFeatures {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceHostImageCopyProperties.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceHostImageCopyProperties {
pub s_type: StructureType,
pub next: *mut c_void,
pub copy_src_layout_count: u32,
pub copy_src_layouts: *mut ImageLayout,
pub copy_dst_layout_count: u32,
pub copy_dst_layouts: *mut ImageLayout,
pub optimal_tiling_layout_uuid: ByteArray<UUID_SIZE>,
pub identical_memory_type_requirements: Bool32,
}
impl Default for PhysicalDeviceHostImageCopyProperties {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES,
next: ptr::null_mut(),
copy_src_layout_count: u32::default(),
copy_src_layouts: ptr::null_mut(),
copy_dst_layout_count: u32::default(),
copy_dst_layouts: ptr::null_mut(),
optimal_tiling_layout_uuid: ByteArray::default(),
identical_memory_type_requirements: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceHostImageCopyProperties {}
unsafe impl Sync for PhysicalDeviceHostImageCopyProperties {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceHostQueryResetFeatures.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceHostQueryResetFeatures {
pub s_type: StructureType,
pub next: *mut c_void,
pub host_query_reset: Bool32,
}
impl Default for PhysicalDeviceHostQueryResetFeatures {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES,
next: ptr::null_mut(),
host_query_reset: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceHostQueryResetFeatures {}
unsafe impl Sync for PhysicalDeviceHostQueryResetFeatures {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceIDProperties.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceIDProperties {
pub s_type: StructureType,
pub next: *mut c_void,
pub device_uuid: ByteArray<UUID_SIZE>,
pub driver_uuid: ByteArray<UUID_SIZE>,
pub device_luid: ByteArray<LUID_SIZE>,
pub device_node_mask: u32,
pub device_luid_valid: Bool32,
}
impl Default for PhysicalDeviceIDProperties {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_ID_PROPERTIES,
next: ptr::null_mut(),
device_uuid: ByteArray::default(),
driver_uuid: ByteArray::default(),
device_luid: ByteArray::default(),
device_node_mask: u32::default(),
device_luid_valid: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceIDProperties {}
unsafe impl Sync for PhysicalDeviceIDProperties {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceImage2DViewOf3DFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceImage2DViewOf3DFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub image_2d_view_of_3d: Bool32,
pub sampler_2d_view_of_3d: Bool32,
}
impl Default for PhysicalDeviceImage2DViewOf3DFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT,
next: ptr::null_mut(),
image_2d_view_of_3d: Bool32::default(),
sampler_2d_view_of_3d: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceImage2DViewOf3DFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceImage2DViewOf3DFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceImageAlignmentControlFeaturesMESA.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceImageAlignmentControlFeaturesMESA {
pub s_type: StructureType,
pub next: *mut c_void,
pub image_alignment_control: Bool32,
}
impl Default for PhysicalDeviceImageAlignmentControlFeaturesMESA {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_FEATURES_MESA,
next: ptr::null_mut(),
image_alignment_control: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceImageAlignmentControlFeaturesMESA {}
unsafe impl Sync for PhysicalDeviceImageAlignmentControlFeaturesMESA {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceImageAlignmentControlPropertiesMESA.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceImageAlignmentControlPropertiesMESA {
pub s_type: StructureType,
pub next: *mut c_void,
pub supported_image_alignment_mask: u32,
}
impl Default for PhysicalDeviceImageAlignmentControlPropertiesMESA {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_PROPERTIES_MESA,
next: ptr::null_mut(),
supported_image_alignment_mask: u32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceImageAlignmentControlPropertiesMESA {}
unsafe impl Sync for PhysicalDeviceImageAlignmentControlPropertiesMESA {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceImageCompressionControlFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceImageCompressionControlFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub image_compression_control: Bool32,
}
impl Default for PhysicalDeviceImageCompressionControlFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT,
next: ptr::null_mut(),
image_compression_control: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceImageCompressionControlFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceImageCompressionControlFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub image_compression_control_swapchain: Bool32,
}
impl Default for PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT,
next: ptr::null_mut(),
image_compression_control_swapchain: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceImageDrmFormatModifierInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceImageDrmFormatModifierInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub drm_format_modifier: u64,
pub sharing_mode: SharingMode,
pub queue_family_index_count: u32,
pub queue_family_indices: *const u32,
}
impl Default for PhysicalDeviceImageDrmFormatModifierInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT,
next: ptr::null(),
drm_format_modifier: u64::default(),
sharing_mode: SharingMode::default(),
queue_family_index_count: u32::default(),
queue_family_indices: ptr::null(),
}
}
}
unsafe impl Send for PhysicalDeviceImageDrmFormatModifierInfoEXT {}
unsafe impl Sync for PhysicalDeviceImageDrmFormatModifierInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceImageFormatInfo2.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceImageFormatInfo2 {
pub s_type: StructureType,
pub next: *const c_void,
pub format: Format,
pub type_: ImageType,
pub tiling: ImageTiling,
pub usage: ImageUsageFlags,
pub flags: ImageCreateFlags,
}
impl Default for PhysicalDeviceImageFormatInfo2 {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
next: ptr::null(),
format: Format::default(),
type_: ImageType::default(),
tiling: ImageTiling::default(),
usage: ImageUsageFlags::default(),
flags: ImageCreateFlags::default(),
}
}
}
unsafe impl Send for PhysicalDeviceImageFormatInfo2 {}
unsafe impl Sync for PhysicalDeviceImageFormatInfo2 {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceImageProcessing2FeaturesQCOM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceImageProcessing2FeaturesQCOM {
pub s_type: StructureType,
pub next: *mut c_void,
pub texture_block_match2: Bool32,
}
impl Default for PhysicalDeviceImageProcessing2FeaturesQCOM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_2_FEATURES_QCOM,
next: ptr::null_mut(),
texture_block_match2: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceImageProcessing2FeaturesQCOM {}
unsafe impl Sync for PhysicalDeviceImageProcessing2FeaturesQCOM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceImageProcessing2PropertiesQCOM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceImageProcessing2PropertiesQCOM {
pub s_type: StructureType,
pub next: *mut c_void,
pub max_block_match_window: Extent2D,
}
impl Default for PhysicalDeviceImageProcessing2PropertiesQCOM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_2_PROPERTIES_QCOM,
next: ptr::null_mut(),
max_block_match_window: Extent2D::default(),
}
}
}
unsafe impl Send for PhysicalDeviceImageProcessing2PropertiesQCOM {}
unsafe impl Sync for PhysicalDeviceImageProcessing2PropertiesQCOM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceImageProcessingFeaturesQCOM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceImageProcessingFeaturesQCOM {
pub s_type: StructureType,
pub next: *mut c_void,
pub texture_sample_weighted: Bool32,
pub texture_box_filter: Bool32,
pub texture_block_match: Bool32,
}
impl Default for PhysicalDeviceImageProcessingFeaturesQCOM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM,
next: ptr::null_mut(),
texture_sample_weighted: Bool32::default(),
texture_box_filter: Bool32::default(),
texture_block_match: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceImageProcessingFeaturesQCOM {}
unsafe impl Sync for PhysicalDeviceImageProcessingFeaturesQCOM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceImageProcessingPropertiesQCOM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceImageProcessingPropertiesQCOM {
pub s_type: StructureType,
pub next: *mut c_void,
pub max_weight_filter_phases: u32,
pub max_weight_filter_dimension: Extent2D,
pub max_block_match_region: Extent2D,
pub max_box_filter_block_size: Extent2D,
}
impl Default for PhysicalDeviceImageProcessingPropertiesQCOM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM,
next: ptr::null_mut(),
max_weight_filter_phases: u32::default(),
max_weight_filter_dimension: Extent2D::default(),
max_block_match_region: Extent2D::default(),
max_box_filter_block_size: Extent2D::default(),
}
}
}
unsafe impl Send for PhysicalDeviceImageProcessingPropertiesQCOM {}
unsafe impl Sync for PhysicalDeviceImageProcessingPropertiesQCOM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceImageRobustnessFeatures.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceImageRobustnessFeatures {
pub s_type: StructureType,
pub next: *mut c_void,
pub robust_image_access: Bool32,
}
impl Default for PhysicalDeviceImageRobustnessFeatures {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES,
next: ptr::null_mut(),
robust_image_access: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceImageRobustnessFeatures {}
unsafe impl Sync for PhysicalDeviceImageRobustnessFeatures {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceImageSlicedViewOf3DFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub image_sliced_view_of_3d: Bool32,
}
impl Default for PhysicalDeviceImageSlicedViewOf3DFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT,
next: ptr::null_mut(),
image_sliced_view_of_3d: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceImageSlicedViewOf3DFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceImageSlicedViewOf3DFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceImageViewImageFormatInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceImageViewImageFormatInfoEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub image_view_type: ImageViewType,
}
impl Default for PhysicalDeviceImageViewImageFormatInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT,
next: ptr::null_mut(),
image_view_type: ImageViewType::default(),
}
}
}
unsafe impl Send for PhysicalDeviceImageViewImageFormatInfoEXT {}
unsafe impl Sync for PhysicalDeviceImageViewImageFormatInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceImageViewMinLodFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceImageViewMinLodFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub min_lod: Bool32,
}
impl Default for PhysicalDeviceImageViewMinLodFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT,
next: ptr::null_mut(),
min_lod: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceImageViewMinLodFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceImageViewMinLodFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceImagelessFramebufferFeatures.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceImagelessFramebufferFeatures {
pub s_type: StructureType,
pub next: *mut c_void,
pub imageless_framebuffer: Bool32,
}
impl Default for PhysicalDeviceImagelessFramebufferFeatures {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES,
next: ptr::null_mut(),
imageless_framebuffer: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceImagelessFramebufferFeatures {}
unsafe impl Sync for PhysicalDeviceImagelessFramebufferFeatures {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceIndexTypeUint8Features.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceIndexTypeUint8Features {
pub s_type: StructureType,
pub next: *mut c_void,
pub index_type_uint8: Bool32,
}
impl Default for PhysicalDeviceIndexTypeUint8Features {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES,
next: ptr::null_mut(),
index_type_uint8: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceIndexTypeUint8Features {}
unsafe impl Sync for PhysicalDeviceIndexTypeUint8Features {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceInheritedViewportScissorFeaturesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceInheritedViewportScissorFeaturesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub inherited_viewport_scissor_2d: Bool32,
}
impl Default for PhysicalDeviceInheritedViewportScissorFeaturesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV,
next: ptr::null_mut(),
inherited_viewport_scissor_2d: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceInheritedViewportScissorFeaturesNV {}
unsafe impl Sync for PhysicalDeviceInheritedViewportScissorFeaturesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceInlineUniformBlockFeatures.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceInlineUniformBlockFeatures {
pub s_type: StructureType,
pub next: *mut c_void,
pub inline_uniform_block: Bool32,
pub descriptor_binding_inline_uniform_block_update_after_bind: Bool32,
}
impl Default for PhysicalDeviceInlineUniformBlockFeatures {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES,
next: ptr::null_mut(),
inline_uniform_block: Bool32::default(),
descriptor_binding_inline_uniform_block_update_after_bind: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceInlineUniformBlockFeatures {}
unsafe impl Sync for PhysicalDeviceInlineUniformBlockFeatures {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceInlineUniformBlockProperties.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceInlineUniformBlockProperties {
pub s_type: StructureType,
pub next: *mut c_void,
pub max_inline_uniform_block_size: u32,
pub max_per_stage_descriptor_inline_uniform_blocks: u32,
pub max_per_stage_descriptor_update_after_bind_inline_uniform_blocks: u32,
pub max_descriptor_set_inline_uniform_blocks: u32,
pub max_descriptor_set_update_after_bind_inline_uniform_blocks: u32,
}
impl Default for PhysicalDeviceInlineUniformBlockProperties {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES,
next: ptr::null_mut(),
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(),
}
}
}
unsafe impl Send for PhysicalDeviceInlineUniformBlockProperties {}
unsafe impl Sync for PhysicalDeviceInlineUniformBlockProperties {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceInternallySynchronizedQueuesFeaturesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceInternallySynchronizedQueuesFeaturesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub internally_synchronized_queues: Bool32,
}
impl Default for PhysicalDeviceInternallySynchronizedQueuesFeaturesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_INTERNALLY_SYNCHRONIZED_QUEUES_FEATURES_KHR,
next: ptr::null_mut(),
internally_synchronized_queues: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceInternallySynchronizedQueuesFeaturesKHR {}
unsafe impl Sync for PhysicalDeviceInternallySynchronizedQueuesFeaturesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceInvocationMaskFeaturesHUAWEI.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceInvocationMaskFeaturesHUAWEI {
pub s_type: StructureType,
pub next: *mut c_void,
pub invocation_mask: Bool32,
}
impl Default for PhysicalDeviceInvocationMaskFeaturesHUAWEI {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI,
next: ptr::null_mut(),
invocation_mask: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceInvocationMaskFeaturesHUAWEI {}
unsafe impl Sync for PhysicalDeviceInvocationMaskFeaturesHUAWEI {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceLayeredApiPropertiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceLayeredApiPropertiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub vendor_id: u32,
pub device_id: u32,
pub layered_api: PhysicalDeviceLayeredApiKHR,
pub device_name: StringArray<MAX_PHYSICAL_DEVICE_NAME_SIZE>,
}
impl Default for PhysicalDeviceLayeredApiPropertiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_KHR,
next: ptr::null_mut(),
vendor_id: u32::default(),
device_id: u32::default(),
layered_api: PhysicalDeviceLayeredApiKHR::default(),
device_name: StringArray::default(),
}
}
}
unsafe impl Send for PhysicalDeviceLayeredApiPropertiesKHR {}
unsafe impl Sync for PhysicalDeviceLayeredApiPropertiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceLayeredApiPropertiesListKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceLayeredApiPropertiesListKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub layered_api_count: u32,
pub layered_apis: *mut PhysicalDeviceLayeredApiPropertiesKHR,
}
impl Default for PhysicalDeviceLayeredApiPropertiesListKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_LIST_KHR,
next: ptr::null_mut(),
layered_api_count: u32::default(),
layered_apis: ptr::null_mut(),
}
}
}
unsafe impl Send for PhysicalDeviceLayeredApiPropertiesListKHR {}
unsafe impl Sync for PhysicalDeviceLayeredApiPropertiesListKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceLayeredApiVulkanPropertiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct PhysicalDeviceLayeredApiVulkanPropertiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub properties: PhysicalDeviceProperties2,
}
impl Default for PhysicalDeviceLayeredApiVulkanPropertiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_LAYERED_API_VULKAN_PROPERTIES_KHR,
next: ptr::null_mut(),
properties: PhysicalDeviceProperties2::default(),
}
}
}
unsafe impl Send for PhysicalDeviceLayeredApiVulkanPropertiesKHR {}
unsafe impl Sync for PhysicalDeviceLayeredApiVulkanPropertiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceLayeredDriverPropertiesMSFT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceLayeredDriverPropertiesMSFT {
pub s_type: StructureType,
pub next: *mut c_void,
pub underlying_api: LayeredDriverUnderlyingApiMSFT,
}
impl Default for PhysicalDeviceLayeredDriverPropertiesMSFT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT,
next: ptr::null_mut(),
underlying_api: LayeredDriverUnderlyingApiMSFT::default(),
}
}
}
unsafe impl Send for PhysicalDeviceLayeredDriverPropertiesMSFT {}
unsafe impl Sync for PhysicalDeviceLayeredDriverPropertiesMSFT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceLegacyDitheringFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceLegacyDitheringFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub legacy_dithering: Bool32,
}
impl Default for PhysicalDeviceLegacyDitheringFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT,
next: ptr::null_mut(),
legacy_dithering: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceLegacyDitheringFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceLegacyDitheringFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceLegacyVertexAttributesFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceLegacyVertexAttributesFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub legacy_vertex_attributes: Bool32,
}
impl Default for PhysicalDeviceLegacyVertexAttributesFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_FEATURES_EXT,
next: ptr::null_mut(),
legacy_vertex_attributes: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceLegacyVertexAttributesFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceLegacyVertexAttributesFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceLegacyVertexAttributesPropertiesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceLegacyVertexAttributesPropertiesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub native_unaligned_performance: Bool32,
}
impl Default for PhysicalDeviceLegacyVertexAttributesPropertiesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_PROPERTIES_EXT,
next: ptr::null_mut(),
native_unaligned_performance: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceLegacyVertexAttributesPropertiesEXT {}
unsafe impl Sync for PhysicalDeviceLegacyVertexAttributesPropertiesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceLimits.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, PartialEq)]
pub struct PhysicalDeviceLimits {
pub max_image_dimension_1d: u32,
pub max_image_dimension_2d: u32,
pub max_image_dimension_3d: u32,
pub max_image_dimension_cube: u32,
pub max_image_array_layers: u32,
pub max_texel_buffer_elements: u32,
pub max_uniform_buffer_range: u32,
pub max_storage_buffer_range: u32,
pub max_push_constants_size: u32,
pub max_memory_allocation_count: u32,
pub max_sampler_allocation_count: u32,
pub buffer_image_granularity: DeviceSize,
pub sparse_address_space_size: DeviceSize,
pub max_bound_descriptor_sets: u32,
pub max_per_stage_descriptor_samplers: u32,
pub max_per_stage_descriptor_uniform_buffers: u32,
pub max_per_stage_descriptor_storage_buffers: u32,
pub max_per_stage_descriptor_sampled_images: u32,
pub max_per_stage_descriptor_storage_images: u32,
pub max_per_stage_descriptor_input_attachments: u32,
pub max_per_stage_resources: u32,
pub max_descriptor_set_samplers: u32,
pub max_descriptor_set_uniform_buffers: u32,
pub max_descriptor_set_uniform_buffers_dynamic: u32,
pub max_descriptor_set_storage_buffers: u32,
pub max_descriptor_set_storage_buffers_dynamic: u32,
pub max_descriptor_set_sampled_images: u32,
pub max_descriptor_set_storage_images: u32,
pub max_descriptor_set_input_attachments: u32,
pub max_vertex_input_attributes: u32,
pub max_vertex_input_bindings: u32,
pub max_vertex_input_attribute_offset: u32,
pub max_vertex_input_binding_stride: u32,
pub max_vertex_output_components: u32,
pub max_tessellation_generation_level: u32,
pub max_tessellation_patch_size: u32,
pub max_tessellation_control_per_vertex_input_components: u32,
pub max_tessellation_control_per_vertex_output_components: u32,
pub max_tessellation_control_per_patch_output_components: u32,
pub max_tessellation_control_total_output_components: u32,
pub max_tessellation_evaluation_input_components: u32,
pub max_tessellation_evaluation_output_components: u32,
pub max_geometry_shader_invocations: u32,
pub max_geometry_input_components: u32,
pub max_geometry_output_components: u32,
pub max_geometry_output_vertices: u32,
pub max_geometry_total_output_components: u32,
pub max_fragment_input_components: u32,
pub max_fragment_output_attachments: u32,
pub max_fragment_dual_src_attachments: u32,
pub max_fragment_combined_output_resources: u32,
pub max_compute_shared_memory_size: u32,
pub max_compute_work_group_count: [u32; 3],
pub max_compute_work_group_invocations: u32,
pub max_compute_work_group_size: [u32; 3],
pub sub_pixel_precision_bits: u32,
pub sub_texel_precision_bits: u32,
pub mipmap_precision_bits: u32,
pub max_draw_indexed_index_value: u32,
pub max_draw_indirect_count: u32,
pub max_sampler_lod_bias: f32,
pub max_sampler_anisotropy: f32,
pub max_viewports: u32,
pub max_viewport_dimensions: [u32; 2],
pub viewport_bounds_range: [f32; 2],
pub viewport_sub_pixel_bits: u32,
pub min_memory_map_alignment: usize,
pub min_texel_buffer_offset_alignment: DeviceSize,
pub min_uniform_buffer_offset_alignment: DeviceSize,
pub min_storage_buffer_offset_alignment: DeviceSize,
pub min_texel_offset: i32,
pub max_texel_offset: u32,
pub min_texel_gather_offset: i32,
pub max_texel_gather_offset: u32,
pub min_interpolation_offset: f32,
pub max_interpolation_offset: f32,
pub sub_pixel_interpolation_offset_bits: u32,
pub max_framebuffer_width: u32,
pub max_framebuffer_height: u32,
pub max_framebuffer_layers: u32,
pub framebuffer_color_sample_counts: SampleCountFlags,
pub framebuffer_depth_sample_counts: SampleCountFlags,
pub framebuffer_stencil_sample_counts: SampleCountFlags,
pub framebuffer_no_attachments_sample_counts: SampleCountFlags,
pub max_color_attachments: u32,
pub sampled_image_color_sample_counts: SampleCountFlags,
pub sampled_image_integer_sample_counts: SampleCountFlags,
pub sampled_image_depth_sample_counts: SampleCountFlags,
pub sampled_image_stencil_sample_counts: SampleCountFlags,
pub storage_image_sample_counts: SampleCountFlags,
pub max_sample_mask_words: u32,
pub timestamp_compute_and_graphics: Bool32,
pub timestamp_period: f32,
pub max_clip_distances: u32,
pub max_cull_distances: u32,
pub max_combined_clip_and_cull_distances: u32,
pub discrete_queue_priorities: u32,
pub point_size_range: [f32; 2],
pub line_width_range: [f32; 2],
pub point_size_granularity: f32,
pub line_width_granularity: f32,
pub strict_lines: Bool32,
pub standard_sample_locations: Bool32,
pub optimal_buffer_copy_offset_alignment: DeviceSize,
pub optimal_buffer_copy_row_pitch_alignment: DeviceSize,
pub non_coherent_atom_size: DeviceSize,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceLineRasterizationFeatures.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceLineRasterizationFeatures {
pub s_type: StructureType,
pub next: *mut c_void,
pub rectangular_lines: Bool32,
pub bresenham_lines: Bool32,
pub smooth_lines: Bool32,
pub stippled_rectangular_lines: Bool32,
pub stippled_bresenham_lines: Bool32,
pub stippled_smooth_lines: Bool32,
}
impl Default for PhysicalDeviceLineRasterizationFeatures {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES,
next: ptr::null_mut(),
rectangular_lines: Bool32::default(),
bresenham_lines: Bool32::default(),
smooth_lines: Bool32::default(),
stippled_rectangular_lines: Bool32::default(),
stippled_bresenham_lines: Bool32::default(),
stippled_smooth_lines: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceLineRasterizationFeatures {}
unsafe impl Sync for PhysicalDeviceLineRasterizationFeatures {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceLineRasterizationProperties.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceLineRasterizationProperties {
pub s_type: StructureType,
pub next: *mut c_void,
pub line_sub_pixel_precision_bits: u32,
}
impl Default for PhysicalDeviceLineRasterizationProperties {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES,
next: ptr::null_mut(),
line_sub_pixel_precision_bits: u32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceLineRasterizationProperties {}
unsafe impl Sync for PhysicalDeviceLineRasterizationProperties {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceLinearColorAttachmentFeaturesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceLinearColorAttachmentFeaturesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub linear_color_attachment: Bool32,
}
impl Default for PhysicalDeviceLinearColorAttachmentFeaturesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV,
next: ptr::null_mut(),
linear_color_attachment: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceLinearColorAttachmentFeaturesNV {}
unsafe impl Sync for PhysicalDeviceLinearColorAttachmentFeaturesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMaintenance10FeaturesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceMaintenance10FeaturesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub maintenance10: Bool32,
}
impl Default for PhysicalDeviceMaintenance10FeaturesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_10_FEATURES_KHR,
next: ptr::null_mut(),
maintenance10: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceMaintenance10FeaturesKHR {}
unsafe impl Sync for PhysicalDeviceMaintenance10FeaturesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMaintenance10PropertiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceMaintenance10PropertiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub rgba4_opaque_black_swizzled: Bool32,
pub resolve_srgb_format_applies_transfer_function: Bool32,
pub resolve_srgb_format_supports_transfer_function_control: Bool32,
}
impl Default for PhysicalDeviceMaintenance10PropertiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_10_PROPERTIES_KHR,
next: ptr::null_mut(),
rgba4_opaque_black_swizzled: Bool32::default(),
resolve_srgb_format_applies_transfer_function: Bool32::default(),
resolve_srgb_format_supports_transfer_function_control: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceMaintenance10PropertiesKHR {}
unsafe impl Sync for PhysicalDeviceMaintenance10PropertiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMaintenance3Properties.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceMaintenance3Properties {
pub s_type: StructureType,
pub next: *mut c_void,
pub max_per_set_descriptors: u32,
pub max_memory_allocation_size: DeviceSize,
}
impl Default for PhysicalDeviceMaintenance3Properties {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES,
next: ptr::null_mut(),
max_per_set_descriptors: u32::default(),
max_memory_allocation_size: DeviceSize::default(),
}
}
}
unsafe impl Send for PhysicalDeviceMaintenance3Properties {}
unsafe impl Sync for PhysicalDeviceMaintenance3Properties {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMaintenance4Features.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceMaintenance4Features {
pub s_type: StructureType,
pub next: *mut c_void,
pub maintenance4: Bool32,
}
impl Default for PhysicalDeviceMaintenance4Features {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES,
next: ptr::null_mut(),
maintenance4: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceMaintenance4Features {}
unsafe impl Sync for PhysicalDeviceMaintenance4Features {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMaintenance4Properties.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceMaintenance4Properties {
pub s_type: StructureType,
pub next: *mut c_void,
pub max_buffer_size: DeviceSize,
}
impl Default for PhysicalDeviceMaintenance4Properties {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES,
next: ptr::null_mut(),
max_buffer_size: DeviceSize::default(),
}
}
}
unsafe impl Send for PhysicalDeviceMaintenance4Properties {}
unsafe impl Sync for PhysicalDeviceMaintenance4Properties {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMaintenance5Features.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceMaintenance5Features {
pub s_type: StructureType,
pub next: *mut c_void,
pub maintenance5: Bool32,
}
impl Default for PhysicalDeviceMaintenance5Features {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES,
next: ptr::null_mut(),
maintenance5: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceMaintenance5Features {}
unsafe impl Sync for PhysicalDeviceMaintenance5Features {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMaintenance5Properties.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceMaintenance5Properties {
pub s_type: StructureType,
pub next: *mut c_void,
pub early_fragment_multisample_coverage_after_sample_counting: Bool32,
pub early_fragment_sample_mask_test_before_sample_counting: Bool32,
pub depth_stencil_swizzle_one_support: Bool32,
pub polygon_mode_point_size: Bool32,
pub non_strict_single_pixel_wide_lines_use_parallelogram: Bool32,
pub non_strict_wide_lines_use_parallelogram: Bool32,
}
impl Default for PhysicalDeviceMaintenance5Properties {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES,
next: ptr::null_mut(),
early_fragment_multisample_coverage_after_sample_counting: Bool32::default(),
early_fragment_sample_mask_test_before_sample_counting: Bool32::default(),
depth_stencil_swizzle_one_support: Bool32::default(),
polygon_mode_point_size: Bool32::default(),
non_strict_single_pixel_wide_lines_use_parallelogram: Bool32::default(),
non_strict_wide_lines_use_parallelogram: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceMaintenance5Properties {}
unsafe impl Sync for PhysicalDeviceMaintenance5Properties {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMaintenance6Features.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceMaintenance6Features {
pub s_type: StructureType,
pub next: *mut c_void,
pub maintenance6: Bool32,
}
impl Default for PhysicalDeviceMaintenance6Features {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES,
next: ptr::null_mut(),
maintenance6: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceMaintenance6Features {}
unsafe impl Sync for PhysicalDeviceMaintenance6Features {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMaintenance6Properties.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceMaintenance6Properties {
pub s_type: StructureType,
pub next: *mut c_void,
pub block_texel_view_compatible_multiple_layers: Bool32,
pub max_combined_image_sampler_descriptor_count: u32,
pub fragment_shading_rate_clamp_combiner_inputs: Bool32,
}
impl Default for PhysicalDeviceMaintenance6Properties {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES,
next: ptr::null_mut(),
block_texel_view_compatible_multiple_layers: Bool32::default(),
max_combined_image_sampler_descriptor_count: u32::default(),
fragment_shading_rate_clamp_combiner_inputs: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceMaintenance6Properties {}
unsafe impl Sync for PhysicalDeviceMaintenance6Properties {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMaintenance7FeaturesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceMaintenance7FeaturesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub maintenance7: Bool32,
}
impl Default for PhysicalDeviceMaintenance7FeaturesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_7_FEATURES_KHR,
next: ptr::null_mut(),
maintenance7: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceMaintenance7FeaturesKHR {}
unsafe impl Sync for PhysicalDeviceMaintenance7FeaturesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMaintenance7PropertiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceMaintenance7PropertiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub robust_fragment_shading_rate_attachment_access: Bool32,
pub separate_depth_stencil_attachment_access: Bool32,
pub max_descriptor_set_total_uniform_buffers_dynamic: u32,
pub max_descriptor_set_total_storage_buffers_dynamic: u32,
pub max_descriptor_set_total_buffers_dynamic: u32,
pub max_descriptor_set_update_after_bind_total_uniform_buffers_dynamic: u32,
pub max_descriptor_set_update_after_bind_total_storage_buffers_dynamic: u32,
pub max_descriptor_set_update_after_bind_total_buffers_dynamic: u32,
}
impl Default for PhysicalDeviceMaintenance7PropertiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_7_PROPERTIES_KHR,
next: ptr::null_mut(),
robust_fragment_shading_rate_attachment_access: Bool32::default(),
separate_depth_stencil_attachment_access: Bool32::default(),
max_descriptor_set_total_uniform_buffers_dynamic: u32::default(),
max_descriptor_set_total_storage_buffers_dynamic: u32::default(),
max_descriptor_set_total_buffers_dynamic: u32::default(),
max_descriptor_set_update_after_bind_total_uniform_buffers_dynamic: u32::default(),
max_descriptor_set_update_after_bind_total_storage_buffers_dynamic: u32::default(),
max_descriptor_set_update_after_bind_total_buffers_dynamic: u32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceMaintenance7PropertiesKHR {}
unsafe impl Sync for PhysicalDeviceMaintenance7PropertiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMaintenance8FeaturesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceMaintenance8FeaturesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub maintenance8: Bool32,
}
impl Default for PhysicalDeviceMaintenance8FeaturesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_8_FEATURES_KHR,
next: ptr::null_mut(),
maintenance8: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceMaintenance8FeaturesKHR {}
unsafe impl Sync for PhysicalDeviceMaintenance8FeaturesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMaintenance9FeaturesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceMaintenance9FeaturesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub maintenance9: Bool32,
}
impl Default for PhysicalDeviceMaintenance9FeaturesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_9_FEATURES_KHR,
next: ptr::null_mut(),
maintenance9: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceMaintenance9FeaturesKHR {}
unsafe impl Sync for PhysicalDeviceMaintenance9FeaturesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMaintenance9PropertiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceMaintenance9PropertiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub image_2d_view_of_3d_sparse: Bool32,
pub default_vertex_attribute_value: DefaultVertexAttributeValueKHR,
}
impl Default for PhysicalDeviceMaintenance9PropertiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_MAINTENANCE_9_PROPERTIES_KHR,
next: ptr::null_mut(),
image_2d_view_of_3d_sparse: Bool32::default(),
default_vertex_attribute_value: DefaultVertexAttributeValueKHR::default(),
}
}
}
unsafe impl Send for PhysicalDeviceMaintenance9PropertiesKHR {}
unsafe impl Sync for PhysicalDeviceMaintenance9PropertiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMapMemoryPlacedFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceMapMemoryPlacedFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub memory_map_placed: Bool32,
pub memory_map_range_placed: Bool32,
pub memory_unmap_reserve: Bool32,
}
impl Default for PhysicalDeviceMapMemoryPlacedFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_MAP_MEMORY_PLACED_FEATURES_EXT,
next: ptr::null_mut(),
memory_map_placed: Bool32::default(),
memory_map_range_placed: Bool32::default(),
memory_unmap_reserve: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceMapMemoryPlacedFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceMapMemoryPlacedFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMapMemoryPlacedPropertiesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceMapMemoryPlacedPropertiesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub min_placed_memory_map_alignment: DeviceSize,
}
impl Default for PhysicalDeviceMapMemoryPlacedPropertiesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_MAP_MEMORY_PLACED_PROPERTIES_EXT,
next: ptr::null_mut(),
min_placed_memory_map_alignment: DeviceSize::default(),
}
}
}
unsafe impl Send for PhysicalDeviceMapMemoryPlacedPropertiesEXT {}
unsafe impl Sync for PhysicalDeviceMapMemoryPlacedPropertiesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMemoryBudgetPropertiesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceMemoryBudgetPropertiesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub heap_budget: [DeviceSize; MAX_MEMORY_HEAPS as usize],
pub heap_usage: [DeviceSize; MAX_MEMORY_HEAPS as usize],
}
impl Default for PhysicalDeviceMemoryBudgetPropertiesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT,
next: ptr::null_mut(),
heap_budget: [DeviceSize::default(); MAX_MEMORY_HEAPS],
heap_usage: [DeviceSize::default(); MAX_MEMORY_HEAPS],
}
}
}
unsafe impl Send for PhysicalDeviceMemoryBudgetPropertiesEXT {}
unsafe impl Sync for PhysicalDeviceMemoryBudgetPropertiesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMemoryDecompressionFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceMemoryDecompressionFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub memory_decompression: Bool32,
}
impl Default for PhysicalDeviceMemoryDecompressionFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_EXT,
next: ptr::null_mut(),
memory_decompression: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceMemoryDecompressionFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceMemoryDecompressionFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMemoryDecompressionPropertiesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceMemoryDecompressionPropertiesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub decompression_methods: MemoryDecompressionMethodFlagsEXT,
pub max_decompression_indirect_count: u64,
}
impl Default for PhysicalDeviceMemoryDecompressionPropertiesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_EXT,
next: ptr::null_mut(),
decompression_methods: MemoryDecompressionMethodFlagsEXT::default(),
max_decompression_indirect_count: u64::default(),
}
}
}
unsafe impl Send for PhysicalDeviceMemoryDecompressionPropertiesEXT {}
unsafe impl Sync for PhysicalDeviceMemoryDecompressionPropertiesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMemoryPriorityFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceMemoryPriorityFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub memory_priority: Bool32,
}
impl Default for PhysicalDeviceMemoryPriorityFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT,
next: ptr::null_mut(),
memory_priority: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceMemoryPriorityFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceMemoryPriorityFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMemoryProperties.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceMemoryProperties {
pub memory_type_count: u32,
pub memory_types: [MemoryType; MAX_MEMORY_TYPES as usize],
pub memory_heap_count: u32,
pub memory_heaps: [MemoryHeap; MAX_MEMORY_HEAPS as usize],
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMemoryProperties2.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceMemoryProperties2 {
pub s_type: StructureType,
pub next: *mut c_void,
pub memory_properties: PhysicalDeviceMemoryProperties,
}
impl Default for PhysicalDeviceMemoryProperties2 {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_MEMORY_PROPERTIES_2,
next: ptr::null_mut(),
memory_properties: PhysicalDeviceMemoryProperties::default(),
}
}
}
unsafe impl Send for PhysicalDeviceMemoryProperties2 {}
unsafe impl Sync for PhysicalDeviceMemoryProperties2 {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMeshShaderFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceMeshShaderFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub task_shader: Bool32,
pub mesh_shader: Bool32,
pub multiview_mesh_shader: Bool32,
pub primitive_fragment_shading_rate_mesh_shader: Bool32,
pub mesh_shader_queries: Bool32,
}
impl Default for PhysicalDeviceMeshShaderFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT,
next: ptr::null_mut(),
task_shader: Bool32::default(),
mesh_shader: Bool32::default(),
multiview_mesh_shader: Bool32::default(),
primitive_fragment_shading_rate_mesh_shader: Bool32::default(),
mesh_shader_queries: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceMeshShaderFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceMeshShaderFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMeshShaderFeaturesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceMeshShaderFeaturesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub task_shader: Bool32,
pub mesh_shader: Bool32,
}
impl Default for PhysicalDeviceMeshShaderFeaturesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV,
next: ptr::null_mut(),
task_shader: Bool32::default(),
mesh_shader: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceMeshShaderFeaturesNV {}
unsafe impl Sync for PhysicalDeviceMeshShaderFeaturesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMeshShaderPropertiesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceMeshShaderPropertiesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub max_task_work_group_total_count: u32,
pub max_task_work_group_count: [u32; 3],
pub max_task_work_group_invocations: u32,
pub max_task_work_group_size: [u32; 3],
pub max_task_payload_size: u32,
pub max_task_shared_memory_size: u32,
pub max_task_payload_and_shared_memory_size: u32,
pub max_mesh_work_group_total_count: u32,
pub max_mesh_work_group_count: [u32; 3],
pub max_mesh_work_group_invocations: u32,
pub max_mesh_work_group_size: [u32; 3],
pub max_mesh_shared_memory_size: u32,
pub max_mesh_payload_and_shared_memory_size: u32,
pub max_mesh_output_memory_size: u32,
pub max_mesh_payload_and_output_memory_size: u32,
pub max_mesh_output_components: u32,
pub max_mesh_output_vertices: u32,
pub max_mesh_output_primitives: u32,
pub max_mesh_output_layers: u32,
pub max_mesh_multiview_view_count: u32,
pub mesh_output_per_vertex_granularity: u32,
pub mesh_output_per_primitive_granularity: u32,
pub max_preferred_task_work_group_invocations: u32,
pub max_preferred_mesh_work_group_invocations: u32,
pub prefers_local_invocation_vertex_output: Bool32,
pub prefers_local_invocation_primitive_output: Bool32,
pub prefers_compact_vertex_output: Bool32,
pub prefers_compact_primitive_output: Bool32,
}
impl Default for PhysicalDeviceMeshShaderPropertiesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT,
next: ptr::null_mut(),
max_task_work_group_total_count: u32::default(),
max_task_work_group_count: [u32::default(); 3],
max_task_work_group_invocations: u32::default(),
max_task_work_group_size: [u32::default(); 3],
max_task_payload_size: u32::default(),
max_task_shared_memory_size: u32::default(),
max_task_payload_and_shared_memory_size: u32::default(),
max_mesh_work_group_total_count: u32::default(),
max_mesh_work_group_count: [u32::default(); 3],
max_mesh_work_group_invocations: u32::default(),
max_mesh_work_group_size: [u32::default(); 3],
max_mesh_shared_memory_size: u32::default(),
max_mesh_payload_and_shared_memory_size: u32::default(),
max_mesh_output_memory_size: u32::default(),
max_mesh_payload_and_output_memory_size: u32::default(),
max_mesh_output_components: u32::default(),
max_mesh_output_vertices: u32::default(),
max_mesh_output_primitives: u32::default(),
max_mesh_output_layers: u32::default(),
max_mesh_multiview_view_count: u32::default(),
mesh_output_per_vertex_granularity: u32::default(),
mesh_output_per_primitive_granularity: u32::default(),
max_preferred_task_work_group_invocations: u32::default(),
max_preferred_mesh_work_group_invocations: u32::default(),
prefers_local_invocation_vertex_output: Bool32::default(),
prefers_local_invocation_primitive_output: Bool32::default(),
prefers_compact_vertex_output: Bool32::default(),
prefers_compact_primitive_output: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceMeshShaderPropertiesEXT {}
unsafe impl Sync for PhysicalDeviceMeshShaderPropertiesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMeshShaderPropertiesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceMeshShaderPropertiesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub max_draw_mesh_tasks_count: u32,
pub max_task_work_group_invocations: u32,
pub max_task_work_group_size: [u32; 3],
pub max_task_total_memory_size: u32,
pub max_task_output_count: u32,
pub max_mesh_work_group_invocations: u32,
pub max_mesh_work_group_size: [u32; 3],
pub max_mesh_total_memory_size: u32,
pub max_mesh_output_vertices: u32,
pub max_mesh_output_primitives: u32,
pub max_mesh_multiview_view_count: u32,
pub mesh_output_per_vertex_granularity: u32,
pub mesh_output_per_primitive_granularity: u32,
}
impl Default for PhysicalDeviceMeshShaderPropertiesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV,
next: ptr::null_mut(),
max_draw_mesh_tasks_count: u32::default(),
max_task_work_group_invocations: u32::default(),
max_task_work_group_size: [u32::default(); 3],
max_task_total_memory_size: u32::default(),
max_task_output_count: u32::default(),
max_mesh_work_group_invocations: u32::default(),
max_mesh_work_group_size: [u32::default(); 3],
max_mesh_total_memory_size: u32::default(),
max_mesh_output_vertices: u32::default(),
max_mesh_output_primitives: u32::default(),
max_mesh_multiview_view_count: u32::default(),
mesh_output_per_vertex_granularity: u32::default(),
mesh_output_per_primitive_granularity: u32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceMeshShaderPropertiesNV {}
unsafe impl Sync for PhysicalDeviceMeshShaderPropertiesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMultiDrawFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceMultiDrawFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub multi_draw: Bool32,
}
impl Default for PhysicalDeviceMultiDrawFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT,
next: ptr::null_mut(),
multi_draw: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceMultiDrawFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceMultiDrawFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMultiDrawPropertiesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceMultiDrawPropertiesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub max_multi_draw_count: u32,
}
impl Default for PhysicalDeviceMultiDrawPropertiesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT,
next: ptr::null_mut(),
max_multi_draw_count: u32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceMultiDrawPropertiesEXT {}
unsafe impl Sync for PhysicalDeviceMultiDrawPropertiesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub multisampled_render_to_single_sampled: Bool32,
}
impl Default for PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type:
StructureType::PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT,
next: ptr::null_mut(),
multisampled_render_to_single_sampled: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMultiviewFeatures.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceMultiviewFeatures {
pub s_type: StructureType,
pub next: *mut c_void,
pub multiview: Bool32,
pub multiview_geometry_shader: Bool32,
pub multiview_tessellation_shader: Bool32,
}
impl Default for PhysicalDeviceMultiviewFeatures {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
next: ptr::null_mut(),
multiview: Bool32::default(),
multiview_geometry_shader: Bool32::default(),
multiview_tessellation_shader: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceMultiviewFeatures {}
unsafe impl Sync for PhysicalDeviceMultiviewFeatures {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
pub s_type: StructureType,
pub next: *mut c_void,
pub per_view_position_all_components: Bool32,
}
impl Default for PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX,
next: ptr::null_mut(),
per_view_position_all_components: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {}
unsafe impl Sync for PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM {
pub s_type: StructureType,
pub next: *mut c_void,
pub multiview_per_view_render_areas: Bool32,
}
impl Default for PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM,
next: ptr::null_mut(),
multiview_per_view_render_areas: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM {}
unsafe impl Sync for PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM {
pub s_type: StructureType,
pub next: *mut c_void,
pub multiview_per_view_viewports: Bool32,
}
impl Default for PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM,
next: ptr::null_mut(),
multiview_per_view_viewports: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM {}
unsafe impl Sync for PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMultiviewProperties.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceMultiviewProperties {
pub s_type: StructureType,
pub next: *mut c_void,
pub max_multiview_view_count: u32,
pub max_multiview_instance_index: u32,
}
impl Default for PhysicalDeviceMultiviewProperties {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
next: ptr::null_mut(),
max_multiview_view_count: u32::default(),
max_multiview_instance_index: u32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceMultiviewProperties {}
unsafe impl Sync for PhysicalDeviceMultiviewProperties {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceMutableDescriptorTypeFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub mutable_descriptor_type: Bool32,
}
impl Default for PhysicalDeviceMutableDescriptorTypeFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT,
next: ptr::null_mut(),
mutable_descriptor_type: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceMutableDescriptorTypeFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceMutableDescriptorTypeFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceNestedCommandBufferFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceNestedCommandBufferFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub nested_command_buffer: Bool32,
pub nested_command_buffer_rendering: Bool32,
pub nested_command_buffer_simultaneous_use: Bool32,
}
impl Default for PhysicalDeviceNestedCommandBufferFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_FEATURES_EXT,
next: ptr::null_mut(),
nested_command_buffer: Bool32::default(),
nested_command_buffer_rendering: Bool32::default(),
nested_command_buffer_simultaneous_use: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceNestedCommandBufferFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceNestedCommandBufferFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceNestedCommandBufferPropertiesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceNestedCommandBufferPropertiesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub max_command_buffer_nesting_level: u32,
}
impl Default for PhysicalDeviceNestedCommandBufferPropertiesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_PROPERTIES_EXT,
next: ptr::null_mut(),
max_command_buffer_nesting_level: u32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceNestedCommandBufferPropertiesEXT {}
unsafe impl Sync for PhysicalDeviceNestedCommandBufferPropertiesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceNonSeamlessCubeMapFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub non_seamless_cube_map: Bool32,
}
impl Default for PhysicalDeviceNonSeamlessCubeMapFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT,
next: ptr::null_mut(),
non_seamless_cube_map: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceNonSeamlessCubeMapFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceNonSeamlessCubeMapFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceOpacityMicromapFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceOpacityMicromapFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub micromap: Bool32,
pub micromap_capture_replay: Bool32,
pub micromap_host_commands: Bool32,
}
impl Default for PhysicalDeviceOpacityMicromapFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT,
next: ptr::null_mut(),
micromap: Bool32::default(),
micromap_capture_replay: Bool32::default(),
micromap_host_commands: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceOpacityMicromapFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceOpacityMicromapFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceOpacityMicromapPropertiesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceOpacityMicromapPropertiesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub max_opacity2_state_subdivision_level: u32,
pub max_opacity4_state_subdivision_level: u32,
}
impl Default for PhysicalDeviceOpacityMicromapPropertiesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT,
next: ptr::null_mut(),
max_opacity2_state_subdivision_level: u32::default(),
max_opacity4_state_subdivision_level: u32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceOpacityMicromapPropertiesEXT {}
unsafe impl Sync for PhysicalDeviceOpacityMicromapPropertiesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceOpticalFlowFeaturesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceOpticalFlowFeaturesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub optical_flow: Bool32,
}
impl Default for PhysicalDeviceOpticalFlowFeaturesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV,
next: ptr::null_mut(),
optical_flow: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceOpticalFlowFeaturesNV {}
unsafe impl Sync for PhysicalDeviceOpticalFlowFeaturesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceOpticalFlowPropertiesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceOpticalFlowPropertiesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub supported_output_grid_sizes: OpticalFlowGridSizeFlagsNV,
pub supported_hint_grid_sizes: OpticalFlowGridSizeFlagsNV,
pub hint_supported: Bool32,
pub cost_supported: Bool32,
pub bidirectional_flow_supported: Bool32,
pub global_flow_supported: Bool32,
pub min_width: u32,
pub min_height: u32,
pub max_width: u32,
pub max_height: u32,
pub max_num_regions_of_interest: u32,
}
impl Default for PhysicalDeviceOpticalFlowPropertiesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV,
next: ptr::null_mut(),
supported_output_grid_sizes: OpticalFlowGridSizeFlagsNV::default(),
supported_hint_grid_sizes: OpticalFlowGridSizeFlagsNV::default(),
hint_supported: Bool32::default(),
cost_supported: Bool32::default(),
bidirectional_flow_supported: Bool32::default(),
global_flow_supported: Bool32::default(),
min_width: u32::default(),
min_height: u32::default(),
max_width: u32::default(),
max_height: u32::default(),
max_num_regions_of_interest: u32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceOpticalFlowPropertiesNV {}
unsafe impl Sync for PhysicalDeviceOpticalFlowPropertiesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevicePCIBusInfoPropertiesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDevicePCIBusInfoPropertiesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub pci_domain: u32,
pub pci_bus: u32,
pub pci_device: u32,
pub pci_function: u32,
}
impl Default for PhysicalDevicePCIBusInfoPropertiesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT,
next: ptr::null_mut(),
pci_domain: u32::default(),
pci_bus: u32::default(),
pci_device: u32::default(),
pci_function: u32::default(),
}
}
}
unsafe impl Send for PhysicalDevicePCIBusInfoPropertiesEXT {}
unsafe impl Sync for PhysicalDevicePCIBusInfoPropertiesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub pageable_device_local_memory: Bool32,
}
impl Default for PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT,
next: ptr::null_mut(),
pageable_device_local_memory: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT {}
unsafe impl Sync for PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDevicePartitionedAccelerationStructureFeaturesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub partitioned_acceleration_structure: Bool32,
}
impl Default for PhysicalDevicePartitionedAccelerationStructureFeaturesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_FEATURES_NV,
next: ptr::null_mut(),
partitioned_acceleration_structure: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDevicePartitionedAccelerationStructureFeaturesNV {}
unsafe impl Sync for PhysicalDevicePartitionedAccelerationStructureFeaturesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDevicePartitionedAccelerationStructurePropertiesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub max_partition_count: u32,
}
impl Default for PhysicalDevicePartitionedAccelerationStructurePropertiesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_PROPERTIES_NV,
next: ptr::null_mut(),
max_partition_count: u32::default(),
}
}
}
unsafe impl Send for PhysicalDevicePartitionedAccelerationStructurePropertiesNV {}
unsafe impl Sync for PhysicalDevicePartitionedAccelerationStructurePropertiesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevicePerStageDescriptorSetFeaturesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDevicePerStageDescriptorSetFeaturesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub per_stage_descriptor_set: Bool32,
pub dynamic_pipeline_layout: Bool32,
}
impl Default for PhysicalDevicePerStageDescriptorSetFeaturesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV,
next: ptr::null_mut(),
per_stage_descriptor_set: Bool32::default(),
dynamic_pipeline_layout: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDevicePerStageDescriptorSetFeaturesNV {}
unsafe impl Sync for PhysicalDevicePerStageDescriptorSetFeaturesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevicePerformanceCountersByRegionFeaturesARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDevicePerformanceCountersByRegionFeaturesARM {
pub s_type: StructureType,
pub next: *mut c_void,
pub performance_counters_by_region: Bool32,
}
impl Default for PhysicalDevicePerformanceCountersByRegionFeaturesARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_PERFORMANCE_COUNTERS_BY_REGION_FEATURES_ARM,
next: ptr::null_mut(),
performance_counters_by_region: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDevicePerformanceCountersByRegionFeaturesARM {}
unsafe impl Sync for PhysicalDevicePerformanceCountersByRegionFeaturesARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevicePerformanceCountersByRegionPropertiesARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDevicePerformanceCountersByRegionPropertiesARM {
pub s_type: StructureType,
pub next: *mut c_void,
pub max_per_region_performance_counters: u32,
pub performance_counter_region_size: Extent2D,
pub row_stride_alignment: u32,
pub region_alignment: u32,
pub identity_transform_order: Bool32,
}
impl Default for PhysicalDevicePerformanceCountersByRegionPropertiesARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_PERFORMANCE_COUNTERS_BY_REGION_PROPERTIES_ARM,
next: ptr::null_mut(),
max_per_region_performance_counters: u32::default(),
performance_counter_region_size: Extent2D::default(),
row_stride_alignment: u32::default(),
region_alignment: u32::default(),
identity_transform_order: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDevicePerformanceCountersByRegionPropertiesARM {}
unsafe impl Sync for PhysicalDevicePerformanceCountersByRegionPropertiesARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevicePerformanceQueryFeaturesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDevicePerformanceQueryFeaturesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub performance_counter_query_pools: Bool32,
pub performance_counter_multiple_query_pools: Bool32,
}
impl Default for PhysicalDevicePerformanceQueryFeaturesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR,
next: ptr::null_mut(),
performance_counter_query_pools: Bool32::default(),
performance_counter_multiple_query_pools: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDevicePerformanceQueryFeaturesKHR {}
unsafe impl Sync for PhysicalDevicePerformanceQueryFeaturesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevicePerformanceQueryPropertiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDevicePerformanceQueryPropertiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub allow_command_buffer_query_copies: Bool32,
}
impl Default for PhysicalDevicePerformanceQueryPropertiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR,
next: ptr::null_mut(),
allow_command_buffer_query_copies: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDevicePerformanceQueryPropertiesKHR {}
unsafe impl Sync for PhysicalDevicePerformanceQueryPropertiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevicePipelineBinaryFeaturesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDevicePipelineBinaryFeaturesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub pipeline_binaries: Bool32,
}
impl Default for PhysicalDevicePipelineBinaryFeaturesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_BINARY_FEATURES_KHR,
next: ptr::null_mut(),
pipeline_binaries: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDevicePipelineBinaryFeaturesKHR {}
unsafe impl Sync for PhysicalDevicePipelineBinaryFeaturesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevicePipelineBinaryPropertiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDevicePipelineBinaryPropertiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub pipeline_binary_internal_cache: Bool32,
pub pipeline_binary_internal_cache_control: Bool32,
pub pipeline_binary_prefers_internal_cache: Bool32,
pub pipeline_binary_precompiled_internal_cache: Bool32,
pub pipeline_binary_compressed_data: Bool32,
}
impl Default for PhysicalDevicePipelineBinaryPropertiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_BINARY_PROPERTIES_KHR,
next: ptr::null_mut(),
pipeline_binary_internal_cache: Bool32::default(),
pipeline_binary_internal_cache_control: Bool32::default(),
pipeline_binary_prefers_internal_cache: Bool32::default(),
pipeline_binary_precompiled_internal_cache: Bool32::default(),
pipeline_binary_compressed_data: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDevicePipelineBinaryPropertiesKHR {}
unsafe impl Sync for PhysicalDevicePipelineBinaryPropertiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDevicePipelineCacheIncrementalModeFeaturesSEC {
pub s_type: StructureType,
pub next: *mut c_void,
pub pipeline_cache_incremental_mode: Bool32,
}
impl Default for PhysicalDevicePipelineCacheIncrementalModeFeaturesSEC {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_CACHE_INCREMENTAL_MODE_FEATURES_SEC,
next: ptr::null_mut(),
pipeline_cache_incremental_mode: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDevicePipelineCacheIncrementalModeFeaturesSEC {}
unsafe impl Sync for PhysicalDevicePipelineCacheIncrementalModeFeaturesSEC {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevicePipelineCreationCacheControlFeatures.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDevicePipelineCreationCacheControlFeatures {
pub s_type: StructureType,
pub next: *mut c_void,
pub pipeline_creation_cache_control: Bool32,
}
impl Default for PhysicalDevicePipelineCreationCacheControlFeatures {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES,
next: ptr::null_mut(),
pipeline_creation_cache_control: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDevicePipelineCreationCacheControlFeatures {}
unsafe impl Sync for PhysicalDevicePipelineCreationCacheControlFeatures {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub pipeline_executable_info: Bool32,
}
impl Default for PhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR,
next: ptr::null_mut(),
pipeline_executable_info: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDevicePipelineExecutablePropertiesFeaturesKHR {}
unsafe impl Sync for PhysicalDevicePipelineExecutablePropertiesFeaturesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub pipeline_library_group_handles: Bool32,
}
impl Default for PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT,
next: ptr::null_mut(),
pipeline_library_group_handles: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT {}
unsafe impl Sync for PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevicePipelineOpacityMicromapFeaturesARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDevicePipelineOpacityMicromapFeaturesARM {
pub s_type: StructureType,
pub next: *mut c_void,
pub pipeline_opacity_micromap: Bool32,
}
impl Default for PhysicalDevicePipelineOpacityMicromapFeaturesARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_OPACITY_MICROMAP_FEATURES_ARM,
next: ptr::null_mut(),
pipeline_opacity_micromap: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDevicePipelineOpacityMicromapFeaturesARM {}
unsafe impl Sync for PhysicalDevicePipelineOpacityMicromapFeaturesARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevicePipelinePropertiesFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDevicePipelinePropertiesFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub pipeline_properties_identifier: Bool32,
}
impl Default for PhysicalDevicePipelinePropertiesFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT,
next: ptr::null_mut(),
pipeline_properties_identifier: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDevicePipelinePropertiesFeaturesEXT {}
unsafe impl Sync for PhysicalDevicePipelinePropertiesFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevicePipelineProtectedAccessFeatures.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDevicePipelineProtectedAccessFeatures {
pub s_type: StructureType,
pub next: *mut c_void,
pub pipeline_protected_access: Bool32,
}
impl Default for PhysicalDevicePipelineProtectedAccessFeatures {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES,
next: ptr::null_mut(),
pipeline_protected_access: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDevicePipelineProtectedAccessFeatures {}
unsafe impl Sync for PhysicalDevicePipelineProtectedAccessFeatures {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevicePipelineRobustnessFeatures.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDevicePipelineRobustnessFeatures {
pub s_type: StructureType,
pub next: *mut c_void,
pub pipeline_robustness: Bool32,
}
impl Default for PhysicalDevicePipelineRobustnessFeatures {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES,
next: ptr::null_mut(),
pipeline_robustness: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDevicePipelineRobustnessFeatures {}
unsafe impl Sync for PhysicalDevicePipelineRobustnessFeatures {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevicePipelineRobustnessProperties.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDevicePipelineRobustnessProperties {
pub s_type: StructureType,
pub next: *mut c_void,
pub default_robustness_storage_buffers: PipelineRobustnessBufferBehavior,
pub default_robustness_uniform_buffers: PipelineRobustnessBufferBehavior,
pub default_robustness_vertex_inputs: PipelineRobustnessBufferBehavior,
pub default_robustness_images: PipelineRobustnessImageBehavior,
}
impl Default for PhysicalDevicePipelineRobustnessProperties {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES,
next: ptr::null_mut(),
default_robustness_storage_buffers: PipelineRobustnessBufferBehavior::default(),
default_robustness_uniform_buffers: PipelineRobustnessBufferBehavior::default(),
default_robustness_vertex_inputs: PipelineRobustnessBufferBehavior::default(),
default_robustness_images: PipelineRobustnessImageBehavior::default(),
}
}
}
unsafe impl Send for PhysicalDevicePipelineRobustnessProperties {}
unsafe impl Sync for PhysicalDevicePipelineRobustnessProperties {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevicePointClippingProperties.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDevicePointClippingProperties {
pub s_type: StructureType,
pub next: *mut c_void,
pub point_clipping_behavior: PointClippingBehavior,
}
impl Default for PhysicalDevicePointClippingProperties {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES,
next: ptr::null_mut(),
point_clipping_behavior: PointClippingBehavior::default(),
}
}
}
unsafe impl Send for PhysicalDevicePointClippingProperties {}
unsafe impl Sync for PhysicalDevicePointClippingProperties {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevicePortabilitySubsetFeaturesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDevicePortabilitySubsetFeaturesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub constant_alpha_color_blend_factors: Bool32,
pub events: Bool32,
pub image_view_format_reinterpretation: Bool32,
pub image_view_format_swizzle: Bool32,
pub image_view_2d_on_3d_image: Bool32,
pub multisample_array_image: Bool32,
pub mutable_comparison_samplers: Bool32,
pub point_polygons: Bool32,
pub sampler_mip_lod_bias: Bool32,
pub separate_stencil_mask_ref: Bool32,
pub shader_sample_rate_interpolation_functions: Bool32,
pub tessellation_isolines: Bool32,
pub tessellation_point_mode: Bool32,
pub triangle_fans: Bool32,
pub vertex_attribute_access_beyond_stride: Bool32,
}
impl Default for PhysicalDevicePortabilitySubsetFeaturesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR,
next: ptr::null_mut(),
constant_alpha_color_blend_factors: Bool32::default(),
events: Bool32::default(),
image_view_format_reinterpretation: Bool32::default(),
image_view_format_swizzle: Bool32::default(),
image_view_2d_on_3d_image: Bool32::default(),
multisample_array_image: Bool32::default(),
mutable_comparison_samplers: Bool32::default(),
point_polygons: Bool32::default(),
sampler_mip_lod_bias: Bool32::default(),
separate_stencil_mask_ref: Bool32::default(),
shader_sample_rate_interpolation_functions: Bool32::default(),
tessellation_isolines: Bool32::default(),
tessellation_point_mode: Bool32::default(),
triangle_fans: Bool32::default(),
vertex_attribute_access_beyond_stride: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDevicePortabilitySubsetFeaturesKHR {}
unsafe impl Sync for PhysicalDevicePortabilitySubsetFeaturesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevicePortabilitySubsetPropertiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDevicePortabilitySubsetPropertiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub min_vertex_input_binding_stride_alignment: u32,
}
impl Default for PhysicalDevicePortabilitySubsetPropertiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR,
next: ptr::null_mut(),
min_vertex_input_binding_stride_alignment: u32::default(),
}
}
}
unsafe impl Send for PhysicalDevicePortabilitySubsetPropertiesKHR {}
unsafe impl Sync for PhysicalDevicePortabilitySubsetPropertiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevicePresentBarrierFeaturesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDevicePresentBarrierFeaturesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub present_barrier: Bool32,
}
impl Default for PhysicalDevicePresentBarrierFeaturesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV,
next: ptr::null_mut(),
present_barrier: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDevicePresentBarrierFeaturesNV {}
unsafe impl Sync for PhysicalDevicePresentBarrierFeaturesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevicePresentId2FeaturesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDevicePresentId2FeaturesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub present_id2: Bool32,
}
impl Default for PhysicalDevicePresentId2FeaturesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_PRESENT_ID_2_FEATURES_KHR,
next: ptr::null_mut(),
present_id2: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDevicePresentId2FeaturesKHR {}
unsafe impl Sync for PhysicalDevicePresentId2FeaturesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevicePresentIdFeaturesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDevicePresentIdFeaturesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub present_id: Bool32,
}
impl Default for PhysicalDevicePresentIdFeaturesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR,
next: ptr::null_mut(),
present_id: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDevicePresentIdFeaturesKHR {}
unsafe impl Sync for PhysicalDevicePresentIdFeaturesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevicePresentMeteringFeaturesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDevicePresentMeteringFeaturesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub present_metering: Bool32,
}
impl Default for PhysicalDevicePresentMeteringFeaturesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_PRESENT_METERING_FEATURES_NV,
next: ptr::null_mut(),
present_metering: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDevicePresentMeteringFeaturesNV {}
unsafe impl Sync for PhysicalDevicePresentMeteringFeaturesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub present_mode_fifo_latest_ready: Bool32,
}
impl Default for PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_KHR,
next: ptr::null_mut(),
present_mode_fifo_latest_ready: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR {}
unsafe impl Sync for PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevicePresentTimingFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDevicePresentTimingFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub present_timing: Bool32,
pub present_at_absolute_time: Bool32,
pub present_at_relative_time: Bool32,
}
impl Default for PhysicalDevicePresentTimingFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_PRESENT_TIMING_FEATURES_EXT,
next: ptr::null_mut(),
present_timing: Bool32::default(),
present_at_absolute_time: Bool32::default(),
present_at_relative_time: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDevicePresentTimingFeaturesEXT {}
unsafe impl Sync for PhysicalDevicePresentTimingFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevicePresentWait2FeaturesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDevicePresentWait2FeaturesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub present_wait2: Bool32,
}
impl Default for PhysicalDevicePresentWait2FeaturesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_PRESENT_WAIT_2_FEATURES_KHR,
next: ptr::null_mut(),
present_wait2: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDevicePresentWait2FeaturesKHR {}
unsafe impl Sync for PhysicalDevicePresentWait2FeaturesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevicePresentWaitFeaturesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDevicePresentWaitFeaturesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub present_wait: Bool32,
}
impl Default for PhysicalDevicePresentWaitFeaturesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR,
next: ptr::null_mut(),
present_wait: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDevicePresentWaitFeaturesKHR {}
unsafe impl Sync for PhysicalDevicePresentWaitFeaturesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub primitive_topology_list_restart: Bool32,
pub primitive_topology_patch_list_restart: Bool32,
}
impl Default for PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT,
next: ptr::null_mut(),
primitive_topology_list_restart: Bool32::default(),
primitive_topology_patch_list_restart: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT {}
unsafe impl Sync for PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub primitives_generated_query: Bool32,
pub primitives_generated_query_with_rasterizer_discard: Bool32,
pub primitives_generated_query_with_non_zero_streams: Bool32,
}
impl Default for PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT,
next: ptr::null_mut(),
primitives_generated_query: Bool32::default(),
primitives_generated_query_with_rasterizer_discard: Bool32::default(),
primitives_generated_query_with_non_zero_streams: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {}
unsafe impl Sync for PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevicePrivateDataFeatures.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDevicePrivateDataFeatures {
pub s_type: StructureType,
pub next: *mut c_void,
pub private_data: Bool32,
}
impl Default for PhysicalDevicePrivateDataFeatures {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES,
next: ptr::null_mut(),
private_data: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDevicePrivateDataFeatures {}
unsafe impl Sync for PhysicalDevicePrivateDataFeatures {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceProperties.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, PartialEq)]
pub struct PhysicalDeviceProperties {
pub api_version: u32,
pub driver_version: u32,
pub vendor_id: u32,
pub device_id: u32,
pub device_type: PhysicalDeviceType,
pub device_name: StringArray<MAX_PHYSICAL_DEVICE_NAME_SIZE>,
pub pipeline_cache_uuid: ByteArray<UUID_SIZE>,
pub limits: PhysicalDeviceLimits,
pub sparse_properties: PhysicalDeviceSparseProperties,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceProperties2.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct PhysicalDeviceProperties2 {
pub s_type: StructureType,
pub next: *mut c_void,
pub properties: PhysicalDeviceProperties,
}
impl Default for PhysicalDeviceProperties2 {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_PROPERTIES_2,
next: ptr::null_mut(),
properties: PhysicalDeviceProperties::default(),
}
}
}
unsafe impl Send for PhysicalDeviceProperties2 {}
unsafe impl Sync for PhysicalDeviceProperties2 {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceProtectedMemoryFeatures.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceProtectedMemoryFeatures {
pub s_type: StructureType,
pub next: *mut c_void,
pub protected_memory: Bool32,
}
impl Default for PhysicalDeviceProtectedMemoryFeatures {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES,
next: ptr::null_mut(),
protected_memory: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceProtectedMemoryFeatures {}
unsafe impl Sync for PhysicalDeviceProtectedMemoryFeatures {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceProtectedMemoryProperties.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceProtectedMemoryProperties {
pub s_type: StructureType,
pub next: *mut c_void,
pub protected_no_fault: Bool32,
}
impl Default for PhysicalDeviceProtectedMemoryProperties {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES,
next: ptr::null_mut(),
protected_no_fault: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceProtectedMemoryProperties {}
unsafe impl Sync for PhysicalDeviceProtectedMemoryProperties {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceProvokingVertexFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceProvokingVertexFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub provoking_vertex_last: Bool32,
pub transform_feedback_preserves_provoking_vertex: Bool32,
}
impl Default for PhysicalDeviceProvokingVertexFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT,
next: ptr::null_mut(),
provoking_vertex_last: Bool32::default(),
transform_feedback_preserves_provoking_vertex: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceProvokingVertexFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceProvokingVertexFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceProvokingVertexPropertiesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceProvokingVertexPropertiesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub provoking_vertex_mode_per_pipeline: Bool32,
pub transform_feedback_preserves_triangle_fan_provoking_vertex: Bool32,
}
impl Default for PhysicalDeviceProvokingVertexPropertiesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT,
next: ptr::null_mut(),
provoking_vertex_mode_per_pipeline: Bool32::default(),
transform_feedback_preserves_triangle_fan_provoking_vertex: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceProvokingVertexPropertiesEXT {}
unsafe impl Sync for PhysicalDeviceProvokingVertexPropertiesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevicePushConstantBankFeaturesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDevicePushConstantBankFeaturesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub push_constant_bank: Bool32,
}
impl Default for PhysicalDevicePushConstantBankFeaturesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_PUSH_CONSTANT_BANK_FEATURES_NV,
next: ptr::null_mut(),
push_constant_bank: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDevicePushConstantBankFeaturesNV {}
unsafe impl Sync for PhysicalDevicePushConstantBankFeaturesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevicePushConstantBankPropertiesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDevicePushConstantBankPropertiesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub max_graphics_push_constant_banks: u32,
pub max_compute_push_constant_banks: u32,
pub max_graphics_push_data_banks: u32,
pub max_compute_push_data_banks: u32,
}
impl Default for PhysicalDevicePushConstantBankPropertiesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_PUSH_CONSTANT_BANK_PROPERTIES_NV,
next: ptr::null_mut(),
max_graphics_push_constant_banks: u32::default(),
max_compute_push_constant_banks: u32::default(),
max_graphics_push_data_banks: u32::default(),
max_compute_push_data_banks: u32::default(),
}
}
}
unsafe impl Send for PhysicalDevicePushConstantBankPropertiesNV {}
unsafe impl Sync for PhysicalDevicePushConstantBankPropertiesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevicePushDescriptorProperties.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDevicePushDescriptorProperties {
pub s_type: StructureType,
pub next: *mut c_void,
pub max_push_descriptors: u32,
}
impl Default for PhysicalDevicePushDescriptorProperties {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES,
next: ptr::null_mut(),
max_push_descriptors: u32::default(),
}
}
}
unsafe impl Send for PhysicalDevicePushDescriptorProperties {}
unsafe impl Sync for PhysicalDevicePushDescriptorProperties {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM {
pub s_type: StructureType,
pub next: *const c_void,
pub queue_family_index: u32,
pub engine_type: PhysicalDeviceDataGraphProcessingEngineTypeARM,
}
impl Default for PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM {
#[inline]
fn default() -> Self {
Self {
s_type:
StructureType::PHYSICAL_DEVICE_QUEUE_FAMILY_DATA_GRAPH_PROCESSING_ENGINE_INFO_ARM,
next: ptr::null(),
queue_family_index: u32::default(),
engine_type: PhysicalDeviceDataGraphProcessingEngineTypeARM::default(),
}
}
}
unsafe impl Send for PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM {}
unsafe impl Sync for PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceRGBA10X6FormatsFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub format_rgba10x6_without_y_cb_cr_sampler: Bool32,
}
impl Default for PhysicalDeviceRGBA10X6FormatsFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT,
next: ptr::null_mut(),
format_rgba10x6_without_y_cb_cr_sampler: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceRGBA10X6FormatsFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceRGBA10X6FormatsFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub rasterization_order_color_attachment_access: Bool32,
pub rasterization_order_depth_attachment_access: Bool32,
pub rasterization_order_stencil_attachment_access: Bool32,
}
impl Default for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type:
StructureType::PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT,
next: ptr::null_mut(),
rasterization_order_color_attachment_access: Bool32::default(),
rasterization_order_depth_attachment_access: Bool32::default(),
rasterization_order_stencil_attachment_access: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceRawAccessChainsFeaturesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceRawAccessChainsFeaturesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_raw_access_chains: Bool32,
}
impl Default for PhysicalDeviceRawAccessChainsFeaturesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_RAW_ACCESS_CHAINS_FEATURES_NV,
next: ptr::null_mut(),
shader_raw_access_chains: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceRawAccessChainsFeaturesNV {}
unsafe impl Sync for PhysicalDeviceRawAccessChainsFeaturesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceRayQueryFeaturesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceRayQueryFeaturesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub ray_query: Bool32,
}
impl Default for PhysicalDeviceRayQueryFeaturesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR,
next: ptr::null_mut(),
ray_query: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceRayQueryFeaturesKHR {}
unsafe impl Sync for PhysicalDeviceRayQueryFeaturesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceRayTracingInvocationReorderFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub ray_tracing_invocation_reorder: Bool32,
}
impl Default for PhysicalDeviceRayTracingInvocationReorderFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_EXT,
next: ptr::null_mut(),
ray_tracing_invocation_reorder: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceRayTracingInvocationReorderFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceRayTracingInvocationReorderFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceRayTracingInvocationReorderFeaturesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub ray_tracing_invocation_reorder: Bool32,
}
impl Default for PhysicalDeviceRayTracingInvocationReorderFeaturesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV,
next: ptr::null_mut(),
ray_tracing_invocation_reorder: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceRayTracingInvocationReorderFeaturesNV {}
unsafe impl Sync for PhysicalDeviceRayTracingInvocationReorderFeaturesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceRayTracingInvocationReorderPropertiesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub ray_tracing_invocation_reorder_reordering_hint: RayTracingInvocationReorderModeEXT,
pub max_shader_binding_table_record_index: u32,
}
impl Default for PhysicalDeviceRayTracingInvocationReorderPropertiesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_EXT,
next: ptr::null_mut(),
ray_tracing_invocation_reorder_reordering_hint:
RayTracingInvocationReorderModeEXT::default(),
max_shader_binding_table_record_index: u32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceRayTracingInvocationReorderPropertiesEXT {}
unsafe impl Sync for PhysicalDeviceRayTracingInvocationReorderPropertiesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceRayTracingInvocationReorderPropertiesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub ray_tracing_invocation_reorder_reordering_hint: RayTracingInvocationReorderModeEXT,
}
impl Default for PhysicalDeviceRayTracingInvocationReorderPropertiesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV,
next: ptr::null_mut(),
ray_tracing_invocation_reorder_reordering_hint:
RayTracingInvocationReorderModeEXT::default(),
}
}
}
unsafe impl Send for PhysicalDeviceRayTracingInvocationReorderPropertiesNV {}
unsafe impl Sync for PhysicalDeviceRayTracingInvocationReorderPropertiesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub spheres: Bool32,
pub linear_swept_spheres: Bool32,
}
impl Default for PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_LINEAR_SWEPT_SPHERES_FEATURES_NV,
next: ptr::null_mut(),
spheres: Bool32::default(),
linear_swept_spheres: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV {}
unsafe impl Sync for PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceRayTracingMaintenance1FeaturesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub ray_tracing_maintenance1: Bool32,
pub ray_tracing_pipeline_trace_rays_indirect2: Bool32,
}
impl Default for PhysicalDeviceRayTracingMaintenance1FeaturesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR,
next: ptr::null_mut(),
ray_tracing_maintenance1: Bool32::default(),
ray_tracing_pipeline_trace_rays_indirect2: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceRayTracingMaintenance1FeaturesKHR {}
unsafe impl Sync for PhysicalDeviceRayTracingMaintenance1FeaturesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceRayTracingMotionBlurFeaturesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceRayTracingMotionBlurFeaturesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub ray_tracing_motion_blur: Bool32,
pub ray_tracing_motion_blur_pipeline_trace_rays_indirect: Bool32,
}
impl Default for PhysicalDeviceRayTracingMotionBlurFeaturesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV,
next: ptr::null_mut(),
ray_tracing_motion_blur: Bool32::default(),
ray_tracing_motion_blur_pipeline_trace_rays_indirect: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceRayTracingMotionBlurFeaturesNV {}
unsafe impl Sync for PhysicalDeviceRayTracingMotionBlurFeaturesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceRayTracingPipelineFeaturesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceRayTracingPipelineFeaturesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub ray_tracing_pipeline: Bool32,
pub ray_tracing_pipeline_shader_group_handle_capture_replay: Bool32,
pub ray_tracing_pipeline_shader_group_handle_capture_replay_mixed: Bool32,
pub ray_tracing_pipeline_trace_rays_indirect: Bool32,
pub ray_traversal_primitive_culling: Bool32,
}
impl Default for PhysicalDeviceRayTracingPipelineFeaturesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR,
next: ptr::null_mut(),
ray_tracing_pipeline: Bool32::default(),
ray_tracing_pipeline_shader_group_handle_capture_replay: Bool32::default(),
ray_tracing_pipeline_shader_group_handle_capture_replay_mixed: Bool32::default(),
ray_tracing_pipeline_trace_rays_indirect: Bool32::default(),
ray_traversal_primitive_culling: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceRayTracingPipelineFeaturesKHR {}
unsafe impl Sync for PhysicalDeviceRayTracingPipelineFeaturesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceRayTracingPipelinePropertiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceRayTracingPipelinePropertiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_group_handle_size: u32,
pub max_ray_recursion_depth: u32,
pub max_shader_group_stride: u32,
pub shader_group_base_alignment: u32,
pub shader_group_handle_capture_replay_size: u32,
pub max_ray_dispatch_invocation_count: u32,
pub shader_group_handle_alignment: u32,
pub max_ray_hit_attribute_size: u32,
}
impl Default for PhysicalDeviceRayTracingPipelinePropertiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR,
next: ptr::null_mut(),
shader_group_handle_size: u32::default(),
max_ray_recursion_depth: u32::default(),
max_shader_group_stride: u32::default(),
shader_group_base_alignment: u32::default(),
shader_group_handle_capture_replay_size: u32::default(),
max_ray_dispatch_invocation_count: u32::default(),
shader_group_handle_alignment: u32::default(),
max_ray_hit_attribute_size: u32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceRayTracingPipelinePropertiesKHR {}
unsafe impl Sync for PhysicalDeviceRayTracingPipelinePropertiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceRayTracingPositionFetchFeaturesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub ray_tracing_position_fetch: Bool32,
}
impl Default for PhysicalDeviceRayTracingPositionFetchFeaturesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR,
next: ptr::null_mut(),
ray_tracing_position_fetch: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceRayTracingPositionFetchFeaturesKHR {}
unsafe impl Sync for PhysicalDeviceRayTracingPositionFetchFeaturesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceRayTracingPropertiesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceRayTracingPropertiesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_group_handle_size: u32,
pub max_recursion_depth: u32,
pub max_shader_group_stride: u32,
pub shader_group_base_alignment: u32,
pub max_geometry_count: u64,
pub max_instance_count: u64,
pub max_triangle_count: u64,
pub max_descriptor_set_acceleration_structures: u32,
}
impl Default for PhysicalDeviceRayTracingPropertiesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV,
next: ptr::null_mut(),
shader_group_handle_size: u32::default(),
max_recursion_depth: u32::default(),
max_shader_group_stride: u32::default(),
shader_group_base_alignment: u32::default(),
max_geometry_count: u64::default(),
max_instance_count: u64::default(),
max_triangle_count: u64::default(),
max_descriptor_set_acceleration_structures: u32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceRayTracingPropertiesNV {}
unsafe impl Sync for PhysicalDeviceRayTracingPropertiesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceRayTracingValidationFeaturesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceRayTracingValidationFeaturesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub ray_tracing_validation: Bool32,
}
impl Default for PhysicalDeviceRayTracingValidationFeaturesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV,
next: ptr::null_mut(),
ray_tracing_validation: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceRayTracingValidationFeaturesNV {}
unsafe impl Sync for PhysicalDeviceRayTracingValidationFeaturesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceRelaxedLineRasterizationFeaturesIMG {
pub s_type: StructureType,
pub next: *mut c_void,
pub relaxed_line_rasterization: Bool32,
}
impl Default for PhysicalDeviceRelaxedLineRasterizationFeaturesIMG {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_RELAXED_LINE_RASTERIZATION_FEATURES_IMG,
next: ptr::null_mut(),
relaxed_line_rasterization: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceRelaxedLineRasterizationFeaturesIMG {}
unsafe impl Sync for PhysicalDeviceRelaxedLineRasterizationFeaturesIMG {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceRenderPassStripedFeaturesARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceRenderPassStripedFeaturesARM {
pub s_type: StructureType,
pub next: *mut c_void,
pub render_pass_striped: Bool32,
}
impl Default for PhysicalDeviceRenderPassStripedFeaturesARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_RENDER_PASS_STRIPED_FEATURES_ARM,
next: ptr::null_mut(),
render_pass_striped: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceRenderPassStripedFeaturesARM {}
unsafe impl Sync for PhysicalDeviceRenderPassStripedFeaturesARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceRenderPassStripedPropertiesARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceRenderPassStripedPropertiesARM {
pub s_type: StructureType,
pub next: *mut c_void,
pub render_pass_stripe_granularity: Extent2D,
pub max_render_pass_stripes: u32,
}
impl Default for PhysicalDeviceRenderPassStripedPropertiesARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_RENDER_PASS_STRIPED_PROPERTIES_ARM,
next: ptr::null_mut(),
render_pass_stripe_granularity: Extent2D::default(),
max_render_pass_stripes: u32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceRenderPassStripedPropertiesARM {}
unsafe impl Sync for PhysicalDeviceRenderPassStripedPropertiesARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceRepresentativeFragmentTestFeaturesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub representative_fragment_test: Bool32,
}
impl Default for PhysicalDeviceRepresentativeFragmentTestFeaturesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV,
next: ptr::null_mut(),
representative_fragment_test: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceRepresentativeFragmentTestFeaturesNV {}
unsafe impl Sync for PhysicalDeviceRepresentativeFragmentTestFeaturesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceRobustness2FeaturesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceRobustness2FeaturesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub robust_buffer_access2: Bool32,
pub robust_image_access2: Bool32,
pub null_descriptor: Bool32,
}
impl Default for PhysicalDeviceRobustness2FeaturesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_KHR,
next: ptr::null_mut(),
robust_buffer_access2: Bool32::default(),
robust_image_access2: Bool32::default(),
null_descriptor: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceRobustness2FeaturesKHR {}
unsafe impl Sync for PhysicalDeviceRobustness2FeaturesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceRobustness2PropertiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceRobustness2PropertiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub robust_storage_buffer_access_size_alignment: DeviceSize,
pub robust_uniform_buffer_access_size_alignment: DeviceSize,
}
impl Default for PhysicalDeviceRobustness2PropertiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_KHR,
next: ptr::null_mut(),
robust_storage_buffer_access_size_alignment: DeviceSize::default(),
robust_uniform_buffer_access_size_alignment: DeviceSize::default(),
}
}
}
unsafe impl Send for PhysicalDeviceRobustness2PropertiesKHR {}
unsafe impl Sync for PhysicalDeviceRobustness2PropertiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceSampleLocationsPropertiesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct PhysicalDeviceSampleLocationsPropertiesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub sample_location_sample_counts: SampleCountFlags,
pub max_sample_location_grid_size: Extent2D,
pub sample_location_coordinate_range: [f32; 2],
pub sample_location_sub_pixel_bits: u32,
pub variable_sample_locations: Bool32,
}
impl Default for PhysicalDeviceSampleLocationsPropertiesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT,
next: ptr::null_mut(),
sample_location_sample_counts: SampleCountFlags::default(),
max_sample_location_grid_size: Extent2D::default(),
sample_location_coordinate_range: [f32::default(); 2],
sample_location_sub_pixel_bits: u32::default(),
variable_sample_locations: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceSampleLocationsPropertiesEXT {}
unsafe impl Sync for PhysicalDeviceSampleLocationsPropertiesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceSamplerFilterMinmaxProperties.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceSamplerFilterMinmaxProperties {
pub s_type: StructureType,
pub next: *mut c_void,
pub filter_minmax_single_component_formats: Bool32,
pub filter_minmax_image_component_mapping: Bool32,
}
impl Default for PhysicalDeviceSamplerFilterMinmaxProperties {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES,
next: ptr::null_mut(),
filter_minmax_single_component_formats: Bool32::default(),
filter_minmax_image_component_mapping: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceSamplerFilterMinmaxProperties {}
unsafe impl Sync for PhysicalDeviceSamplerFilterMinmaxProperties {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceSamplerYcbcrConversionFeatures.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceSamplerYcbcrConversionFeatures {
pub s_type: StructureType,
pub next: *mut c_void,
pub sampler_ycbcr_conversion: Bool32,
}
impl Default for PhysicalDeviceSamplerYcbcrConversionFeatures {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES,
next: ptr::null_mut(),
sampler_ycbcr_conversion: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceSamplerYcbcrConversionFeatures {}
unsafe impl Sync for PhysicalDeviceSamplerYcbcrConversionFeatures {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceScalarBlockLayoutFeatures.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceScalarBlockLayoutFeatures {
pub s_type: StructureType,
pub next: *mut c_void,
pub scalar_block_layout: Bool32,
}
impl Default for PhysicalDeviceScalarBlockLayoutFeatures {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES,
next: ptr::null_mut(),
scalar_block_layout: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceScalarBlockLayoutFeatures {}
unsafe impl Sync for PhysicalDeviceScalarBlockLayoutFeatures {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceSchedulingControlsFeaturesARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceSchedulingControlsFeaturesARM {
pub s_type: StructureType,
pub next: *mut c_void,
pub scheduling_controls: Bool32,
}
impl Default for PhysicalDeviceSchedulingControlsFeaturesARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SCHEDULING_CONTROLS_FEATURES_ARM,
next: ptr::null_mut(),
scheduling_controls: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceSchedulingControlsFeaturesARM {}
unsafe impl Sync for PhysicalDeviceSchedulingControlsFeaturesARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceSchedulingControlsPropertiesARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceSchedulingControlsPropertiesARM {
pub s_type: StructureType,
pub next: *mut c_void,
pub scheduling_controls_flags: PhysicalDeviceSchedulingControlsFlagsARM,
}
impl Default for PhysicalDeviceSchedulingControlsPropertiesARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM,
next: ptr::null_mut(),
scheduling_controls_flags: PhysicalDeviceSchedulingControlsFlagsARM::default(),
}
}
}
unsafe impl Send for PhysicalDeviceSchedulingControlsPropertiesARM {}
unsafe impl Sync for PhysicalDeviceSchedulingControlsPropertiesARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceSeparateDepthStencilLayoutsFeatures {
pub s_type: StructureType,
pub next: *mut c_void,
pub separate_depth_stencil_layouts: Bool32,
}
impl Default for PhysicalDeviceSeparateDepthStencilLayoutsFeatures {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES,
next: ptr::null_mut(),
separate_depth_stencil_layouts: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceSeparateDepthStencilLayoutsFeatures {}
unsafe impl Sync for PhysicalDeviceSeparateDepthStencilLayoutsFeatures {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShader64BitIndexingFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShader64BitIndexingFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_64bit_indexing: Bool32,
}
impl Default for PhysicalDeviceShader64BitIndexingFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADER_64_BIT_INDEXING_FEATURES_EXT,
next: ptr::null_mut(),
shader_64bit_indexing: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShader64BitIndexingFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceShader64BitIndexingFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_float16_vector_atomics: Bool32,
}
impl Default for PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV,
next: ptr::null_mut(),
shader_float16_vector_atomics: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV {}
unsafe impl Sync for PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderAtomicFloat2FeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_buffer_float16_atomics: Bool32,
pub shader_buffer_float16_atomic_add: Bool32,
pub shader_buffer_float16_atomic_min_max: Bool32,
pub shader_buffer_float32_atomic_min_max: Bool32,
pub shader_buffer_float64_atomic_min_max: Bool32,
pub shader_shared_float16_atomics: Bool32,
pub shader_shared_float16_atomic_add: Bool32,
pub shader_shared_float16_atomic_min_max: Bool32,
pub shader_shared_float32_atomic_min_max: Bool32,
pub shader_shared_float64_atomic_min_max: Bool32,
pub shader_image_float32_atomic_min_max: Bool32,
pub sparse_image_float32_atomic_min_max: Bool32,
}
impl Default for PhysicalDeviceShaderAtomicFloat2FeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT,
next: ptr::null_mut(),
shader_buffer_float16_atomics: Bool32::default(),
shader_buffer_float16_atomic_add: Bool32::default(),
shader_buffer_float16_atomic_min_max: Bool32::default(),
shader_buffer_float32_atomic_min_max: Bool32::default(),
shader_buffer_float64_atomic_min_max: Bool32::default(),
shader_shared_float16_atomics: Bool32::default(),
shader_shared_float16_atomic_add: Bool32::default(),
shader_shared_float16_atomic_min_max: Bool32::default(),
shader_shared_float32_atomic_min_max: Bool32::default(),
shader_shared_float64_atomic_min_max: Bool32::default(),
shader_image_float32_atomic_min_max: Bool32::default(),
sparse_image_float32_atomic_min_max: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShaderAtomicFloat2FeaturesEXT {}
unsafe impl Sync for PhysicalDeviceShaderAtomicFloat2FeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderAtomicFloatFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderAtomicFloatFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_buffer_float32_atomics: Bool32,
pub shader_buffer_float32_atomic_add: Bool32,
pub shader_buffer_float64_atomics: Bool32,
pub shader_buffer_float64_atomic_add: Bool32,
pub shader_shared_float32_atomics: Bool32,
pub shader_shared_float32_atomic_add: Bool32,
pub shader_shared_float64_atomics: Bool32,
pub shader_shared_float64_atomic_add: Bool32,
pub shader_image_float32_atomics: Bool32,
pub shader_image_float32_atomic_add: Bool32,
pub sparse_image_float32_atomics: Bool32,
pub sparse_image_float32_atomic_add: Bool32,
}
impl Default for PhysicalDeviceShaderAtomicFloatFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT,
next: ptr::null_mut(),
shader_buffer_float32_atomics: Bool32::default(),
shader_buffer_float32_atomic_add: Bool32::default(),
shader_buffer_float64_atomics: Bool32::default(),
shader_buffer_float64_atomic_add: Bool32::default(),
shader_shared_float32_atomics: Bool32::default(),
shader_shared_float32_atomic_add: Bool32::default(),
shader_shared_float64_atomics: Bool32::default(),
shader_shared_float64_atomic_add: Bool32::default(),
shader_image_float32_atomics: Bool32::default(),
shader_image_float32_atomic_add: Bool32::default(),
sparse_image_float32_atomics: Bool32::default(),
sparse_image_float32_atomic_add: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShaderAtomicFloatFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceShaderAtomicFloatFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderAtomicInt64Features.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderAtomicInt64Features {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_buffer_int64_atomics: Bool32,
pub shader_shared_int64_atomics: Bool32,
}
impl Default for PhysicalDeviceShaderAtomicInt64Features {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES,
next: ptr::null_mut(),
shader_buffer_int64_atomics: Bool32::default(),
shader_shared_int64_atomics: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShaderAtomicInt64Features {}
unsafe impl Sync for PhysicalDeviceShaderAtomicInt64Features {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderBfloat16FeaturesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderBfloat16FeaturesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_b_float16_type: Bool32,
pub shader_b_float_16dot_product: Bool32,
pub shader_b_float16_cooperative_matrix: Bool32,
}
impl Default for PhysicalDeviceShaderBfloat16FeaturesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADER_BFLOAT16_FEATURES_KHR,
next: ptr::null_mut(),
shader_b_float16_type: Bool32::default(),
shader_b_float_16dot_product: Bool32::default(),
shader_b_float16_cooperative_matrix: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShaderBfloat16FeaturesKHR {}
unsafe impl Sync for PhysicalDeviceShaderBfloat16FeaturesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderClockFeaturesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderClockFeaturesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_subgroup_clock: Bool32,
pub shader_device_clock: Bool32,
}
impl Default for PhysicalDeviceShaderClockFeaturesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR,
next: ptr::null_mut(),
shader_subgroup_clock: Bool32::default(),
shader_device_clock: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShaderClockFeaturesKHR {}
unsafe impl Sync for PhysicalDeviceShaderClockFeaturesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderCoreBuiltinsFeaturesARM {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_core_builtins: Bool32,
}
impl Default for PhysicalDeviceShaderCoreBuiltinsFeaturesARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM,
next: ptr::null_mut(),
shader_core_builtins: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShaderCoreBuiltinsFeaturesARM {}
unsafe impl Sync for PhysicalDeviceShaderCoreBuiltinsFeaturesARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderCoreBuiltinsPropertiesARM {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_core_mask: u64,
pub shader_core_count: u32,
pub shader_warps_per_core: u32,
}
impl Default for PhysicalDeviceShaderCoreBuiltinsPropertiesARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM,
next: ptr::null_mut(),
shader_core_mask: u64::default(),
shader_core_count: u32::default(),
shader_warps_per_core: u32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShaderCoreBuiltinsPropertiesARM {}
unsafe impl Sync for PhysicalDeviceShaderCoreBuiltinsPropertiesARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderCoreProperties2AMD.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderCoreProperties2AMD {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_core_features: ShaderCorePropertiesFlagsAMD,
pub active_compute_unit_count: u32,
}
impl Default for PhysicalDeviceShaderCoreProperties2AMD {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD,
next: ptr::null_mut(),
shader_core_features: ShaderCorePropertiesFlagsAMD::default(),
active_compute_unit_count: u32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShaderCoreProperties2AMD {}
unsafe impl Sync for PhysicalDeviceShaderCoreProperties2AMD {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderCorePropertiesAMD.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderCorePropertiesAMD {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_engine_count: u32,
pub shader_arrays_per_engine_count: u32,
pub compute_units_per_shader_array: u32,
pub simd_per_compute_unit: u32,
pub wavefronts_per_simd: u32,
pub wavefront_size: u32,
pub sgprs_per_simd: u32,
pub min_sgpr_allocation: u32,
pub max_sgpr_allocation: u32,
pub sgpr_allocation_granularity: u32,
pub vgprs_per_simd: u32,
pub min_vgpr_allocation: u32,
pub max_vgpr_allocation: u32,
pub vgpr_allocation_granularity: u32,
}
impl Default for PhysicalDeviceShaderCorePropertiesAMD {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD,
next: ptr::null_mut(),
shader_engine_count: u32::default(),
shader_arrays_per_engine_count: u32::default(),
compute_units_per_shader_array: u32::default(),
simd_per_compute_unit: u32::default(),
wavefronts_per_simd: u32::default(),
wavefront_size: u32::default(),
sgprs_per_simd: u32::default(),
min_sgpr_allocation: u32::default(),
max_sgpr_allocation: u32::default(),
sgpr_allocation_granularity: u32::default(),
vgprs_per_simd: u32::default(),
min_vgpr_allocation: u32::default(),
max_vgpr_allocation: u32::default(),
vgpr_allocation_granularity: u32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShaderCorePropertiesAMD {}
unsafe impl Sync for PhysicalDeviceShaderCorePropertiesAMD {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderCorePropertiesARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderCorePropertiesARM {
pub s_type: StructureType,
pub next: *mut c_void,
pub pixel_rate: u32,
pub texel_rate: u32,
pub fma_rate: u32,
}
impl Default for PhysicalDeviceShaderCorePropertiesARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM,
next: ptr::null_mut(),
pixel_rate: u32::default(),
texel_rate: u32::default(),
fma_rate: u32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShaderCorePropertiesARM {}
unsafe impl Sync for PhysicalDeviceShaderCorePropertiesARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderDemoteToHelperInvocationFeatures {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_demote_to_helper_invocation: Bool32,
}
impl Default for PhysicalDeviceShaderDemoteToHelperInvocationFeatures {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES,
next: ptr::null_mut(),
shader_demote_to_helper_invocation: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShaderDemoteToHelperInvocationFeatures {}
unsafe impl Sync for PhysicalDeviceShaderDemoteToHelperInvocationFeatures {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderDrawParametersFeatures.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderDrawParametersFeatures {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_draw_parameters: Bool32,
}
impl Default for PhysicalDeviceShaderDrawParametersFeatures {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
next: ptr::null_mut(),
shader_draw_parameters: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShaderDrawParametersFeatures {}
unsafe impl Sync for PhysicalDeviceShaderDrawParametersFeatures {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_early_and_late_fragment_tests: Bool32,
}
impl Default for PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD {
#[inline]
fn default() -> Self {
Self {
s_type:
StructureType::PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD,
next: ptr::null_mut(),
shader_early_and_late_fragment_tests: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD {}
unsafe impl Sync for PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderEnqueueFeaturesAMDX.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderEnqueueFeaturesAMDX {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_enqueue: Bool32,
pub shader_mesh_enqueue: Bool32,
}
impl Default for PhysicalDeviceShaderEnqueueFeaturesAMDX {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX,
next: ptr::null_mut(),
shader_enqueue: Bool32::default(),
shader_mesh_enqueue: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShaderEnqueueFeaturesAMDX {}
unsafe impl Sync for PhysicalDeviceShaderEnqueueFeaturesAMDX {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderEnqueuePropertiesAMDX.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderEnqueuePropertiesAMDX {
pub s_type: StructureType,
pub next: *mut c_void,
pub max_execution_graph_depth: u32,
pub max_execution_graph_shader_output_nodes: u32,
pub max_execution_graph_shader_payload_size: u32,
pub max_execution_graph_shader_payload_count: u32,
pub execution_graph_dispatch_address_alignment: u32,
pub max_execution_graph_workgroup_count: [u32; 3],
pub max_execution_graph_workgroups: u32,
}
impl Default for PhysicalDeviceShaderEnqueuePropertiesAMDX {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX,
next: ptr::null_mut(),
max_execution_graph_depth: u32::default(),
max_execution_graph_shader_output_nodes: u32::default(),
max_execution_graph_shader_payload_size: u32::default(),
max_execution_graph_shader_payload_count: u32::default(),
execution_graph_dispatch_address_alignment: u32::default(),
max_execution_graph_workgroup_count: [u32::default(); 3],
max_execution_graph_workgroups: u32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShaderEnqueuePropertiesAMDX {}
unsafe impl Sync for PhysicalDeviceShaderEnqueuePropertiesAMDX {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderExpectAssumeFeatures.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderExpectAssumeFeatures {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_expect_assume: Bool32,
}
impl Default for PhysicalDeviceShaderExpectAssumeFeatures {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES,
next: ptr::null_mut(),
shader_expect_assume: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShaderExpectAssumeFeatures {}
unsafe impl Sync for PhysicalDeviceShaderExpectAssumeFeatures {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderFloat16Int8Features.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderFloat16Int8Features {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_float16: Bool32,
pub shader_int8: Bool32,
}
impl Default for PhysicalDeviceShaderFloat16Int8Features {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES,
next: ptr::null_mut(),
shader_float16: Bool32::default(),
shader_int8: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShaderFloat16Int8Features {}
unsafe impl Sync for PhysicalDeviceShaderFloat16Int8Features {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderFloat8FeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderFloat8FeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_float8: Bool32,
pub shader_float8_cooperative_matrix: Bool32,
}
impl Default for PhysicalDeviceShaderFloat8FeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADER_FLOAT8_FEATURES_EXT,
next: ptr::null_mut(),
shader_float8: Bool32::default(),
shader_float8_cooperative_matrix: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShaderFloat8FeaturesEXT {}
unsafe impl Sync for PhysicalDeviceShaderFloat8FeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderFloatControls2Features.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderFloatControls2Features {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_float_controls2: Bool32,
}
impl Default for PhysicalDeviceShaderFloatControls2Features {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES,
next: ptr::null_mut(),
shader_float_controls2: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShaderFloatControls2Features {}
unsafe impl Sync for PhysicalDeviceShaderFloatControls2Features {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderFmaFeaturesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderFmaFeaturesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_fma_float16: Bool32,
pub shader_fma_float32: Bool32,
pub shader_fma_float64: Bool32,
}
impl Default for PhysicalDeviceShaderFmaFeaturesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADER_FMA_FEATURES_KHR,
next: ptr::null_mut(),
shader_fma_float16: Bool32::default(),
shader_fma_float32: Bool32::default(),
shader_fma_float64: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShaderFmaFeaturesKHR {}
unsafe impl Sync for PhysicalDeviceShaderFmaFeaturesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_image_int64_atomics: Bool32,
pub sparse_image_int64_atomics: Bool32,
}
impl Default for PhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT,
next: ptr::null_mut(),
shader_image_int64_atomics: Bool32::default(),
sparse_image_int64_atomics: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShaderImageAtomicInt64FeaturesEXT {}
unsafe impl Sync for PhysicalDeviceShaderImageAtomicInt64FeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderImageFootprintFeaturesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderImageFootprintFeaturesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub image_footprint: Bool32,
}
impl Default for PhysicalDeviceShaderImageFootprintFeaturesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV,
next: ptr::null_mut(),
image_footprint: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShaderImageFootprintFeaturesNV {}
unsafe impl Sync for PhysicalDeviceShaderImageFootprintFeaturesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderIntegerDotProductFeatures.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderIntegerDotProductFeatures {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_integer_dot_product: Bool32,
}
impl Default for PhysicalDeviceShaderIntegerDotProductFeatures {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES,
next: ptr::null_mut(),
shader_integer_dot_product: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShaderIntegerDotProductFeatures {}
unsafe impl Sync for PhysicalDeviceShaderIntegerDotProductFeatures {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderIntegerDotProductProperties.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderIntegerDotProductProperties {
pub s_type: StructureType,
pub next: *mut c_void,
pub integer_dot_product_8bit_unsigned_accelerated: Bool32,
pub integer_dot_product_8bit_signed_accelerated: Bool32,
pub integer_dot_product_8bit_mixed_signedness_accelerated: Bool32,
pub integer_dot_product4x_8bit_packed_unsigned_accelerated: Bool32,
pub integer_dot_product4x_8bit_packed_signed_accelerated: Bool32,
pub integer_dot_product4x_8bit_packed_mixed_signedness_accelerated: Bool32,
pub integer_dot_product_16bit_unsigned_accelerated: Bool32,
pub integer_dot_product_16bit_signed_accelerated: Bool32,
pub integer_dot_product_16bit_mixed_signedness_accelerated: Bool32,
pub integer_dot_product_32bit_unsigned_accelerated: Bool32,
pub integer_dot_product_32bit_signed_accelerated: Bool32,
pub integer_dot_product_32bit_mixed_signedness_accelerated: Bool32,
pub integer_dot_product_64bit_unsigned_accelerated: Bool32,
pub integer_dot_product_64bit_signed_accelerated: Bool32,
pub integer_dot_product_64bit_mixed_signedness_accelerated: Bool32,
pub integer_dot_product_accumulating_saturating_8bit_unsigned_accelerated: Bool32,
pub integer_dot_product_accumulating_saturating_8bit_signed_accelerated: Bool32,
pub integer_dot_product_accumulating_saturating_8bit_mixed_signedness_accelerated: Bool32,
pub integer_dot_product_accumulating_saturating4x_8bit_packed_unsigned_accelerated: Bool32,
pub integer_dot_product_accumulating_saturating4x_8bit_packed_signed_accelerated: Bool32,
pub integer_dot_product_accumulating_saturating4x_8bit_packed_mixed_signedness_accelerated:
Bool32,
pub integer_dot_product_accumulating_saturating_16bit_unsigned_accelerated: Bool32,
pub integer_dot_product_accumulating_saturating_16bit_signed_accelerated: Bool32,
pub integer_dot_product_accumulating_saturating_16bit_mixed_signedness_accelerated: Bool32,
pub integer_dot_product_accumulating_saturating_32bit_unsigned_accelerated: Bool32,
pub integer_dot_product_accumulating_saturating_32bit_signed_accelerated: Bool32,
pub integer_dot_product_accumulating_saturating_32bit_mixed_signedness_accelerated: Bool32,
pub integer_dot_product_accumulating_saturating_64bit_unsigned_accelerated: Bool32,
pub integer_dot_product_accumulating_saturating_64bit_signed_accelerated: Bool32,
pub integer_dot_product_accumulating_saturating_64bit_mixed_signedness_accelerated: Bool32,
}
impl Default for PhysicalDeviceShaderIntegerDotProductProperties {
#[inline]
fn default() -> Self {
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() }
}
}
unsafe impl Send for PhysicalDeviceShaderIntegerDotProductProperties {}
unsafe impl Sync for PhysicalDeviceShaderIntegerDotProductProperties {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_integer_functions2: Bool32,
}
impl Default for PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL,
next: ptr::null_mut(),
shader_integer_functions2: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {}
unsafe impl Sync for PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderLongVectorFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderLongVectorFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub long_vector: Bool32,
}
impl Default for PhysicalDeviceShaderLongVectorFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADER_LONG_VECTOR_FEATURES_EXT,
next: ptr::null_mut(),
long_vector: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShaderLongVectorFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceShaderLongVectorFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderLongVectorPropertiesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderLongVectorPropertiesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub max_vector_components: u32,
}
impl Default for PhysicalDeviceShaderLongVectorPropertiesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADER_LONG_VECTOR_PROPERTIES_EXT,
next: ptr::null_mut(),
max_vector_components: u32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShaderLongVectorPropertiesEXT {}
unsafe impl Sync for PhysicalDeviceShaderLongVectorPropertiesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_maximal_reconvergence: Bool32,
}
impl Default for PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR,
next: ptr::null_mut(),
shader_maximal_reconvergence: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR {}
unsafe impl Sync for PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderModuleIdentifierFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_module_identifier: Bool32,
}
impl Default for PhysicalDeviceShaderModuleIdentifierFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT,
next: ptr::null_mut(),
shader_module_identifier: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShaderModuleIdentifierFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceShaderModuleIdentifierFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderModuleIdentifierPropertiesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_module_identifier_algorithm_uuid: ByteArray<UUID_SIZE>,
}
impl Default for PhysicalDeviceShaderModuleIdentifierPropertiesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT,
next: ptr::null_mut(),
shader_module_identifier_algorithm_uuid: ByteArray::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShaderModuleIdentifierPropertiesEXT {}
unsafe impl Sync for PhysicalDeviceShaderModuleIdentifierPropertiesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderObjectFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderObjectFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_object: Bool32,
}
impl Default for PhysicalDeviceShaderObjectFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT,
next: ptr::null_mut(),
shader_object: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShaderObjectFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceShaderObjectFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderObjectPropertiesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderObjectPropertiesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_binary_uuid: ByteArray<UUID_SIZE>,
pub shader_binary_version: u32,
}
impl Default for PhysicalDeviceShaderObjectPropertiesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADER_OBJECT_PROPERTIES_EXT,
next: ptr::null_mut(),
shader_binary_uuid: ByteArray::default(),
shader_binary_version: u32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShaderObjectPropertiesEXT {}
unsafe impl Sync for PhysicalDeviceShaderObjectPropertiesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderQuadControlFeaturesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderQuadControlFeaturesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_quad_control: Bool32,
}
impl Default for PhysicalDeviceShaderQuadControlFeaturesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR,
next: ptr::null_mut(),
shader_quad_control: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShaderQuadControlFeaturesKHR {}
unsafe impl Sync for PhysicalDeviceShaderQuadControlFeaturesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_relaxed_extended_instruction: Bool32,
}
impl Default for PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADER_RELAXED_EXTENDED_INSTRUCTION_FEATURES_KHR,
next: ptr::null_mut(),
shader_relaxed_extended_instruction: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR {}
unsafe impl Sync for PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderReplicatedCompositesFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderReplicatedCompositesFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_replicated_composites: Bool32,
}
impl Default for PhysicalDeviceShaderReplicatedCompositesFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADER_REPLICATED_COMPOSITES_FEATURES_EXT,
next: ptr::null_mut(),
shader_replicated_composites: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShaderReplicatedCompositesFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceShaderReplicatedCompositesFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderSMBuiltinsFeaturesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderSMBuiltinsFeaturesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_sm_builtins: Bool32,
}
impl Default for PhysicalDeviceShaderSMBuiltinsFeaturesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV,
next: ptr::null_mut(),
shader_sm_builtins: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShaderSMBuiltinsFeaturesNV {}
unsafe impl Sync for PhysicalDeviceShaderSMBuiltinsFeaturesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderSMBuiltinsPropertiesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderSMBuiltinsPropertiesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_sm_count: u32,
pub shader_warps_per_sm: u32,
}
impl Default for PhysicalDeviceShaderSMBuiltinsPropertiesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV,
next: ptr::null_mut(),
shader_sm_count: u32::default(),
shader_warps_per_sm: u32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShaderSMBuiltinsPropertiesNV {}
unsafe impl Sync for PhysicalDeviceShaderSMBuiltinsPropertiesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderSubgroupExtendedTypesFeatures {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_subgroup_extended_types: Bool32,
}
impl Default for PhysicalDeviceShaderSubgroupExtendedTypesFeatures {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES,
next: ptr::null_mut(),
shader_subgroup_extended_types: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShaderSubgroupExtendedTypesFeatures {}
unsafe impl Sync for PhysicalDeviceShaderSubgroupExtendedTypesFeatures {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderSubgroupPartitionedFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_subgroup_partitioned: Bool32,
}
impl Default for PhysicalDeviceShaderSubgroupPartitionedFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADER_SUBGROUP_PARTITIONED_FEATURES_EXT,
next: ptr::null_mut(),
shader_subgroup_partitioned: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShaderSubgroupPartitionedFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceShaderSubgroupPartitionedFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderSubgroupRotateFeatures.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderSubgroupRotateFeatures {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_subgroup_rotate: Bool32,
pub shader_subgroup_rotate_clustered: Bool32,
}
impl Default for PhysicalDeviceShaderSubgroupRotateFeatures {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES,
next: ptr::null_mut(),
shader_subgroup_rotate: Bool32::default(),
shader_subgroup_rotate_clustered: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShaderSubgroupRotateFeatures {}
unsafe impl Sync for PhysicalDeviceShaderSubgroupRotateFeatures {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_subgroup_uniform_control_flow: Bool32,
}
impl Default for PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {
#[inline]
fn default() -> Self {
Self {
s_type:
StructureType::PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR,
next: ptr::null_mut(),
shader_subgroup_uniform_control_flow: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {}
unsafe impl Sync for PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderTerminateInvocationFeatures.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderTerminateInvocationFeatures {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_terminate_invocation: Bool32,
}
impl Default for PhysicalDeviceShaderTerminateInvocationFeatures {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES,
next: ptr::null_mut(),
shader_terminate_invocation: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShaderTerminateInvocationFeatures {}
unsafe impl Sync for PhysicalDeviceShaderTerminateInvocationFeatures {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderTileImageFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderTileImageFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_tile_image_color_read_access: Bool32,
pub shader_tile_image_depth_read_access: Bool32,
pub shader_tile_image_stencil_read_access: Bool32,
}
impl Default for PhysicalDeviceShaderTileImageFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADER_TILE_IMAGE_FEATURES_EXT,
next: ptr::null_mut(),
shader_tile_image_color_read_access: Bool32::default(),
shader_tile_image_depth_read_access: Bool32::default(),
shader_tile_image_stencil_read_access: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShaderTileImageFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceShaderTileImageFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderTileImagePropertiesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderTileImagePropertiesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_tile_image_coherent_read_accelerated: Bool32,
pub shader_tile_image_read_sample_from_pixel_rate_invocation: Bool32,
pub shader_tile_image_read_from_helper_invocation: Bool32,
}
impl Default for PhysicalDeviceShaderTileImagePropertiesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADER_TILE_IMAGE_PROPERTIES_EXT,
next: ptr::null_mut(),
shader_tile_image_coherent_read_accelerated: Bool32::default(),
shader_tile_image_read_sample_from_pixel_rate_invocation: Bool32::default(),
shader_tile_image_read_from_helper_invocation: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShaderTileImagePropertiesEXT {}
unsafe impl Sync for PhysicalDeviceShaderTileImagePropertiesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_uniform_buffer_unsized_array: Bool32,
}
impl Default for PhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADER_UNIFORM_BUFFER_UNSIZED_ARRAY_FEATURES_EXT,
next: ptr::null_mut(),
shader_uniform_buffer_unsized_array: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderUntypedPointersFeaturesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShaderUntypedPointersFeaturesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_untyped_pointers: Bool32,
}
impl Default for PhysicalDeviceShaderUntypedPointersFeaturesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADER_UNTYPED_POINTERS_FEATURES_KHR,
next: ptr::null_mut(),
shader_untyped_pointers: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShaderUntypedPointersFeaturesKHR {}
unsafe impl Sync for PhysicalDeviceShaderUntypedPointersFeaturesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShadingRateImageFeaturesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShadingRateImageFeaturesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub shading_rate_image: Bool32,
pub shading_rate_coarse_sample_order: Bool32,
}
impl Default for PhysicalDeviceShadingRateImageFeaturesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV,
next: ptr::null_mut(),
shading_rate_image: Bool32::default(),
shading_rate_coarse_sample_order: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShadingRateImageFeaturesNV {}
unsafe impl Sync for PhysicalDeviceShadingRateImageFeaturesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShadingRateImagePropertiesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceShadingRateImagePropertiesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub shading_rate_texel_size: Extent2D,
pub shading_rate_palette_size: u32,
pub shading_rate_max_coarse_samples: u32,
}
impl Default for PhysicalDeviceShadingRateImagePropertiesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV,
next: ptr::null_mut(),
shading_rate_texel_size: Extent2D::default(),
shading_rate_palette_size: u32::default(),
shading_rate_max_coarse_samples: u32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceShadingRateImagePropertiesNV {}
unsafe impl Sync for PhysicalDeviceShadingRateImagePropertiesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceSparseImageFormatInfo2.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceSparseImageFormatInfo2 {
pub s_type: StructureType,
pub next: *const c_void,
pub format: Format,
pub type_: ImageType,
pub samples: SampleCountFlags,
pub usage: ImageUsageFlags,
pub tiling: ImageTiling,
}
impl Default for PhysicalDeviceSparseImageFormatInfo2 {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2,
next: ptr::null(),
format: Format::default(),
type_: ImageType::default(),
samples: SampleCountFlags::default(),
usage: ImageUsageFlags::default(),
tiling: ImageTiling::default(),
}
}
}
unsafe impl Send for PhysicalDeviceSparseImageFormatInfo2 {}
unsafe impl Sync for PhysicalDeviceSparseImageFormatInfo2 {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceSparseProperties.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceSparseProperties {
pub residency_standard_2d_block_shape: Bool32,
pub residency_standard_2d_multisample_block_shape: Bool32,
pub residency_standard_3d_block_shape: Bool32,
pub residency_aligned_mip_size: Bool32,
pub residency_non_resident_strict: Bool32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceSubgroupProperties.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceSubgroupProperties {
pub s_type: StructureType,
pub next: *mut c_void,
pub subgroup_size: u32,
pub supported_stages: ShaderStageFlags,
pub supported_operations: SubgroupFeatureFlags,
pub quad_operations_in_all_stages: Bool32,
}
impl Default for PhysicalDeviceSubgroupProperties {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SUBGROUP_PROPERTIES,
next: ptr::null_mut(),
subgroup_size: u32::default(),
supported_stages: ShaderStageFlags::default(),
supported_operations: SubgroupFeatureFlags::default(),
quad_operations_in_all_stages: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceSubgroupProperties {}
unsafe impl Sync for PhysicalDeviceSubgroupProperties {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceSubgroupSizeControlFeatures.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceSubgroupSizeControlFeatures {
pub s_type: StructureType,
pub next: *mut c_void,
pub subgroup_size_control: Bool32,
pub compute_full_subgroups: Bool32,
}
impl Default for PhysicalDeviceSubgroupSizeControlFeatures {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES,
next: ptr::null_mut(),
subgroup_size_control: Bool32::default(),
compute_full_subgroups: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceSubgroupSizeControlFeatures {}
unsafe impl Sync for PhysicalDeviceSubgroupSizeControlFeatures {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceSubgroupSizeControlProperties.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceSubgroupSizeControlProperties {
pub s_type: StructureType,
pub next: *mut c_void,
pub min_subgroup_size: u32,
pub max_subgroup_size: u32,
pub max_compute_workgroup_subgroups: u32,
pub required_subgroup_size_stages: ShaderStageFlags,
}
impl Default for PhysicalDeviceSubgroupSizeControlProperties {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_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(),
}
}
}
unsafe impl Send for PhysicalDeviceSubgroupSizeControlProperties {}
unsafe impl Sync for PhysicalDeviceSubgroupSizeControlProperties {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceSubpassMergeFeedbackFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub subpass_merge_feedback: Bool32,
}
impl Default for PhysicalDeviceSubpassMergeFeedbackFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT,
next: ptr::null_mut(),
subpass_merge_feedback: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceSubpassMergeFeedbackFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceSubpassMergeFeedbackFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceSubpassShadingFeaturesHUAWEI.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceSubpassShadingFeaturesHUAWEI {
pub s_type: StructureType,
pub next: *mut c_void,
pub subpass_shading: Bool32,
}
impl Default for PhysicalDeviceSubpassShadingFeaturesHUAWEI {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI,
next: ptr::null_mut(),
subpass_shading: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceSubpassShadingFeaturesHUAWEI {}
unsafe impl Sync for PhysicalDeviceSubpassShadingFeaturesHUAWEI {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceSubpassShadingPropertiesHUAWEI.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceSubpassShadingPropertiesHUAWEI {
pub s_type: StructureType,
pub next: *mut c_void,
pub max_subpass_shading_workgroup_size_aspect_ratio: u32,
}
impl Default for PhysicalDeviceSubpassShadingPropertiesHUAWEI {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI,
next: ptr::null_mut(),
max_subpass_shading_workgroup_size_aspect_ratio: u32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceSubpassShadingPropertiesHUAWEI {}
unsafe impl Sync for PhysicalDeviceSubpassShadingPropertiesHUAWEI {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceSurfaceInfo2KHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceSurfaceInfo2KHR {
pub s_type: StructureType,
pub next: *const c_void,
pub surface: SurfaceKHR,
}
impl Default for PhysicalDeviceSurfaceInfo2KHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SURFACE_INFO_2_KHR,
next: ptr::null(),
surface: SurfaceKHR::default(),
}
}
}
unsafe impl Send for PhysicalDeviceSurfaceInfo2KHR {}
unsafe impl Sync for PhysicalDeviceSurfaceInfo2KHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceSwapchainMaintenance1FeaturesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub swapchain_maintenance1: Bool32,
}
impl Default for PhysicalDeviceSwapchainMaintenance1FeaturesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_KHR,
next: ptr::null_mut(),
swapchain_maintenance1: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceSwapchainMaintenance1FeaturesKHR {}
unsafe impl Sync for PhysicalDeviceSwapchainMaintenance1FeaturesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceSynchronization2Features.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceSynchronization2Features {
pub s_type: StructureType,
pub next: *mut c_void,
pub synchronization2: Bool32,
}
impl Default for PhysicalDeviceSynchronization2Features {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES,
next: ptr::null_mut(),
synchronization2: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceSynchronization2Features {}
unsafe impl Sync for PhysicalDeviceSynchronization2Features {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceTensorFeaturesARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceTensorFeaturesARM {
pub s_type: StructureType,
pub next: *mut c_void,
pub tensor_non_packed: Bool32,
pub shader_tensor_access: Bool32,
pub shader_storage_tensor_array_dynamic_indexing: Bool32,
pub shader_storage_tensor_array_non_uniform_indexing: Bool32,
pub descriptor_binding_storage_tensor_update_after_bind: Bool32,
pub tensors: Bool32,
}
impl Default for PhysicalDeviceTensorFeaturesARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_TENSOR_FEATURES_ARM,
next: ptr::null_mut(),
tensor_non_packed: Bool32::default(),
shader_tensor_access: Bool32::default(),
shader_storage_tensor_array_dynamic_indexing: Bool32::default(),
shader_storage_tensor_array_non_uniform_indexing: Bool32::default(),
descriptor_binding_storage_tensor_update_after_bind: Bool32::default(),
tensors: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceTensorFeaturesARM {}
unsafe impl Sync for PhysicalDeviceTensorFeaturesARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceTensorPropertiesARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceTensorPropertiesARM {
pub s_type: StructureType,
pub next: *mut c_void,
pub max_tensor_dimension_count: u32,
pub max_tensor_elements: u64,
pub max_per_dimension_tensor_elements: u64,
pub max_tensor_stride: i64,
pub max_tensor_size: u64,
pub max_tensor_shader_access_array_length: u32,
pub max_tensor_shader_access_size: u32,
pub max_descriptor_set_storage_tensors: u32,
pub max_per_stage_descriptor_set_storage_tensors: u32,
pub max_descriptor_set_update_after_bind_storage_tensors: u32,
pub max_per_stage_descriptor_update_after_bind_storage_tensors: u32,
pub shader_storage_tensor_array_non_uniform_indexing_native: Bool32,
pub shader_tensor_supported_stages: ShaderStageFlags,
}
impl Default for PhysicalDeviceTensorPropertiesARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_TENSOR_PROPERTIES_ARM,
next: ptr::null_mut(),
max_tensor_dimension_count: u32::default(),
max_tensor_elements: u64::default(),
max_per_dimension_tensor_elements: u64::default(),
max_tensor_stride: i64::default(),
max_tensor_size: u64::default(),
max_tensor_shader_access_array_length: u32::default(),
max_tensor_shader_access_size: u32::default(),
max_descriptor_set_storage_tensors: u32::default(),
max_per_stage_descriptor_set_storage_tensors: u32::default(),
max_descriptor_set_update_after_bind_storage_tensors: u32::default(),
max_per_stage_descriptor_update_after_bind_storage_tensors: u32::default(),
shader_storage_tensor_array_non_uniform_indexing_native: Bool32::default(),
shader_tensor_supported_stages: ShaderStageFlags::default(),
}
}
}
unsafe impl Send for PhysicalDeviceTensorPropertiesARM {}
unsafe impl Sync for PhysicalDeviceTensorPropertiesARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceTexelBufferAlignmentFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub texel_buffer_alignment: Bool32,
}
impl Default for PhysicalDeviceTexelBufferAlignmentFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT,
next: ptr::null_mut(),
texel_buffer_alignment: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceTexelBufferAlignmentFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceTexelBufferAlignmentFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceTexelBufferAlignmentProperties.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceTexelBufferAlignmentProperties {
pub s_type: StructureType,
pub next: *mut c_void,
pub storage_texel_buffer_offset_alignment_bytes: DeviceSize,
pub storage_texel_buffer_offset_single_texel_alignment: Bool32,
pub uniform_texel_buffer_offset_alignment_bytes: DeviceSize,
pub uniform_texel_buffer_offset_single_texel_alignment: Bool32,
}
impl Default for PhysicalDeviceTexelBufferAlignmentProperties {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES,
next: ptr::null_mut(),
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(),
}
}
}
unsafe impl Send for PhysicalDeviceTexelBufferAlignmentProperties {}
unsafe impl Sync for PhysicalDeviceTexelBufferAlignmentProperties {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceTextureCompressionASTC3DFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub textureCompressionASTC_3D: Bool32,
}
impl Default for PhysicalDeviceTextureCompressionASTC3DFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_3D_FEATURES_EXT,
next: ptr::null_mut(),
textureCompressionASTC_3D: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceTextureCompressionASTC3DFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceTextureCompressionASTC3DFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceTextureCompressionASTCHDRFeatures.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceTextureCompressionASTCHDRFeatures {
pub s_type: StructureType,
pub next: *mut c_void,
pub texture_compression_astc_hdr: Bool32,
}
impl Default for PhysicalDeviceTextureCompressionASTCHDRFeatures {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES,
next: ptr::null_mut(),
texture_compression_astc_hdr: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceTextureCompressionASTCHDRFeatures {}
unsafe impl Sync for PhysicalDeviceTextureCompressionASTCHDRFeatures {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceTileMemoryHeapFeaturesQCOM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceTileMemoryHeapFeaturesQCOM {
pub s_type: StructureType,
pub next: *mut c_void,
pub tile_memory_heap: Bool32,
}
impl Default for PhysicalDeviceTileMemoryHeapFeaturesQCOM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_TILE_MEMORY_HEAP_FEATURES_QCOM,
next: ptr::null_mut(),
tile_memory_heap: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceTileMemoryHeapFeaturesQCOM {}
unsafe impl Sync for PhysicalDeviceTileMemoryHeapFeaturesQCOM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceTileMemoryHeapPropertiesQCOM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceTileMemoryHeapPropertiesQCOM {
pub s_type: StructureType,
pub next: *mut c_void,
pub queue_submit_boundary: Bool32,
pub tile_buffer_transfers: Bool32,
}
impl Default for PhysicalDeviceTileMemoryHeapPropertiesQCOM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_TILE_MEMORY_HEAP_PROPERTIES_QCOM,
next: ptr::null_mut(),
queue_submit_boundary: Bool32::default(),
tile_buffer_transfers: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceTileMemoryHeapPropertiesQCOM {}
unsafe impl Sync for PhysicalDeviceTileMemoryHeapPropertiesQCOM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceTilePropertiesFeaturesQCOM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceTilePropertiesFeaturesQCOM {
pub s_type: StructureType,
pub next: *mut c_void,
pub tile_properties: Bool32,
}
impl Default for PhysicalDeviceTilePropertiesFeaturesQCOM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM,
next: ptr::null_mut(),
tile_properties: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceTilePropertiesFeaturesQCOM {}
unsafe impl Sync for PhysicalDeviceTilePropertiesFeaturesQCOM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceTileShadingFeaturesQCOM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceTileShadingFeaturesQCOM {
pub s_type: StructureType,
pub next: *mut c_void,
pub tile_shading: Bool32,
pub tile_shading_fragment_stage: Bool32,
pub tile_shading_color_attachments: Bool32,
pub tile_shading_depth_attachments: Bool32,
pub tile_shading_stencil_attachments: Bool32,
pub tile_shading_input_attachments: Bool32,
pub tile_shading_sampled_attachments: Bool32,
pub tile_shading_per_tile_draw: Bool32,
pub tile_shading_per_tile_dispatch: Bool32,
pub tile_shading_dispatch_tile: Bool32,
pub tile_shading_apron: Bool32,
pub tile_shading_anisotropic_apron: Bool32,
pub tile_shading_atomic_ops: Bool32,
pub tile_shading_image_processing: Bool32,
}
impl Default for PhysicalDeviceTileShadingFeaturesQCOM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_TILE_SHADING_FEATURES_QCOM,
next: ptr::null_mut(),
tile_shading: Bool32::default(),
tile_shading_fragment_stage: Bool32::default(),
tile_shading_color_attachments: Bool32::default(),
tile_shading_depth_attachments: Bool32::default(),
tile_shading_stencil_attachments: Bool32::default(),
tile_shading_input_attachments: Bool32::default(),
tile_shading_sampled_attachments: Bool32::default(),
tile_shading_per_tile_draw: Bool32::default(),
tile_shading_per_tile_dispatch: Bool32::default(),
tile_shading_dispatch_tile: Bool32::default(),
tile_shading_apron: Bool32::default(),
tile_shading_anisotropic_apron: Bool32::default(),
tile_shading_atomic_ops: Bool32::default(),
tile_shading_image_processing: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceTileShadingFeaturesQCOM {}
unsafe impl Sync for PhysicalDeviceTileShadingFeaturesQCOM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceTileShadingPropertiesQCOM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceTileShadingPropertiesQCOM {
pub s_type: StructureType,
pub next: *mut c_void,
pub max_apron_size: u32,
pub prefer_non_coherent: Bool32,
pub tile_granularity: Extent2D,
pub max_tile_shading_rate: Extent2D,
}
impl Default for PhysicalDeviceTileShadingPropertiesQCOM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_TILE_SHADING_PROPERTIES_QCOM,
next: ptr::null_mut(),
max_apron_size: u32::default(),
prefer_non_coherent: Bool32::default(),
tile_granularity: Extent2D::default(),
max_tile_shading_rate: Extent2D::default(),
}
}
}
unsafe impl Send for PhysicalDeviceTileShadingPropertiesQCOM {}
unsafe impl Sync for PhysicalDeviceTileShadingPropertiesQCOM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceTimelineSemaphoreFeatures.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceTimelineSemaphoreFeatures {
pub s_type: StructureType,
pub next: *mut c_void,
pub timeline_semaphore: Bool32,
}
impl Default for PhysicalDeviceTimelineSemaphoreFeatures {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES,
next: ptr::null_mut(),
timeline_semaphore: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceTimelineSemaphoreFeatures {}
unsafe impl Sync for PhysicalDeviceTimelineSemaphoreFeatures {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceTimelineSemaphoreProperties.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceTimelineSemaphoreProperties {
pub s_type: StructureType,
pub next: *mut c_void,
pub max_timeline_semaphore_value_difference: u64,
}
impl Default for PhysicalDeviceTimelineSemaphoreProperties {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES,
next: ptr::null_mut(),
max_timeline_semaphore_value_difference: u64::default(),
}
}
}
unsafe impl Send for PhysicalDeviceTimelineSemaphoreProperties {}
unsafe impl Sync for PhysicalDeviceTimelineSemaphoreProperties {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceToolProperties.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceToolProperties {
pub s_type: StructureType,
pub next: *mut c_void,
pub name: StringArray<MAX_EXTENSION_NAME_SIZE>,
pub version: StringArray<MAX_EXTENSION_NAME_SIZE>,
pub purposes: ToolPurposeFlags,
pub description: StringArray<MAX_DESCRIPTION_SIZE>,
pub layer: StringArray<MAX_EXTENSION_NAME_SIZE>,
}
impl Default for PhysicalDeviceToolProperties {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_TOOL_PROPERTIES,
next: ptr::null_mut(),
name: StringArray::default(),
version: StringArray::default(),
purposes: ToolPurposeFlags::default(),
description: StringArray::default(),
layer: StringArray::default(),
}
}
}
unsafe impl Send for PhysicalDeviceToolProperties {}
unsafe impl Sync for PhysicalDeviceToolProperties {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceTransformFeedbackFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceTransformFeedbackFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub transform_feedback: Bool32,
pub geometry_streams: Bool32,
}
impl Default for PhysicalDeviceTransformFeedbackFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT,
next: ptr::null_mut(),
transform_feedback: Bool32::default(),
geometry_streams: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceTransformFeedbackFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceTransformFeedbackFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceTransformFeedbackPropertiesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceTransformFeedbackPropertiesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub max_transform_feedback_streams: u32,
pub max_transform_feedback_buffers: u32,
pub max_transform_feedback_buffer_size: DeviceSize,
pub max_transform_feedback_stream_data_size: u32,
pub max_transform_feedback_buffer_data_size: u32,
pub max_transform_feedback_buffer_data_stride: u32,
pub transform_feedback_queries: Bool32,
pub transform_feedback_streams_lines_triangles: Bool32,
pub transform_feedback_rasterization_stream_select: Bool32,
pub transform_feedback_draw: Bool32,
}
impl Default for PhysicalDeviceTransformFeedbackPropertiesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT,
next: ptr::null_mut(),
max_transform_feedback_streams: u32::default(),
max_transform_feedback_buffers: u32::default(),
max_transform_feedback_buffer_size: DeviceSize::default(),
max_transform_feedback_stream_data_size: u32::default(),
max_transform_feedback_buffer_data_size: u32::default(),
max_transform_feedback_buffer_data_stride: u32::default(),
transform_feedback_queries: Bool32::default(),
transform_feedback_streams_lines_triangles: Bool32::default(),
transform_feedback_rasterization_stream_select: Bool32::default(),
transform_feedback_draw: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceTransformFeedbackPropertiesEXT {}
unsafe impl Sync for PhysicalDeviceTransformFeedbackPropertiesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceUnifiedImageLayoutsFeaturesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceUnifiedImageLayoutsFeaturesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub unified_image_layouts: Bool32,
pub unified_image_layouts_video: Bool32,
}
impl Default for PhysicalDeviceUnifiedImageLayoutsFeaturesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_UNIFIED_IMAGE_LAYOUTS_FEATURES_KHR,
next: ptr::null_mut(),
unified_image_layouts: Bool32::default(),
unified_image_layouts_video: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceUnifiedImageLayoutsFeaturesKHR {}
unsafe impl Sync for PhysicalDeviceUnifiedImageLayoutsFeaturesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceUniformBufferStandardLayoutFeatures.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceUniformBufferStandardLayoutFeatures {
pub s_type: StructureType,
pub next: *mut c_void,
pub uniform_buffer_standard_layout: Bool32,
}
impl Default for PhysicalDeviceUniformBufferStandardLayoutFeatures {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES,
next: ptr::null_mut(),
uniform_buffer_standard_layout: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceUniformBufferStandardLayoutFeatures {}
unsafe impl Sync for PhysicalDeviceUniformBufferStandardLayoutFeatures {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceVariablePointersFeatures.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceVariablePointersFeatures {
pub s_type: StructureType,
pub next: *mut c_void,
pub variable_pointers_storage_buffer: Bool32,
pub variable_pointers: Bool32,
}
impl Default for PhysicalDeviceVariablePointersFeatures {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
next: ptr::null_mut(),
variable_pointers_storage_buffer: Bool32::default(),
variable_pointers: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceVariablePointersFeatures {}
unsafe impl Sync for PhysicalDeviceVariablePointersFeatures {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceVertexAttributeDivisorFeatures.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceVertexAttributeDivisorFeatures {
pub s_type: StructureType,
pub next: *mut c_void,
pub vertex_attribute_instance_rate_divisor: Bool32,
pub vertex_attribute_instance_rate_zero_divisor: Bool32,
}
impl Default for PhysicalDeviceVertexAttributeDivisorFeatures {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES,
next: ptr::null_mut(),
vertex_attribute_instance_rate_divisor: Bool32::default(),
vertex_attribute_instance_rate_zero_divisor: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceVertexAttributeDivisorFeatures {}
unsafe impl Sync for PhysicalDeviceVertexAttributeDivisorFeatures {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceVertexAttributeDivisorProperties.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceVertexAttributeDivisorProperties {
pub s_type: StructureType,
pub next: *mut c_void,
pub max_vertex_attrib_divisor: u32,
pub supports_non_zero_first_instance: Bool32,
}
impl Default for PhysicalDeviceVertexAttributeDivisorProperties {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES,
next: ptr::null_mut(),
max_vertex_attrib_divisor: u32::default(),
supports_non_zero_first_instance: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceVertexAttributeDivisorProperties {}
unsafe impl Sync for PhysicalDeviceVertexAttributeDivisorProperties {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceVertexAttributeDivisorPropertiesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub max_vertex_attrib_divisor: u32,
}
impl Default for PhysicalDeviceVertexAttributeDivisorPropertiesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT,
next: ptr::null_mut(),
max_vertex_attrib_divisor: u32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceVertexAttributeDivisorPropertiesEXT {}
unsafe impl Sync for PhysicalDeviceVertexAttributeDivisorPropertiesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceVertexAttributeRobustnessFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceVertexAttributeRobustnessFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub vertex_attribute_robustness: Bool32,
}
impl Default for PhysicalDeviceVertexAttributeRobustnessFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_ROBUSTNESS_FEATURES_EXT,
next: ptr::null_mut(),
vertex_attribute_robustness: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceVertexAttributeRobustnessFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceVertexAttributeRobustnessFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceVertexInputDynamicStateFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub vertex_input_dynamic_state: Bool32,
}
impl Default for PhysicalDeviceVertexInputDynamicStateFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT,
next: ptr::null_mut(),
vertex_input_dynamic_state: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceVertexInputDynamicStateFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceVertexInputDynamicStateFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceVideoDecodeVP9FeaturesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceVideoDecodeVP9FeaturesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub video_decode_vp9: Bool32,
}
impl Default for PhysicalDeviceVideoDecodeVP9FeaturesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_VIDEO_DECODE_VP9_FEATURES_KHR,
next: ptr::null_mut(),
video_decode_vp9: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceVideoDecodeVP9FeaturesKHR {}
unsafe impl Sync for PhysicalDeviceVideoDecodeVP9FeaturesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceVideoEncodeAV1FeaturesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceVideoEncodeAV1FeaturesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub video_encode_av1: Bool32,
}
impl Default for PhysicalDeviceVideoEncodeAV1FeaturesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_VIDEO_ENCODE_AV1_FEATURES_KHR,
next: ptr::null_mut(),
video_encode_av1: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceVideoEncodeAV1FeaturesKHR {}
unsafe impl Sync for PhysicalDeviceVideoEncodeAV1FeaturesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub video_encode_intra_refresh: Bool32,
}
impl Default for PhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_VIDEO_ENCODE_INTRA_REFRESH_FEATURES_KHR,
next: ptr::null_mut(),
video_encode_intra_refresh: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR {}
unsafe impl Sync for PhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceVideoEncodeQualityLevelInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub video_profile: *const VideoProfileInfoKHR,
pub quality_level: u32,
}
impl Default for PhysicalDeviceVideoEncodeQualityLevelInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR,
next: ptr::null(),
video_profile: ptr::null(),
quality_level: u32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceVideoEncodeQualityLevelInfoKHR {}
unsafe impl Sync for PhysicalDeviceVideoEncodeQualityLevelInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub video_encode_quantization_map: Bool32,
}
impl Default for PhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_VIDEO_ENCODE_QUANTIZATION_MAP_FEATURES_KHR,
next: ptr::null_mut(),
video_encode_quantization_map: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR {}
unsafe impl Sync for PhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE {
pub s_type: StructureType,
pub next: *mut c_void,
pub video_encode_rgb_conversion: Bool32,
}
impl Default for PhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_VIDEO_ENCODE_RGB_CONVERSION_FEATURES_VALVE,
next: ptr::null_mut(),
video_encode_rgb_conversion: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE {}
unsafe impl Sync for PhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceVideoFormatInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceVideoFormatInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub image_usage: ImageUsageFlags,
}
impl Default for PhysicalDeviceVideoFormatInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR,
next: ptr::null(),
image_usage: ImageUsageFlags::default(),
}
}
}
unsafe impl Send for PhysicalDeviceVideoFormatInfoKHR {}
unsafe impl Sync for PhysicalDeviceVideoFormatInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceVideoMaintenance1FeaturesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceVideoMaintenance1FeaturesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub video_maintenance1: Bool32,
}
impl Default for PhysicalDeviceVideoMaintenance1FeaturesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_VIDEO_MAINTENANCE_1_FEATURES_KHR,
next: ptr::null_mut(),
video_maintenance1: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceVideoMaintenance1FeaturesKHR {}
unsafe impl Sync for PhysicalDeviceVideoMaintenance1FeaturesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceVideoMaintenance2FeaturesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceVideoMaintenance2FeaturesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub video_maintenance2: Bool32,
}
impl Default for PhysicalDeviceVideoMaintenance2FeaturesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_VIDEO_MAINTENANCE_2_FEATURES_KHR,
next: ptr::null_mut(),
video_maintenance2: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceVideoMaintenance2FeaturesKHR {}
unsafe impl Sync for PhysicalDeviceVideoMaintenance2FeaturesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceVulkan11Features.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceVulkan11Features {
pub s_type: StructureType,
pub next: *mut c_void,
pub storage_buffer_16bit_access: Bool32,
pub uniform_and_storage_buffer_16bit_access: Bool32,
pub storage_push_constant16: Bool32,
pub storage_input_output16: Bool32,
pub multiview: Bool32,
pub multiview_geometry_shader: Bool32,
pub multiview_tessellation_shader: Bool32,
pub variable_pointers_storage_buffer: Bool32,
pub variable_pointers: Bool32,
pub protected_memory: Bool32,
pub sampler_ycbcr_conversion: Bool32,
pub shader_draw_parameters: Bool32,
}
impl Default for PhysicalDeviceVulkan11Features {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_1_FEATURES,
next: ptr::null_mut(),
storage_buffer_16bit_access: Bool32::default(),
uniform_and_storage_buffer_16bit_access: Bool32::default(),
storage_push_constant16: Bool32::default(),
storage_input_output16: Bool32::default(),
multiview: Bool32::default(),
multiview_geometry_shader: Bool32::default(),
multiview_tessellation_shader: Bool32::default(),
variable_pointers_storage_buffer: Bool32::default(),
variable_pointers: Bool32::default(),
protected_memory: Bool32::default(),
sampler_ycbcr_conversion: Bool32::default(),
shader_draw_parameters: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceVulkan11Features {}
unsafe impl Sync for PhysicalDeviceVulkan11Features {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceVulkan11Properties.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceVulkan11Properties {
pub s_type: StructureType,
pub next: *mut c_void,
pub device_uuid: ByteArray<UUID_SIZE>,
pub driver_uuid: ByteArray<UUID_SIZE>,
pub device_luid: ByteArray<LUID_SIZE>,
pub device_node_mask: u32,
pub device_luid_valid: Bool32,
pub subgroup_size: u32,
pub subgroup_supported_stages: ShaderStageFlags,
pub subgroup_supported_operations: SubgroupFeatureFlags,
pub subgroup_quad_operations_in_all_stages: Bool32,
pub point_clipping_behavior: PointClippingBehavior,
pub max_multiview_view_count: u32,
pub max_multiview_instance_index: u32,
pub protected_no_fault: Bool32,
pub max_per_set_descriptors: u32,
pub max_memory_allocation_size: DeviceSize,
}
impl Default for PhysicalDeviceVulkan11Properties {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES,
next: ptr::null_mut(),
device_uuid: ByteArray::default(),
driver_uuid: ByteArray::default(),
device_luid: ByteArray::default(),
device_node_mask: u32::default(),
device_luid_valid: Bool32::default(),
subgroup_size: u32::default(),
subgroup_supported_stages: ShaderStageFlags::default(),
subgroup_supported_operations: SubgroupFeatureFlags::default(),
subgroup_quad_operations_in_all_stages: Bool32::default(),
point_clipping_behavior: PointClippingBehavior::default(),
max_multiview_view_count: u32::default(),
max_multiview_instance_index: u32::default(),
protected_no_fault: Bool32::default(),
max_per_set_descriptors: u32::default(),
max_memory_allocation_size: DeviceSize::default(),
}
}
}
unsafe impl Send for PhysicalDeviceVulkan11Properties {}
unsafe impl Sync for PhysicalDeviceVulkan11Properties {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceVulkan12Features.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceVulkan12Features {
pub s_type: StructureType,
pub next: *mut c_void,
pub sampler_mirror_clamp_to_edge: Bool32,
pub draw_indirect_count: Bool32,
pub storage_buffer_8bit_access: Bool32,
pub uniform_and_storage_buffer_8bit_access: Bool32,
pub storage_push_constant8: Bool32,
pub shader_buffer_int64_atomics: Bool32,
pub shader_shared_int64_atomics: Bool32,
pub shader_float16: Bool32,
pub shader_int8: Bool32,
pub descriptor_indexing: Bool32,
pub shader_input_attachment_array_dynamic_indexing: Bool32,
pub shader_uniform_texel_buffer_array_dynamic_indexing: Bool32,
pub shader_storage_texel_buffer_array_dynamic_indexing: Bool32,
pub shader_uniform_buffer_array_non_uniform_indexing: Bool32,
pub shader_sampled_image_array_non_uniform_indexing: Bool32,
pub shader_storage_buffer_array_non_uniform_indexing: Bool32,
pub shader_storage_image_array_non_uniform_indexing: Bool32,
pub shader_input_attachment_array_non_uniform_indexing: Bool32,
pub shader_uniform_texel_buffer_array_non_uniform_indexing: Bool32,
pub shader_storage_texel_buffer_array_non_uniform_indexing: Bool32,
pub descriptor_binding_uniform_buffer_update_after_bind: Bool32,
pub descriptor_binding_sampled_image_update_after_bind: Bool32,
pub descriptor_binding_storage_image_update_after_bind: Bool32,
pub descriptor_binding_storage_buffer_update_after_bind: Bool32,
pub descriptor_binding_uniform_texel_buffer_update_after_bind: Bool32,
pub descriptor_binding_storage_texel_buffer_update_after_bind: Bool32,
pub descriptor_binding_update_unused_while_pending: Bool32,
pub descriptor_binding_partially_bound: Bool32,
pub descriptor_binding_variable_descriptor_count: Bool32,
pub runtime_descriptor_array: Bool32,
pub sampler_filter_minmax: Bool32,
pub scalar_block_layout: Bool32,
pub imageless_framebuffer: Bool32,
pub uniform_buffer_standard_layout: Bool32,
pub shader_subgroup_extended_types: Bool32,
pub separate_depth_stencil_layouts: Bool32,
pub host_query_reset: Bool32,
pub timeline_semaphore: Bool32,
pub buffer_device_address: Bool32,
pub buffer_device_address_capture_replay: Bool32,
pub buffer_device_address_multi_device: Bool32,
pub vulkan_memory_model: Bool32,
pub vulkan_memory_model_device_scope: Bool32,
pub vulkan_memory_model_availability_visibility_chains: Bool32,
pub shader_output_viewport_index: Bool32,
pub shader_output_layer: Bool32,
pub subgroup_broadcast_dynamic_id: Bool32,
}
impl Default for PhysicalDeviceVulkan12Features {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_2_FEATURES,
next: ptr::null_mut(),
sampler_mirror_clamp_to_edge: Bool32::default(),
draw_indirect_count: Bool32::default(),
storage_buffer_8bit_access: Bool32::default(),
uniform_and_storage_buffer_8bit_access: Bool32::default(),
storage_push_constant8: Bool32::default(),
shader_buffer_int64_atomics: Bool32::default(),
shader_shared_int64_atomics: Bool32::default(),
shader_float16: Bool32::default(),
shader_int8: Bool32::default(),
descriptor_indexing: Bool32::default(),
shader_input_attachment_array_dynamic_indexing: Bool32::default(),
shader_uniform_texel_buffer_array_dynamic_indexing: Bool32::default(),
shader_storage_texel_buffer_array_dynamic_indexing: Bool32::default(),
shader_uniform_buffer_array_non_uniform_indexing: Bool32::default(),
shader_sampled_image_array_non_uniform_indexing: Bool32::default(),
shader_storage_buffer_array_non_uniform_indexing: Bool32::default(),
shader_storage_image_array_non_uniform_indexing: Bool32::default(),
shader_input_attachment_array_non_uniform_indexing: Bool32::default(),
shader_uniform_texel_buffer_array_non_uniform_indexing: Bool32::default(),
shader_storage_texel_buffer_array_non_uniform_indexing: Bool32::default(),
descriptor_binding_uniform_buffer_update_after_bind: Bool32::default(),
descriptor_binding_sampled_image_update_after_bind: Bool32::default(),
descriptor_binding_storage_image_update_after_bind: Bool32::default(),
descriptor_binding_storage_buffer_update_after_bind: Bool32::default(),
descriptor_binding_uniform_texel_buffer_update_after_bind: Bool32::default(),
descriptor_binding_storage_texel_buffer_update_after_bind: Bool32::default(),
descriptor_binding_update_unused_while_pending: Bool32::default(),
descriptor_binding_partially_bound: Bool32::default(),
descriptor_binding_variable_descriptor_count: Bool32::default(),
runtime_descriptor_array: Bool32::default(),
sampler_filter_minmax: Bool32::default(),
scalar_block_layout: Bool32::default(),
imageless_framebuffer: Bool32::default(),
uniform_buffer_standard_layout: Bool32::default(),
shader_subgroup_extended_types: Bool32::default(),
separate_depth_stencil_layouts: Bool32::default(),
host_query_reset: Bool32::default(),
timeline_semaphore: Bool32::default(),
buffer_device_address: Bool32::default(),
buffer_device_address_capture_replay: Bool32::default(),
buffer_device_address_multi_device: Bool32::default(),
vulkan_memory_model: Bool32::default(),
vulkan_memory_model_device_scope: Bool32::default(),
vulkan_memory_model_availability_visibility_chains: Bool32::default(),
shader_output_viewport_index: Bool32::default(),
shader_output_layer: Bool32::default(),
subgroup_broadcast_dynamic_id: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceVulkan12Features {}
unsafe impl Sync for PhysicalDeviceVulkan12Features {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceVulkan12Properties.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceVulkan12Properties {
pub s_type: StructureType,
pub next: *mut c_void,
pub driver_id: DriverId,
pub driver_name: StringArray<MAX_DRIVER_NAME_SIZE>,
pub driver_info: StringArray<MAX_DRIVER_INFO_SIZE>,
pub conformance_version: ConformanceVersion,
pub denorm_behavior_independence: ShaderFloatControlsIndependence,
pub rounding_mode_independence: ShaderFloatControlsIndependence,
pub shader_signed_zero_inf_nan_preserve_float16: Bool32,
pub shader_signed_zero_inf_nan_preserve_float32: Bool32,
pub shader_signed_zero_inf_nan_preserve_float64: Bool32,
pub shader_denorm_preserve_float16: Bool32,
pub shader_denorm_preserve_float32: Bool32,
pub shader_denorm_preserve_float64: Bool32,
pub shader_denorm_flush_to_zero_float16: Bool32,
pub shader_denorm_flush_to_zero_float32: Bool32,
pub shader_denorm_flush_to_zero_float64: Bool32,
pub shader_rounding_mode_rte_float16: Bool32,
pub shader_rounding_mode_rte_float32: Bool32,
pub shader_rounding_mode_rte_float64: Bool32,
pub shader_rounding_mode_rtz_float16: Bool32,
pub shader_rounding_mode_rtz_float32: Bool32,
pub shader_rounding_mode_rtz_float64: Bool32,
pub max_update_after_bind_descriptors_in_all_pools: u32,
pub shader_uniform_buffer_array_non_uniform_indexing_native: Bool32,
pub shader_sampled_image_array_non_uniform_indexing_native: Bool32,
pub shader_storage_buffer_array_non_uniform_indexing_native: Bool32,
pub shader_storage_image_array_non_uniform_indexing_native: Bool32,
pub shader_input_attachment_array_non_uniform_indexing_native: Bool32,
pub robust_buffer_access_update_after_bind: Bool32,
pub quad_divergent_implicit_lod: Bool32,
pub max_per_stage_descriptor_update_after_bind_samplers: u32,
pub max_per_stage_descriptor_update_after_bind_uniform_buffers: u32,
pub max_per_stage_descriptor_update_after_bind_storage_buffers: u32,
pub max_per_stage_descriptor_update_after_bind_sampled_images: u32,
pub max_per_stage_descriptor_update_after_bind_storage_images: u32,
pub max_per_stage_descriptor_update_after_bind_input_attachments: u32,
pub max_per_stage_update_after_bind_resources: u32,
pub max_descriptor_set_update_after_bind_samplers: u32,
pub max_descriptor_set_update_after_bind_uniform_buffers: u32,
pub max_descriptor_set_update_after_bind_uniform_buffers_dynamic: u32,
pub max_descriptor_set_update_after_bind_storage_buffers: u32,
pub max_descriptor_set_update_after_bind_storage_buffers_dynamic: u32,
pub max_descriptor_set_update_after_bind_sampled_images: u32,
pub max_descriptor_set_update_after_bind_storage_images: u32,
pub max_descriptor_set_update_after_bind_input_attachments: u32,
pub supported_depth_resolve_modes: ResolveModeFlags,
pub supported_stencil_resolve_modes: ResolveModeFlags,
pub independent_resolve_none: Bool32,
pub independent_resolve: Bool32,
pub filter_minmax_single_component_formats: Bool32,
pub filter_minmax_image_component_mapping: Bool32,
pub max_timeline_semaphore_value_difference: u64,
pub framebuffer_integer_color_sample_counts: SampleCountFlags,
}
impl Default for PhysicalDeviceVulkan12Properties {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES,
next: ptr::null_mut(),
driver_id: DriverId::default(),
driver_name: StringArray::default(),
driver_info: StringArray::default(),
conformance_version: ConformanceVersion::default(),
denorm_behavior_independence: ShaderFloatControlsIndependence::default(),
rounding_mode_independence: ShaderFloatControlsIndependence::default(),
shader_signed_zero_inf_nan_preserve_float16: Bool32::default(),
shader_signed_zero_inf_nan_preserve_float32: Bool32::default(),
shader_signed_zero_inf_nan_preserve_float64: Bool32::default(),
shader_denorm_preserve_float16: Bool32::default(),
shader_denorm_preserve_float32: Bool32::default(),
shader_denorm_preserve_float64: Bool32::default(),
shader_denorm_flush_to_zero_float16: Bool32::default(),
shader_denorm_flush_to_zero_float32: Bool32::default(),
shader_denorm_flush_to_zero_float64: Bool32::default(),
shader_rounding_mode_rte_float16: Bool32::default(),
shader_rounding_mode_rte_float32: Bool32::default(),
shader_rounding_mode_rte_float64: Bool32::default(),
shader_rounding_mode_rtz_float16: Bool32::default(),
shader_rounding_mode_rtz_float32: Bool32::default(),
shader_rounding_mode_rtz_float64: Bool32::default(),
max_update_after_bind_descriptors_in_all_pools: u32::default(),
shader_uniform_buffer_array_non_uniform_indexing_native: Bool32::default(),
shader_sampled_image_array_non_uniform_indexing_native: Bool32::default(),
shader_storage_buffer_array_non_uniform_indexing_native: Bool32::default(),
shader_storage_image_array_non_uniform_indexing_native: Bool32::default(),
shader_input_attachment_array_non_uniform_indexing_native: Bool32::default(),
robust_buffer_access_update_after_bind: Bool32::default(),
quad_divergent_implicit_lod: Bool32::default(),
max_per_stage_descriptor_update_after_bind_samplers: u32::default(),
max_per_stage_descriptor_update_after_bind_uniform_buffers: u32::default(),
max_per_stage_descriptor_update_after_bind_storage_buffers: u32::default(),
max_per_stage_descriptor_update_after_bind_sampled_images: u32::default(),
max_per_stage_descriptor_update_after_bind_storage_images: u32::default(),
max_per_stage_descriptor_update_after_bind_input_attachments: u32::default(),
max_per_stage_update_after_bind_resources: u32::default(),
max_descriptor_set_update_after_bind_samplers: u32::default(),
max_descriptor_set_update_after_bind_uniform_buffers: u32::default(),
max_descriptor_set_update_after_bind_uniform_buffers_dynamic: u32::default(),
max_descriptor_set_update_after_bind_storage_buffers: u32::default(),
max_descriptor_set_update_after_bind_storage_buffers_dynamic: u32::default(),
max_descriptor_set_update_after_bind_sampled_images: u32::default(),
max_descriptor_set_update_after_bind_storage_images: u32::default(),
max_descriptor_set_update_after_bind_input_attachments: u32::default(),
supported_depth_resolve_modes: ResolveModeFlags::default(),
supported_stencil_resolve_modes: ResolveModeFlags::default(),
independent_resolve_none: Bool32::default(),
independent_resolve: Bool32::default(),
filter_minmax_single_component_formats: Bool32::default(),
filter_minmax_image_component_mapping: Bool32::default(),
max_timeline_semaphore_value_difference: u64::default(),
framebuffer_integer_color_sample_counts: SampleCountFlags::default(),
}
}
}
unsafe impl Send for PhysicalDeviceVulkan12Properties {}
unsafe impl Sync for PhysicalDeviceVulkan12Properties {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceVulkan13Features.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceVulkan13Features {
pub s_type: StructureType,
pub next: *mut c_void,
pub robust_image_access: Bool32,
pub inline_uniform_block: Bool32,
pub descriptor_binding_inline_uniform_block_update_after_bind: Bool32,
pub pipeline_creation_cache_control: Bool32,
pub private_data: Bool32,
pub shader_demote_to_helper_invocation: Bool32,
pub shader_terminate_invocation: Bool32,
pub subgroup_size_control: Bool32,
pub compute_full_subgroups: Bool32,
pub synchronization2: Bool32,
pub texture_compression_astc_hdr: Bool32,
pub shader_zero_initialize_workgroup_memory: Bool32,
pub dynamic_rendering: Bool32,
pub shader_integer_dot_product: Bool32,
pub maintenance4: Bool32,
}
impl Default for PhysicalDeviceVulkan13Features {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_3_FEATURES,
next: ptr::null_mut(),
robust_image_access: Bool32::default(),
inline_uniform_block: Bool32::default(),
descriptor_binding_inline_uniform_block_update_after_bind: Bool32::default(),
pipeline_creation_cache_control: Bool32::default(),
private_data: Bool32::default(),
shader_demote_to_helper_invocation: Bool32::default(),
shader_terminate_invocation: Bool32::default(),
subgroup_size_control: Bool32::default(),
compute_full_subgroups: Bool32::default(),
synchronization2: Bool32::default(),
texture_compression_astc_hdr: Bool32::default(),
shader_zero_initialize_workgroup_memory: Bool32::default(),
dynamic_rendering: Bool32::default(),
shader_integer_dot_product: Bool32::default(),
maintenance4: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceVulkan13Features {}
unsafe impl Sync for PhysicalDeviceVulkan13Features {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceVulkan13Properties.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceVulkan13Properties {
pub s_type: StructureType,
pub next: *mut c_void,
pub min_subgroup_size: u32,
pub max_subgroup_size: u32,
pub max_compute_workgroup_subgroups: u32,
pub required_subgroup_size_stages: ShaderStageFlags,
pub max_inline_uniform_block_size: u32,
pub max_per_stage_descriptor_inline_uniform_blocks: u32,
pub max_per_stage_descriptor_update_after_bind_inline_uniform_blocks: u32,
pub max_descriptor_set_inline_uniform_blocks: u32,
pub max_descriptor_set_update_after_bind_inline_uniform_blocks: u32,
pub max_inline_uniform_total_size: u32,
pub integer_dot_product_8bit_unsigned_accelerated: Bool32,
pub integer_dot_product_8bit_signed_accelerated: Bool32,
pub integer_dot_product_8bit_mixed_signedness_accelerated: Bool32,
pub integer_dot_product4x_8bit_packed_unsigned_accelerated: Bool32,
pub integer_dot_product4x_8bit_packed_signed_accelerated: Bool32,
pub integer_dot_product4x_8bit_packed_mixed_signedness_accelerated: Bool32,
pub integer_dot_product_16bit_unsigned_accelerated: Bool32,
pub integer_dot_product_16bit_signed_accelerated: Bool32,
pub integer_dot_product_16bit_mixed_signedness_accelerated: Bool32,
pub integer_dot_product_32bit_unsigned_accelerated: Bool32,
pub integer_dot_product_32bit_signed_accelerated: Bool32,
pub integer_dot_product_32bit_mixed_signedness_accelerated: Bool32,
pub integer_dot_product_64bit_unsigned_accelerated: Bool32,
pub integer_dot_product_64bit_signed_accelerated: Bool32,
pub integer_dot_product_64bit_mixed_signedness_accelerated: Bool32,
pub integer_dot_product_accumulating_saturating_8bit_unsigned_accelerated: Bool32,
pub integer_dot_product_accumulating_saturating_8bit_signed_accelerated: Bool32,
pub integer_dot_product_accumulating_saturating_8bit_mixed_signedness_accelerated: Bool32,
pub integer_dot_product_accumulating_saturating4x_8bit_packed_unsigned_accelerated: Bool32,
pub integer_dot_product_accumulating_saturating4x_8bit_packed_signed_accelerated: Bool32,
pub integer_dot_product_accumulating_saturating4x_8bit_packed_mixed_signedness_accelerated:
Bool32,
pub integer_dot_product_accumulating_saturating_16bit_unsigned_accelerated: Bool32,
pub integer_dot_product_accumulating_saturating_16bit_signed_accelerated: Bool32,
pub integer_dot_product_accumulating_saturating_16bit_mixed_signedness_accelerated: Bool32,
pub integer_dot_product_accumulating_saturating_32bit_unsigned_accelerated: Bool32,
pub integer_dot_product_accumulating_saturating_32bit_signed_accelerated: Bool32,
pub integer_dot_product_accumulating_saturating_32bit_mixed_signedness_accelerated: Bool32,
pub integer_dot_product_accumulating_saturating_64bit_unsigned_accelerated: Bool32,
pub integer_dot_product_accumulating_saturating_64bit_signed_accelerated: Bool32,
pub integer_dot_product_accumulating_saturating_64bit_mixed_signedness_accelerated: Bool32,
pub storage_texel_buffer_offset_alignment_bytes: DeviceSize,
pub storage_texel_buffer_offset_single_texel_alignment: Bool32,
pub uniform_texel_buffer_offset_alignment_bytes: DeviceSize,
pub uniform_texel_buffer_offset_single_texel_alignment: Bool32,
pub max_buffer_size: DeviceSize,
}
impl Default for PhysicalDeviceVulkan13Properties {
#[inline]
fn default() -> Self {
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() }
}
}
unsafe impl Send for PhysicalDeviceVulkan13Properties {}
unsafe impl Sync for PhysicalDeviceVulkan13Properties {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceVulkan14Features.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceVulkan14Features {
pub s_type: StructureType,
pub next: *mut c_void,
pub global_priority_query: Bool32,
pub shader_subgroup_rotate: Bool32,
pub shader_subgroup_rotate_clustered: Bool32,
pub shader_float_controls2: Bool32,
pub shader_expect_assume: Bool32,
pub rectangular_lines: Bool32,
pub bresenham_lines: Bool32,
pub smooth_lines: Bool32,
pub stippled_rectangular_lines: Bool32,
pub stippled_bresenham_lines: Bool32,
pub stippled_smooth_lines: Bool32,
pub vertex_attribute_instance_rate_divisor: Bool32,
pub vertex_attribute_instance_rate_zero_divisor: Bool32,
pub index_type_uint8: Bool32,
pub dynamic_rendering_local_read: Bool32,
pub maintenance5: Bool32,
pub maintenance6: Bool32,
pub pipeline_protected_access: Bool32,
pub pipeline_robustness: Bool32,
pub host_image_copy: Bool32,
pub push_descriptor: Bool32,
}
impl Default for PhysicalDeviceVulkan14Features {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_4_FEATURES,
next: ptr::null_mut(),
global_priority_query: Bool32::default(),
shader_subgroup_rotate: Bool32::default(),
shader_subgroup_rotate_clustered: Bool32::default(),
shader_float_controls2: Bool32::default(),
shader_expect_assume: Bool32::default(),
rectangular_lines: Bool32::default(),
bresenham_lines: Bool32::default(),
smooth_lines: Bool32::default(),
stippled_rectangular_lines: Bool32::default(),
stippled_bresenham_lines: Bool32::default(),
stippled_smooth_lines: Bool32::default(),
vertex_attribute_instance_rate_divisor: Bool32::default(),
vertex_attribute_instance_rate_zero_divisor: Bool32::default(),
index_type_uint8: Bool32::default(),
dynamic_rendering_local_read: Bool32::default(),
maintenance5: Bool32::default(),
maintenance6: Bool32::default(),
pipeline_protected_access: Bool32::default(),
pipeline_robustness: Bool32::default(),
host_image_copy: Bool32::default(),
push_descriptor: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceVulkan14Features {}
unsafe impl Sync for PhysicalDeviceVulkan14Features {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceVulkan14Properties.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceVulkan14Properties {
pub s_type: StructureType,
pub next: *mut c_void,
pub line_sub_pixel_precision_bits: u32,
pub max_vertex_attrib_divisor: u32,
pub supports_non_zero_first_instance: Bool32,
pub max_push_descriptors: u32,
pub dynamic_rendering_local_read_depth_stencil_attachments: Bool32,
pub dynamic_rendering_local_read_multisampled_attachments: Bool32,
pub early_fragment_multisample_coverage_after_sample_counting: Bool32,
pub early_fragment_sample_mask_test_before_sample_counting: Bool32,
pub depth_stencil_swizzle_one_support: Bool32,
pub polygon_mode_point_size: Bool32,
pub non_strict_single_pixel_wide_lines_use_parallelogram: Bool32,
pub non_strict_wide_lines_use_parallelogram: Bool32,
pub block_texel_view_compatible_multiple_layers: Bool32,
pub max_combined_image_sampler_descriptor_count: u32,
pub fragment_shading_rate_clamp_combiner_inputs: Bool32,
pub default_robustness_storage_buffers: PipelineRobustnessBufferBehavior,
pub default_robustness_uniform_buffers: PipelineRobustnessBufferBehavior,
pub default_robustness_vertex_inputs: PipelineRobustnessBufferBehavior,
pub default_robustness_images: PipelineRobustnessImageBehavior,
pub copy_src_layout_count: u32,
pub copy_src_layouts: *mut ImageLayout,
pub copy_dst_layout_count: u32,
pub copy_dst_layouts: *mut ImageLayout,
pub optimal_tiling_layout_uuid: ByteArray<UUID_SIZE>,
pub identical_memory_type_requirements: Bool32,
}
impl Default for PhysicalDeviceVulkan14Properties {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_VULKAN_1_4_PROPERTIES,
next: ptr::null_mut(),
line_sub_pixel_precision_bits: u32::default(),
max_vertex_attrib_divisor: u32::default(),
supports_non_zero_first_instance: Bool32::default(),
max_push_descriptors: u32::default(),
dynamic_rendering_local_read_depth_stencil_attachments: Bool32::default(),
dynamic_rendering_local_read_multisampled_attachments: Bool32::default(),
early_fragment_multisample_coverage_after_sample_counting: Bool32::default(),
early_fragment_sample_mask_test_before_sample_counting: Bool32::default(),
depth_stencil_swizzle_one_support: Bool32::default(),
polygon_mode_point_size: Bool32::default(),
non_strict_single_pixel_wide_lines_use_parallelogram: Bool32::default(),
non_strict_wide_lines_use_parallelogram: Bool32::default(),
block_texel_view_compatible_multiple_layers: Bool32::default(),
max_combined_image_sampler_descriptor_count: u32::default(),
fragment_shading_rate_clamp_combiner_inputs: Bool32::default(),
default_robustness_storage_buffers: PipelineRobustnessBufferBehavior::default(),
default_robustness_uniform_buffers: PipelineRobustnessBufferBehavior::default(),
default_robustness_vertex_inputs: PipelineRobustnessBufferBehavior::default(),
default_robustness_images: PipelineRobustnessImageBehavior::default(),
copy_src_layout_count: u32::default(),
copy_src_layouts: ptr::null_mut(),
copy_dst_layout_count: u32::default(),
copy_dst_layouts: ptr::null_mut(),
optimal_tiling_layout_uuid: ByteArray::default(),
identical_memory_type_requirements: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceVulkan14Properties {}
unsafe impl Sync for PhysicalDeviceVulkan14Properties {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceVulkanMemoryModelFeatures.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceVulkanMemoryModelFeatures {
pub s_type: StructureType,
pub next: *mut c_void,
pub vulkan_memory_model: Bool32,
pub vulkan_memory_model_device_scope: Bool32,
pub vulkan_memory_model_availability_visibility_chains: Bool32,
}
impl Default for PhysicalDeviceVulkanMemoryModelFeatures {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES,
next: ptr::null_mut(),
vulkan_memory_model: Bool32::default(),
vulkan_memory_model_device_scope: Bool32::default(),
vulkan_memory_model_availability_visibility_chains: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceVulkanMemoryModelFeatures {}
unsafe impl Sync for PhysicalDeviceVulkanMemoryModelFeatures {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub workgroup_memory_explicit_layout: Bool32,
pub workgroup_memory_explicit_layout_scalar_block_layout: Bool32,
pub workgroup_memory_explicit_layout_8bit_access: Bool32,
pub workgroup_memory_explicit_layout_16bit_access: Bool32,
}
impl Default for PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR,
next: ptr::null_mut(),
workgroup_memory_explicit_layout: Bool32::default(),
workgroup_memory_explicit_layout_scalar_block_layout: Bool32::default(),
workgroup_memory_explicit_layout_8bit_access: Bool32::default(),
workgroup_memory_explicit_layout_16bit_access: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {}
unsafe impl Sync for PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub ycbcr2plane444_formats: Bool32,
}
impl Default for PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT,
next: ptr::null_mut(),
ycbcr2plane444_formats: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceYcbcrDegammaFeaturesQCOM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceYcbcrDegammaFeaturesQCOM {
pub s_type: StructureType,
pub next: *mut c_void,
pub ycbcr_degamma: Bool32,
}
impl Default for PhysicalDeviceYcbcrDegammaFeaturesQCOM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_YCBCR_DEGAMMA_FEATURES_QCOM,
next: ptr::null_mut(),
ycbcr_degamma: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceYcbcrDegammaFeaturesQCOM {}
unsafe impl Sync for PhysicalDeviceYcbcrDegammaFeaturesQCOM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceYcbcrImageArraysFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceYcbcrImageArraysFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub ycbcr_image_arrays: Bool32,
}
impl Default for PhysicalDeviceYcbcrImageArraysFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT,
next: ptr::null_mut(),
ycbcr_image_arrays: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceYcbcrImageArraysFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceYcbcrImageArraysFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub zero_initialize_device_memory: Bool32,
}
impl Default for PhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_ZERO_INITIALIZE_DEVICE_MEMORY_FEATURES_EXT,
next: ptr::null_mut(),
zero_initialize_device_memory: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT {}
unsafe impl Sync for PhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures {
pub s_type: StructureType,
pub next: *mut c_void,
pub shader_zero_initialize_workgroup_memory: Bool32,
}
impl Default for PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES,
next: ptr::null_mut(),
shader_zero_initialize_workgroup_memory: Bool32::default(),
}
}
}
unsafe impl Send for PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures {}
unsafe impl Sync for PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineBinaryCreateInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineBinaryCreateInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub keys_and_data_info: *const PipelineBinaryKeysAndDataKHR,
pub pipeline: Pipeline,
pub pipeline_create_info: *const PipelineCreateInfoKHR,
}
impl Default for PipelineBinaryCreateInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_BINARY_CREATE_INFO_KHR,
next: ptr::null(),
keys_and_data_info: ptr::null(),
pipeline: Pipeline::default(),
pipeline_create_info: ptr::null(),
}
}
}
unsafe impl Send for PipelineBinaryCreateInfoKHR {}
unsafe impl Sync for PipelineBinaryCreateInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineBinaryDataInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineBinaryDataInfoKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub pipeline_binary: PipelineBinaryKHR,
}
impl Default for PipelineBinaryDataInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_BINARY_DATA_INFO_KHR,
next: ptr::null_mut(),
pipeline_binary: PipelineBinaryKHR::default(),
}
}
}
unsafe impl Send for PipelineBinaryDataInfoKHR {}
unsafe impl Sync for PipelineBinaryDataInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineBinaryDataKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineBinaryDataKHR {
pub data_size: usize,
pub data: *mut c_void,
}
impl Default for PipelineBinaryDataKHR {
#[inline]
fn default() -> Self {
Self {
data_size: usize::default(),
data: ptr::null_mut(),
}
}
}
unsafe impl Send for PipelineBinaryDataKHR {}
unsafe impl Sync for PipelineBinaryDataKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineBinaryHandlesInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineBinaryHandlesInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub pipeline_binary_count: u32,
pub pipeline_binaries: *mut PipelineBinaryKHR,
}
impl Default for PipelineBinaryHandlesInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_BINARY_HANDLES_INFO_KHR,
next: ptr::null(),
pipeline_binary_count: u32::default(),
pipeline_binaries: ptr::null_mut(),
}
}
}
unsafe impl Send for PipelineBinaryHandlesInfoKHR {}
unsafe impl Sync for PipelineBinaryHandlesInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineBinaryInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineBinaryInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub binary_count: u32,
pub pipeline_binaries: *const PipelineBinaryKHR,
}
impl Default for PipelineBinaryInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_BINARY_INFO_KHR,
next: ptr::null(),
binary_count: u32::default(),
pipeline_binaries: ptr::null(),
}
}
}
unsafe impl Send for PipelineBinaryInfoKHR {}
unsafe impl Sync for PipelineBinaryInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineBinaryKeyKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineBinaryKeyKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub key_size: u32,
pub key: ByteArray<MAX_PIPELINE_BINARY_KEY_SIZE_KHR>,
}
impl Default for PipelineBinaryKeyKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_BINARY_KEY_KHR,
next: ptr::null_mut(),
key_size: u32::default(),
key: ByteArray::default(),
}
}
}
unsafe impl Send for PipelineBinaryKeyKHR {}
unsafe impl Sync for PipelineBinaryKeyKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineBinaryKeysAndDataKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineBinaryKeysAndDataKHR {
pub binary_count: u32,
pub pipeline_binary_keys: *const PipelineBinaryKeyKHR,
pub pipeline_binary_data: *const PipelineBinaryDataKHR,
}
impl Default for PipelineBinaryKeysAndDataKHR {
#[inline]
fn default() -> Self {
Self {
binary_count: u32::default(),
pipeline_binary_keys: ptr::null(),
pipeline_binary_data: ptr::null(),
}
}
}
unsafe impl Send for PipelineBinaryKeysAndDataKHR {}
unsafe impl Sync for PipelineBinaryKeysAndDataKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineCacheCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineCacheCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: PipelineCacheCreateFlags,
pub initial_data_size: usize,
pub initial_data: *const c_void,
}
impl Default for PipelineCacheCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_CACHE_CREATE_INFO,
next: ptr::null(),
flags: PipelineCacheCreateFlags::default(),
initial_data_size: usize::default(),
initial_data: ptr::null(),
}
}
}
unsafe impl Send for PipelineCacheCreateInfo {}
unsafe impl Sync for PipelineCacheCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineCacheHeaderVersionDataGraphQCOM.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct PipelineCacheHeaderVersionDataGraphQCOM {
pub header_size: u32,
pub header_version: PipelineCacheHeaderVersion,
pub cache_type: DataGraphModelCacheTypeQCOM,
pub cache_version: u32,
pub toolchain_version: [u32; DATA_GRAPH_MODEL_TOOLCHAIN_VERSION_LENGTH_QCOM as usize],
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineCacheHeaderVersionOne.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct PipelineCacheHeaderVersionOne {
pub header_size: u32,
pub header_version: PipelineCacheHeaderVersion,
pub vendor_id: u32,
pub device_id: u32,
pub pipeline_cache_uuid: ByteArray<UUID_SIZE>,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineColorBlendAdvancedStateCreateInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineColorBlendAdvancedStateCreateInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub src_premultiplied: Bool32,
pub dst_premultiplied: Bool32,
pub blend_overlap: BlendOverlapEXT,
}
impl Default for PipelineColorBlendAdvancedStateCreateInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT,
next: ptr::null(),
src_premultiplied: Bool32::default(),
dst_premultiplied: Bool32::default(),
blend_overlap: BlendOverlapEXT::default(),
}
}
}
unsafe impl Send for PipelineColorBlendAdvancedStateCreateInfoEXT {}
unsafe impl Sync for PipelineColorBlendAdvancedStateCreateInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineColorBlendAttachmentState.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct PipelineColorBlendAttachmentState {
pub blend_enable: Bool32,
pub src_color_blend_factor: BlendFactor,
pub dst_color_blend_factor: BlendFactor,
pub color_blend_op: BlendOp,
pub src_alpha_blend_factor: BlendFactor,
pub dst_alpha_blend_factor: BlendFactor,
pub alpha_blend_op: BlendOp,
pub color_write_mask: ColorComponentFlags,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineColorBlendStateCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct PipelineColorBlendStateCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: PipelineColorBlendStateCreateFlags,
pub logic_op_enable: Bool32,
pub logic_op: LogicOp,
pub attachment_count: u32,
pub attachments: *const PipelineColorBlendAttachmentState,
pub blend_constants: [f32; 4],
}
impl Default for PipelineColorBlendStateCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_COLOR_BLEND_STATE_CREATE_INFO,
next: ptr::null(),
flags: PipelineColorBlendStateCreateFlags::default(),
logic_op_enable: Bool32::default(),
logic_op: LogicOp::default(),
attachment_count: u32::default(),
attachments: ptr::null(),
blend_constants: [f32::default(); 4],
}
}
}
unsafe impl Send for PipelineColorBlendStateCreateInfo {}
unsafe impl Sync for PipelineColorBlendStateCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineColorWriteCreateInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineColorWriteCreateInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub attachment_count: u32,
pub color_write_enables: *const Bool32,
}
impl Default for PipelineColorWriteCreateInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_COLOR_WRITE_CREATE_INFO_EXT,
next: ptr::null(),
attachment_count: u32::default(),
color_write_enables: ptr::null(),
}
}
}
unsafe impl Send for PipelineColorWriteCreateInfoEXT {}
unsafe impl Sync for PipelineColorWriteCreateInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineCompilerControlCreateInfoAMD.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineCompilerControlCreateInfoAMD {
pub s_type: StructureType,
pub next: *const c_void,
pub compiler_control_flags: PipelineCompilerControlFlagsAMD,
}
impl Default for PipelineCompilerControlCreateInfoAMD {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD,
next: ptr::null(),
compiler_control_flags: PipelineCompilerControlFlagsAMD::default(),
}
}
}
unsafe impl Send for PipelineCompilerControlCreateInfoAMD {}
unsafe impl Sync for PipelineCompilerControlCreateInfoAMD {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineCoverageModulationStateCreateInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineCoverageModulationStateCreateInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: PipelineCoverageModulationStateCreateFlagsNV,
pub coverage_modulation_mode: CoverageModulationModeNV,
pub coverage_modulation_table_enable: Bool32,
pub coverage_modulation_table_count: u32,
pub coverage_modulation_table: *const f32,
}
impl Default for PipelineCoverageModulationStateCreateInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV,
next: ptr::null(),
flags: PipelineCoverageModulationStateCreateFlagsNV::default(),
coverage_modulation_mode: CoverageModulationModeNV::default(),
coverage_modulation_table_enable: Bool32::default(),
coverage_modulation_table_count: u32::default(),
coverage_modulation_table: ptr::null(),
}
}
}
unsafe impl Send for PipelineCoverageModulationStateCreateInfoNV {}
unsafe impl Sync for PipelineCoverageModulationStateCreateInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineCoverageReductionStateCreateInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineCoverageReductionStateCreateInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: PipelineCoverageReductionStateCreateFlagsNV,
pub coverage_reduction_mode: CoverageReductionModeNV,
}
impl Default for PipelineCoverageReductionStateCreateInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV,
next: ptr::null(),
flags: PipelineCoverageReductionStateCreateFlagsNV::default(),
coverage_reduction_mode: CoverageReductionModeNV::default(),
}
}
}
unsafe impl Send for PipelineCoverageReductionStateCreateInfoNV {}
unsafe impl Sync for PipelineCoverageReductionStateCreateInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineCoverageToColorStateCreateInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineCoverageToColorStateCreateInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: PipelineCoverageToColorStateCreateFlagsNV,
pub coverage_to_color_enable: Bool32,
pub coverage_to_color_location: u32,
}
impl Default for PipelineCoverageToColorStateCreateInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV,
next: ptr::null(),
flags: PipelineCoverageToColorStateCreateFlagsNV::default(),
coverage_to_color_enable: Bool32::default(),
coverage_to_color_location: u32::default(),
}
}
}
unsafe impl Send for PipelineCoverageToColorStateCreateInfoNV {}
unsafe impl Sync for PipelineCoverageToColorStateCreateInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineCreateFlags2CreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineCreateFlags2CreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: PipelineCreateFlags2,
}
impl Default for PipelineCreateFlags2CreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_CREATE_FLAGS_2_CREATE_INFO,
next: ptr::null(),
flags: PipelineCreateFlags2::default(),
}
}
}
unsafe impl Send for PipelineCreateFlags2CreateInfo {}
unsafe impl Sync for PipelineCreateFlags2CreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineCreateInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineCreateInfoKHR {
pub s_type: StructureType,
pub next: *mut c_void,
}
impl Default for PipelineCreateInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_CREATE_INFO_KHR,
next: ptr::null_mut(),
}
}
}
unsafe impl Send for PipelineCreateInfoKHR {}
unsafe impl Sync for PipelineCreateInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineCreationFeedback.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct PipelineCreationFeedback {
pub flags: PipelineCreationFeedbackFlags,
pub duration: u64,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineCreationFeedbackCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineCreationFeedbackCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub pipeline_creation_feedback: *mut PipelineCreationFeedback,
pub pipeline_stage_creation_feedback_count: u32,
pub pipeline_stage_creation_feedbacks: *mut PipelineCreationFeedback,
}
impl Default for PipelineCreationFeedbackCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_CREATION_FEEDBACK_CREATE_INFO,
next: ptr::null(),
pipeline_creation_feedback: ptr::null_mut(),
pipeline_stage_creation_feedback_count: u32::default(),
pipeline_stage_creation_feedbacks: ptr::null_mut(),
}
}
}
unsafe impl Send for PipelineCreationFeedbackCreateInfo {}
unsafe impl Sync for PipelineCreationFeedbackCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineDepthStencilStateCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct PipelineDepthStencilStateCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: PipelineDepthStencilStateCreateFlags,
pub depth_test_enable: Bool32,
pub depth_write_enable: Bool32,
pub depth_compare_op: CompareOp,
pub depth_bounds_test_enable: Bool32,
pub stencil_test_enable: Bool32,
pub front: StencilOpState,
pub back: StencilOpState,
pub min_depth_bounds: f32,
pub max_depth_bounds: f32,
}
impl Default for PipelineDepthStencilStateCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO,
next: ptr::null(),
flags: PipelineDepthStencilStateCreateFlags::default(),
depth_test_enable: Bool32::default(),
depth_write_enable: Bool32::default(),
depth_compare_op: CompareOp::default(),
depth_bounds_test_enable: Bool32::default(),
stencil_test_enable: Bool32::default(),
front: StencilOpState::default(),
back: StencilOpState::default(),
min_depth_bounds: f32::default(),
max_depth_bounds: f32::default(),
}
}
}
unsafe impl Send for PipelineDepthStencilStateCreateInfo {}
unsafe impl Sync for PipelineDepthStencilStateCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineDiscardRectangleStateCreateInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineDiscardRectangleStateCreateInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: PipelineDiscardRectangleStateCreateFlagsEXT,
pub discard_rectangle_mode: DiscardRectangleModeEXT,
pub discard_rectangle_count: u32,
pub discard_rectangles: *const Rect2D,
}
impl Default for PipelineDiscardRectangleStateCreateInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT,
next: ptr::null(),
flags: PipelineDiscardRectangleStateCreateFlagsEXT::default(),
discard_rectangle_mode: DiscardRectangleModeEXT::default(),
discard_rectangle_count: u32::default(),
discard_rectangles: ptr::null(),
}
}
}
unsafe impl Send for PipelineDiscardRectangleStateCreateInfoEXT {}
unsafe impl Sync for PipelineDiscardRectangleStateCreateInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineDynamicStateCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineDynamicStateCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: PipelineDynamicStateCreateFlags,
pub dynamic_state_count: u32,
pub dynamic_states: *const DynamicState,
}
impl Default for PipelineDynamicStateCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_DYNAMIC_STATE_CREATE_INFO,
next: ptr::null(),
flags: PipelineDynamicStateCreateFlags::default(),
dynamic_state_count: u32::default(),
dynamic_states: ptr::null(),
}
}
}
unsafe impl Send for PipelineDynamicStateCreateInfo {}
unsafe impl Sync for PipelineDynamicStateCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineExecutableInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineExecutableInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub pipeline: Pipeline,
pub executable_index: u32,
}
impl Default for PipelineExecutableInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_EXECUTABLE_INFO_KHR,
next: ptr::null(),
pipeline: Pipeline::default(),
executable_index: u32::default(),
}
}
}
unsafe impl Send for PipelineExecutableInfoKHR {}
unsafe impl Sync for PipelineExecutableInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineExecutableInternalRepresentationKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineExecutableInternalRepresentationKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub name: StringArray<MAX_DESCRIPTION_SIZE>,
pub description: StringArray<MAX_DESCRIPTION_SIZE>,
pub is_text: Bool32,
pub data_size: usize,
pub data: *mut c_void,
}
impl Default for PipelineExecutableInternalRepresentationKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR,
next: ptr::null_mut(),
name: StringArray::default(),
description: StringArray::default(),
is_text: Bool32::default(),
data_size: usize::default(),
data: ptr::null_mut(),
}
}
}
unsafe impl Send for PipelineExecutableInternalRepresentationKHR {}
unsafe impl Sync for PipelineExecutableInternalRepresentationKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineExecutablePropertiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineExecutablePropertiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub stages: ShaderStageFlags,
pub name: StringArray<MAX_DESCRIPTION_SIZE>,
pub description: StringArray<MAX_DESCRIPTION_SIZE>,
pub subgroup_size: u32,
}
impl Default for PipelineExecutablePropertiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_EXECUTABLE_PROPERTIES_KHR,
next: ptr::null_mut(),
stages: ShaderStageFlags::default(),
name: StringArray::default(),
description: StringArray::default(),
subgroup_size: u32::default(),
}
}
}
unsafe impl Send for PipelineExecutablePropertiesKHR {}
unsafe impl Sync for PipelineExecutablePropertiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineExecutableStatisticKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug)]
pub struct PipelineExecutableStatisticKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub name: StringArray<MAX_DESCRIPTION_SIZE>,
pub description: StringArray<MAX_DESCRIPTION_SIZE>,
pub format: PipelineExecutableStatisticFormatKHR,
pub value: PipelineExecutableStatisticValueKHR,
}
impl Default for PipelineExecutableStatisticKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_EXECUTABLE_STATISTIC_KHR,
next: ptr::null_mut(),
name: StringArray::default(),
description: StringArray::default(),
format: PipelineExecutableStatisticFormatKHR::default(),
value: PipelineExecutableStatisticValueKHR::default(),
}
}
}
unsafe impl Send for PipelineExecutableStatisticKHR {}
unsafe impl Sync for PipelineExecutableStatisticKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineFragmentDensityMapLayeredCreateInfoVALVE.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineFragmentDensityMapLayeredCreateInfoVALVE {
pub s_type: StructureType,
pub next: *const c_void,
pub max_fragment_density_map_layers: u32,
}
impl Default for PipelineFragmentDensityMapLayeredCreateInfoVALVE {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_FRAGMENT_DENSITY_MAP_LAYERED_CREATE_INFO_VALVE,
next: ptr::null(),
max_fragment_density_map_layers: u32::default(),
}
}
}
unsafe impl Send for PipelineFragmentDensityMapLayeredCreateInfoVALVE {}
unsafe impl Sync for PipelineFragmentDensityMapLayeredCreateInfoVALVE {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineFragmentShadingRateEnumStateCreateInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineFragmentShadingRateEnumStateCreateInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub shading_rate_type: FragmentShadingRateTypeNV,
pub shading_rate: FragmentShadingRateNV,
pub combiner_ops: [FragmentShadingRateCombinerOpKHR; 2],
}
impl Default for PipelineFragmentShadingRateEnumStateCreateInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV,
next: ptr::null(),
shading_rate_type: FragmentShadingRateTypeNV::default(),
shading_rate: FragmentShadingRateNV::default(),
combiner_ops: [FragmentShadingRateCombinerOpKHR::default(); 2],
}
}
}
unsafe impl Send for PipelineFragmentShadingRateEnumStateCreateInfoNV {}
unsafe impl Sync for PipelineFragmentShadingRateEnumStateCreateInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineFragmentShadingRateStateCreateInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineFragmentShadingRateStateCreateInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub fragment_size: Extent2D,
pub combiner_ops: [FragmentShadingRateCombinerOpKHR; 2],
}
impl Default for PipelineFragmentShadingRateStateCreateInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR,
next: ptr::null(),
fragment_size: Extent2D::default(),
combiner_ops: [FragmentShadingRateCombinerOpKHR::default(); 2],
}
}
}
unsafe impl Send for PipelineFragmentShadingRateStateCreateInfoKHR {}
unsafe impl Sync for PipelineFragmentShadingRateStateCreateInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineIndirectDeviceAddressInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineIndirectDeviceAddressInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub pipeline_bind_point: PipelineBindPoint,
pub pipeline: Pipeline,
}
impl Default for PipelineIndirectDeviceAddressInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_INDIRECT_DEVICE_ADDRESS_INFO_NV,
next: ptr::null(),
pipeline_bind_point: PipelineBindPoint::default(),
pipeline: Pipeline::default(),
}
}
}
unsafe impl Send for PipelineIndirectDeviceAddressInfoNV {}
unsafe impl Sync for PipelineIndirectDeviceAddressInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub pipeline: Pipeline,
}
impl Default for PipelineInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_INFO_KHR,
next: ptr::null(),
pipeline: Pipeline::default(),
}
}
}
unsafe impl Send for PipelineInfoKHR {}
unsafe impl Sync for PipelineInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineInputAssemblyStateCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineInputAssemblyStateCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: PipelineInputAssemblyStateCreateFlags,
pub topology: PrimitiveTopology,
pub primitive_restart_enable: Bool32,
}
impl Default for PipelineInputAssemblyStateCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO,
next: ptr::null(),
flags: PipelineInputAssemblyStateCreateFlags::default(),
topology: PrimitiveTopology::default(),
primitive_restart_enable: Bool32::default(),
}
}
}
unsafe impl Send for PipelineInputAssemblyStateCreateInfo {}
unsafe impl Sync for PipelineInputAssemblyStateCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineLayoutCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineLayoutCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: PipelineLayoutCreateFlags,
pub set_layout_count: u32,
pub set_layouts: *const DescriptorSetLayout,
pub push_constant_range_count: u32,
pub push_constant_ranges: *const PushConstantRange,
}
impl Default for PipelineLayoutCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_LAYOUT_CREATE_INFO,
next: ptr::null(),
flags: PipelineLayoutCreateFlags::default(),
set_layout_count: u32::default(),
set_layouts: ptr::null(),
push_constant_range_count: u32::default(),
push_constant_ranges: ptr::null(),
}
}
}
unsafe impl Send for PipelineLayoutCreateInfo {}
unsafe impl Sync for PipelineLayoutCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineLibraryCreateInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineLibraryCreateInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub library_count: u32,
pub libraries: *const Pipeline,
}
impl Default for PipelineLibraryCreateInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_LIBRARY_CREATE_INFO_KHR,
next: ptr::null(),
library_count: u32::default(),
libraries: ptr::null(),
}
}
}
unsafe impl Send for PipelineLibraryCreateInfoKHR {}
unsafe impl Sync for PipelineLibraryCreateInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineMultisampleStateCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct PipelineMultisampleStateCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: PipelineMultisampleStateCreateFlags,
pub rasterization_samples: SampleCountFlags,
pub sample_shading_enable: Bool32,
pub min_sample_shading: f32,
pub sample_mask: *const SampleMask,
pub alpha_to_coverage_enable: Bool32,
pub alpha_to_one_enable: Bool32,
}
impl Default for PipelineMultisampleStateCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_MULTISAMPLE_STATE_CREATE_INFO,
next: ptr::null(),
flags: PipelineMultisampleStateCreateFlags::default(),
rasterization_samples: SampleCountFlags::default(),
sample_shading_enable: Bool32::default(),
min_sample_shading: f32::default(),
sample_mask: ptr::null(),
alpha_to_coverage_enable: Bool32::default(),
alpha_to_one_enable: Bool32::default(),
}
}
}
unsafe impl Send for PipelineMultisampleStateCreateInfo {}
unsafe impl Sync for PipelineMultisampleStateCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelinePropertiesIdentifierEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelinePropertiesIdentifierEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub pipeline_identifier: ByteArray<UUID_SIZE>,
}
impl Default for PipelinePropertiesIdentifierEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_PROPERTIES_IDENTIFIER_EXT,
next: ptr::null_mut(),
pipeline_identifier: ByteArray::default(),
}
}
}
unsafe impl Send for PipelinePropertiesIdentifierEXT {}
unsafe impl Sync for PipelinePropertiesIdentifierEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineRasterizationConservativeStateCreateInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct PipelineRasterizationConservativeStateCreateInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: PipelineRasterizationConservativeStateCreateFlagsEXT,
pub conservative_rasterization_mode: ConservativeRasterizationModeEXT,
pub extra_primitive_overestimation_size: f32,
}
impl Default for PipelineRasterizationConservativeStateCreateInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT,
next: ptr::null(),
flags: PipelineRasterizationConservativeStateCreateFlagsEXT::default(),
conservative_rasterization_mode: ConservativeRasterizationModeEXT::default(),
extra_primitive_overestimation_size: f32::default(),
}
}
}
unsafe impl Send for PipelineRasterizationConservativeStateCreateInfoEXT {}
unsafe impl Sync for PipelineRasterizationConservativeStateCreateInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineRasterizationDepthClipStateCreateInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineRasterizationDepthClipStateCreateInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: PipelineRasterizationDepthClipStateCreateFlagsEXT,
pub depth_clip_enable: Bool32,
}
impl Default for PipelineRasterizationDepthClipStateCreateInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT,
next: ptr::null(),
flags: PipelineRasterizationDepthClipStateCreateFlagsEXT::default(),
depth_clip_enable: Bool32::default(),
}
}
}
unsafe impl Send for PipelineRasterizationDepthClipStateCreateInfoEXT {}
unsafe impl Sync for PipelineRasterizationDepthClipStateCreateInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineRasterizationLineStateCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineRasterizationLineStateCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub line_rasterization_mode: LineRasterizationMode,
pub stippled_line_enable: Bool32,
pub line_stipple_factor: u32,
pub line_stipple_pattern: u16,
}
impl Default for PipelineRasterizationLineStateCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO,
next: ptr::null(),
line_rasterization_mode: LineRasterizationMode::default(),
stippled_line_enable: Bool32::default(),
line_stipple_factor: u32::default(),
line_stipple_pattern: u16::default(),
}
}
}
unsafe impl Send for PipelineRasterizationLineStateCreateInfo {}
unsafe impl Sync for PipelineRasterizationLineStateCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineRasterizationProvokingVertexStateCreateInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineRasterizationProvokingVertexStateCreateInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub provoking_vertex_mode: ProvokingVertexModeEXT,
}
impl Default for PipelineRasterizationProvokingVertexStateCreateInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT,
next: ptr::null(),
provoking_vertex_mode: ProvokingVertexModeEXT::default(),
}
}
}
unsafe impl Send for PipelineRasterizationProvokingVertexStateCreateInfoEXT {}
unsafe impl Sync for PipelineRasterizationProvokingVertexStateCreateInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineRasterizationStateCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct PipelineRasterizationStateCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: PipelineRasterizationStateCreateFlags,
pub depth_clamp_enable: Bool32,
pub rasterizer_discard_enable: Bool32,
pub polygon_mode: PolygonMode,
pub cull_mode: CullModeFlags,
pub front_face: FrontFace,
pub depth_bias_enable: Bool32,
pub depth_bias_constant_factor: f32,
pub depth_bias_clamp: f32,
pub depth_bias_slope_factor: f32,
pub line_width: f32,
}
impl Default for PipelineRasterizationStateCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_RASTERIZATION_STATE_CREATE_INFO,
next: ptr::null(),
flags: PipelineRasterizationStateCreateFlags::default(),
depth_clamp_enable: Bool32::default(),
rasterizer_discard_enable: Bool32::default(),
polygon_mode: PolygonMode::default(),
cull_mode: CullModeFlags::default(),
front_face: FrontFace::default(),
depth_bias_enable: Bool32::default(),
depth_bias_constant_factor: f32::default(),
depth_bias_clamp: f32::default(),
depth_bias_slope_factor: f32::default(),
line_width: f32::default(),
}
}
}
unsafe impl Send for PipelineRasterizationStateCreateInfo {}
unsafe impl Sync for PipelineRasterizationStateCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineRasterizationStateRasterizationOrderAMD.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineRasterizationStateRasterizationOrderAMD {
pub s_type: StructureType,
pub next: *const c_void,
pub rasterization_order: RasterizationOrderAMD,
}
impl Default for PipelineRasterizationStateRasterizationOrderAMD {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD,
next: ptr::null(),
rasterization_order: RasterizationOrderAMD::default(),
}
}
}
unsafe impl Send for PipelineRasterizationStateRasterizationOrderAMD {}
unsafe impl Sync for PipelineRasterizationStateRasterizationOrderAMD {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineRasterizationStateStreamCreateInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineRasterizationStateStreamCreateInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: PipelineRasterizationStateStreamCreateFlagsEXT,
pub rasterization_stream: u32,
}
impl Default for PipelineRasterizationStateStreamCreateInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT,
next: ptr::null(),
flags: PipelineRasterizationStateStreamCreateFlagsEXT::default(),
rasterization_stream: u32::default(),
}
}
}
unsafe impl Send for PipelineRasterizationStateStreamCreateInfoEXT {}
unsafe impl Sync for PipelineRasterizationStateStreamCreateInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineRenderingCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineRenderingCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub view_mask: u32,
pub color_attachment_count: u32,
pub color_attachment_formats: *const Format,
pub depth_attachment_format: Format,
pub stencil_attachment_format: Format,
}
impl Default for PipelineRenderingCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_RENDERING_CREATE_INFO,
next: ptr::null(),
view_mask: u32::default(),
color_attachment_count: u32::default(),
color_attachment_formats: ptr::null(),
depth_attachment_format: Format::default(),
stencil_attachment_format: Format::default(),
}
}
}
unsafe impl Send for PipelineRenderingCreateInfo {}
unsafe impl Sync for PipelineRenderingCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineRepresentativeFragmentTestStateCreateInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineRepresentativeFragmentTestStateCreateInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub representative_fragment_test_enable: Bool32,
}
impl Default for PipelineRepresentativeFragmentTestStateCreateInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV,
next: ptr::null(),
representative_fragment_test_enable: Bool32::default(),
}
}
}
unsafe impl Send for PipelineRepresentativeFragmentTestStateCreateInfoNV {}
unsafe impl Sync for PipelineRepresentativeFragmentTestStateCreateInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineRobustnessCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineRobustnessCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub storage_buffers: PipelineRobustnessBufferBehavior,
pub uniform_buffers: PipelineRobustnessBufferBehavior,
pub vertex_inputs: PipelineRobustnessBufferBehavior,
pub images: PipelineRobustnessImageBehavior,
}
impl Default for PipelineRobustnessCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_ROBUSTNESS_CREATE_INFO,
next: ptr::null(),
storage_buffers: PipelineRobustnessBufferBehavior::default(),
uniform_buffers: PipelineRobustnessBufferBehavior::default(),
vertex_inputs: PipelineRobustnessBufferBehavior::default(),
images: PipelineRobustnessImageBehavior::default(),
}
}
}
unsafe impl Send for PipelineRobustnessCreateInfo {}
unsafe impl Sync for PipelineRobustnessCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineSampleLocationsStateCreateInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineSampleLocationsStateCreateInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub sample_locations_enable: Bool32,
pub sample_locations_info: SampleLocationsInfoEXT,
}
impl Default for PipelineSampleLocationsStateCreateInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT,
next: ptr::null(),
sample_locations_enable: Bool32::default(),
sample_locations_info: SampleLocationsInfoEXT::default(),
}
}
}
unsafe impl Send for PipelineSampleLocationsStateCreateInfoEXT {}
unsafe impl Sync for PipelineSampleLocationsStateCreateInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineShaderStageCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineShaderStageCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: PipelineShaderStageCreateFlags,
pub stage: ShaderStageFlags,
pub module: ShaderModule,
pub name: *const c_char,
pub specialization_info: *const SpecializationInfo,
}
impl Default for PipelineShaderStageCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_SHADER_STAGE_CREATE_INFO,
next: ptr::null(),
flags: PipelineShaderStageCreateFlags::default(),
stage: ShaderStageFlags::default(),
module: ShaderModule::default(),
name: ptr::null(),
specialization_info: ptr::null(),
}
}
}
unsafe impl Send for PipelineShaderStageCreateInfo {}
unsafe impl Sync for PipelineShaderStageCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineShaderStageModuleIdentifierCreateInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineShaderStageModuleIdentifierCreateInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub identifier_size: u32,
pub identifier: *const u8,
}
impl Default for PipelineShaderStageModuleIdentifierCreateInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT,
next: ptr::null(),
identifier_size: u32::default(),
identifier: ptr::null(),
}
}
}
unsafe impl Send for PipelineShaderStageModuleIdentifierCreateInfoEXT {}
unsafe impl Sync for PipelineShaderStageModuleIdentifierCreateInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineShaderStageNodeCreateInfoAMDX.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineShaderStageNodeCreateInfoAMDX {
pub s_type: StructureType,
pub next: *const c_void,
pub name: *const c_char,
pub index: u32,
}
impl Default for PipelineShaderStageNodeCreateInfoAMDX {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_SHADER_STAGE_NODE_CREATE_INFO_AMDX,
next: ptr::null(),
name: ptr::null(),
index: u32::default(),
}
}
}
unsafe impl Send for PipelineShaderStageNodeCreateInfoAMDX {}
unsafe impl Sync for PipelineShaderStageNodeCreateInfoAMDX {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineShaderStageRequiredSubgroupSizeCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineShaderStageRequiredSubgroupSizeCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub required_subgroup_size: u32,
}
impl Default for PipelineShaderStageRequiredSubgroupSizeCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO,
next: ptr::null(),
required_subgroup_size: u32::default(),
}
}
}
unsafe impl Send for PipelineShaderStageRequiredSubgroupSizeCreateInfo {}
unsafe impl Sync for PipelineShaderStageRequiredSubgroupSizeCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineTessellationDomainOriginStateCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineTessellationDomainOriginStateCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub domain_origin: TessellationDomainOrigin,
}
impl Default for PipelineTessellationDomainOriginStateCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO,
next: ptr::null(),
domain_origin: TessellationDomainOrigin::default(),
}
}
}
unsafe impl Send for PipelineTessellationDomainOriginStateCreateInfo {}
unsafe impl Sync for PipelineTessellationDomainOriginStateCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineTessellationStateCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineTessellationStateCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: PipelineTessellationStateCreateFlags,
pub patch_control_points: u32,
}
impl Default for PipelineTessellationStateCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_TESSELLATION_STATE_CREATE_INFO,
next: ptr::null(),
flags: PipelineTessellationStateCreateFlags::default(),
patch_control_points: u32::default(),
}
}
}
unsafe impl Send for PipelineTessellationStateCreateInfo {}
unsafe impl Sync for PipelineTessellationStateCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineVertexInputDivisorStateCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineVertexInputDivisorStateCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub vertex_binding_divisor_count: u32,
pub vertex_binding_divisors: *const VertexInputBindingDivisorDescription,
}
impl Default for PipelineVertexInputDivisorStateCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO,
next: ptr::null(),
vertex_binding_divisor_count: u32::default(),
vertex_binding_divisors: ptr::null(),
}
}
}
unsafe impl Send for PipelineVertexInputDivisorStateCreateInfo {}
unsafe impl Sync for PipelineVertexInputDivisorStateCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineVertexInputStateCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineVertexInputStateCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: PipelineVertexInputStateCreateFlags,
pub vertex_binding_description_count: u32,
pub vertex_binding_descriptions: *const VertexInputBindingDescription,
pub vertex_attribute_description_count: u32,
pub vertex_attribute_descriptions: *const VertexInputAttributeDescription,
}
impl Default for PipelineVertexInputStateCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO,
next: ptr::null(),
flags: PipelineVertexInputStateCreateFlags::default(),
vertex_binding_description_count: u32::default(),
vertex_binding_descriptions: ptr::null(),
vertex_attribute_description_count: u32::default(),
vertex_attribute_descriptions: ptr::null(),
}
}
}
unsafe impl Send for PipelineVertexInputStateCreateInfo {}
unsafe impl Sync for PipelineVertexInputStateCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineViewportCoarseSampleOrderStateCreateInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineViewportCoarseSampleOrderStateCreateInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub sample_order_type: CoarseSampleOrderTypeNV,
pub custom_sample_order_count: u32,
pub custom_sample_orders: *const CoarseSampleOrderCustomNV,
}
impl Default for PipelineViewportCoarseSampleOrderStateCreateInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV,
next: ptr::null(),
sample_order_type: CoarseSampleOrderTypeNV::default(),
custom_sample_order_count: u32::default(),
custom_sample_orders: ptr::null(),
}
}
}
unsafe impl Send for PipelineViewportCoarseSampleOrderStateCreateInfoNV {}
unsafe impl Sync for PipelineViewportCoarseSampleOrderStateCreateInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineViewportDepthClampControlCreateInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineViewportDepthClampControlCreateInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub depth_clamp_mode: DepthClampModeEXT,
pub depth_clamp_range: *const DepthClampRangeEXT,
}
impl Default for PipelineViewportDepthClampControlCreateInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_VIEWPORT_DEPTH_CLAMP_CONTROL_CREATE_INFO_EXT,
next: ptr::null(),
depth_clamp_mode: DepthClampModeEXT::default(),
depth_clamp_range: ptr::null(),
}
}
}
unsafe impl Send for PipelineViewportDepthClampControlCreateInfoEXT {}
unsafe impl Sync for PipelineViewportDepthClampControlCreateInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineViewportDepthClipControlCreateInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineViewportDepthClipControlCreateInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub negative_one_to_one: Bool32,
}
impl Default for PipelineViewportDepthClipControlCreateInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT,
next: ptr::null(),
negative_one_to_one: Bool32::default(),
}
}
}
unsafe impl Send for PipelineViewportDepthClipControlCreateInfoEXT {}
unsafe impl Sync for PipelineViewportDepthClipControlCreateInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineViewportExclusiveScissorStateCreateInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineViewportExclusiveScissorStateCreateInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub exclusive_scissor_count: u32,
pub exclusive_scissors: *const Rect2D,
}
impl Default for PipelineViewportExclusiveScissorStateCreateInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV,
next: ptr::null(),
exclusive_scissor_count: u32::default(),
exclusive_scissors: ptr::null(),
}
}
}
unsafe impl Send for PipelineViewportExclusiveScissorStateCreateInfoNV {}
unsafe impl Sync for PipelineViewportExclusiveScissorStateCreateInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineViewportShadingRateImageStateCreateInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineViewportShadingRateImageStateCreateInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub shading_rate_image_enable: Bool32,
pub viewport_count: u32,
pub shading_rate_palettes: *const ShadingRatePaletteNV,
}
impl Default for PipelineViewportShadingRateImageStateCreateInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV,
next: ptr::null(),
shading_rate_image_enable: Bool32::default(),
viewport_count: u32::default(),
shading_rate_palettes: ptr::null(),
}
}
}
unsafe impl Send for PipelineViewportShadingRateImageStateCreateInfoNV {}
unsafe impl Sync for PipelineViewportShadingRateImageStateCreateInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineViewportStateCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineViewportStateCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: PipelineViewportStateCreateFlags,
pub viewport_count: u32,
pub viewports: *const Viewport,
pub scissor_count: u32,
pub scissors: *const Rect2D,
}
impl Default for PipelineViewportStateCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_VIEWPORT_STATE_CREATE_INFO,
next: ptr::null(),
flags: PipelineViewportStateCreateFlags::default(),
viewport_count: u32::default(),
viewports: ptr::null(),
scissor_count: u32::default(),
scissors: ptr::null(),
}
}
}
unsafe impl Send for PipelineViewportStateCreateInfo {}
unsafe impl Sync for PipelineViewportStateCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineViewportSwizzleStateCreateInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineViewportSwizzleStateCreateInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: PipelineViewportSwizzleStateCreateFlagsNV,
pub viewport_count: u32,
pub viewport_swizzles: *const ViewportSwizzleNV,
}
impl Default for PipelineViewportSwizzleStateCreateInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV,
next: ptr::null(),
flags: PipelineViewportSwizzleStateCreateFlagsNV::default(),
viewport_count: u32::default(),
viewport_swizzles: ptr::null(),
}
}
}
unsafe impl Send for PipelineViewportSwizzleStateCreateInfoNV {}
unsafe impl Sync for PipelineViewportSwizzleStateCreateInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineViewportWScalingStateCreateInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PipelineViewportWScalingStateCreateInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub viewport_w_scaling_enable: Bool32,
pub viewport_count: u32,
pub viewport_w_scalings: *const ViewportWScalingNV,
}
impl Default for PipelineViewportWScalingStateCreateInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV,
next: ptr::null(),
viewport_w_scaling_enable: Bool32::default(),
viewport_count: u32::default(),
viewport_w_scalings: ptr::null(),
}
}
}
unsafe impl Send for PipelineViewportWScalingStateCreateInfoNV {}
unsafe impl Sync for PipelineViewportWScalingStateCreateInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPresentFrameTokenGGP.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PresentFrameTokenGGP {
pub s_type: StructureType,
pub next: *const c_void,
pub frame_token: GgpFrameToken,
}
impl Default for PresentFrameTokenGGP {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PRESENT_FRAME_TOKEN_GGP,
next: ptr::null(),
frame_token: GgpFrameToken::default(),
}
}
}
unsafe impl Send for PresentFrameTokenGGP {}
unsafe impl Sync for PresentFrameTokenGGP {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPresentId2KHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PresentId2KHR {
pub s_type: StructureType,
pub next: *const c_void,
pub swapchain_count: u32,
pub present_ids: *const u64,
}
impl Default for PresentId2KHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PRESENT_ID_2_KHR,
next: ptr::null(),
swapchain_count: u32::default(),
present_ids: ptr::null(),
}
}
}
unsafe impl Send for PresentId2KHR {}
unsafe impl Sync for PresentId2KHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPresentIdKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PresentIdKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub swapchain_count: u32,
pub present_ids: *const u64,
}
impl Default for PresentIdKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PRESENT_ID_KHR,
next: ptr::null(),
swapchain_count: u32::default(),
present_ids: ptr::null(),
}
}
}
unsafe impl Send for PresentIdKHR {}
unsafe impl Sync for PresentIdKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPresentInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PresentInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub wait_semaphore_count: u32,
pub wait_semaphores: *const Semaphore,
pub swapchain_count: u32,
pub swapchains: *const SwapchainKHR,
pub image_indices: *const u32,
pub results: *mut Result,
}
impl Default for PresentInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PRESENT_INFO_KHR,
next: ptr::null(),
wait_semaphore_count: u32::default(),
wait_semaphores: ptr::null(),
swapchain_count: u32::default(),
swapchains: ptr::null(),
image_indices: ptr::null(),
results: ptr::null_mut(),
}
}
}
unsafe impl Send for PresentInfoKHR {}
unsafe impl Sync for PresentInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPresentRegionKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PresentRegionKHR {
pub rectangle_count: u32,
pub rectangles: *const RectLayerKHR,
}
impl Default for PresentRegionKHR {
#[inline]
fn default() -> Self {
Self {
rectangle_count: u32::default(),
rectangles: ptr::null(),
}
}
}
unsafe impl Send for PresentRegionKHR {}
unsafe impl Sync for PresentRegionKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPresentRegionsKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PresentRegionsKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub swapchain_count: u32,
pub regions: *const PresentRegionKHR,
}
impl Default for PresentRegionsKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PRESENT_REGIONS_KHR,
next: ptr::null(),
swapchain_count: u32::default(),
regions: ptr::null(),
}
}
}
unsafe impl Send for PresentRegionsKHR {}
unsafe impl Sync for PresentRegionsKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPresentStageTimeEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct PresentStageTimeEXT {
pub stage: PresentStageFlagsEXT,
pub time: u64,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPresentTimeGOOGLE.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct PresentTimeGOOGLE {
pub present_id: u32,
pub desired_present_time: u64,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPresentTimesInfoGOOGLE.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PresentTimesInfoGOOGLE {
pub s_type: StructureType,
pub next: *const c_void,
pub swapchain_count: u32,
pub times: *const PresentTimeGOOGLE,
}
impl Default for PresentTimesInfoGOOGLE {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PRESENT_TIMES_INFO_GOOGLE,
next: ptr::null(),
swapchain_count: u32::default(),
times: ptr::null(),
}
}
}
unsafe impl Send for PresentTimesInfoGOOGLE {}
unsafe impl Sync for PresentTimesInfoGOOGLE {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPresentTimingInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PresentTimingInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: PresentTimingInfoFlagsEXT,
pub target_time: u64,
pub time_domain_id: u64,
pub present_stage_queries: PresentStageFlagsEXT,
pub target_time_domain_present_stage: PresentStageFlagsEXT,
}
impl Default for PresentTimingInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PRESENT_TIMING_INFO_EXT,
next: ptr::null(),
flags: PresentTimingInfoFlagsEXT::default(),
target_time: u64::default(),
time_domain_id: u64::default(),
present_stage_queries: PresentStageFlagsEXT::default(),
target_time_domain_present_stage: PresentStageFlagsEXT::default(),
}
}
}
unsafe impl Send for PresentTimingInfoEXT {}
unsafe impl Sync for PresentTimingInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPresentTimingSurfaceCapabilitiesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PresentTimingSurfaceCapabilitiesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub present_timing_supported: Bool32,
pub present_at_absolute_time_supported: Bool32,
pub present_at_relative_time_supported: Bool32,
pub present_stage_queries: PresentStageFlagsEXT,
}
impl Default for PresentTimingSurfaceCapabilitiesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PRESENT_TIMING_SURFACE_CAPABILITIES_EXT,
next: ptr::null_mut(),
present_timing_supported: Bool32::default(),
present_at_absolute_time_supported: Bool32::default(),
present_at_relative_time_supported: Bool32::default(),
present_stage_queries: PresentStageFlagsEXT::default(),
}
}
}
unsafe impl Send for PresentTimingSurfaceCapabilitiesEXT {}
unsafe impl Sync for PresentTimingSurfaceCapabilitiesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPresentTimingsInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PresentTimingsInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub swapchain_count: u32,
pub timing_infos: *const PresentTimingInfoEXT,
}
impl Default for PresentTimingsInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PRESENT_TIMINGS_INFO_EXT,
next: ptr::null(),
swapchain_count: u32::default(),
timing_infos: ptr::null(),
}
}
}
unsafe impl Send for PresentTimingsInfoEXT {}
unsafe impl Sync for PresentTimingsInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPresentWait2InfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PresentWait2InfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub present_id: u64,
pub timeout: u64,
}
impl Default for PresentWait2InfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PRESENT_WAIT_2_INFO_KHR,
next: ptr::null(),
present_id: u64::default(),
timeout: u64::default(),
}
}
}
unsafe impl Send for PresentWait2InfoKHR {}
unsafe impl Sync for PresentWait2InfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPrivateDataSlotCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PrivateDataSlotCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: PrivateDataSlotCreateFlags,
}
impl Default for PrivateDataSlotCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PRIVATE_DATA_SLOT_CREATE_INFO,
next: ptr::null(),
flags: PrivateDataSlotCreateFlags::default(),
}
}
}
unsafe impl Send for PrivateDataSlotCreateInfo {}
unsafe impl Sync for PrivateDataSlotCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkProtectedSubmitInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ProtectedSubmitInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub protected_submit: Bool32,
}
impl Default for ProtectedSubmitInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PROTECTED_SUBMIT_INFO,
next: ptr::null(),
protected_submit: Bool32::default(),
}
}
}
unsafe impl Send for ProtectedSubmitInfo {}
unsafe impl Sync for ProtectedSubmitInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPushConstantBankInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PushConstantBankInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub bank: u32,
}
impl Default for PushConstantBankInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PUSH_CONSTANT_BANK_INFO_NV,
next: ptr::null(),
bank: u32::default(),
}
}
}
unsafe impl Send for PushConstantBankInfoNV {}
unsafe impl Sync for PushConstantBankInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPushConstantRange.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct PushConstantRange {
pub stage_flags: ShaderStageFlags,
pub offset: u32,
pub size: u32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPushConstantsInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PushConstantsInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub layout: PipelineLayout,
pub stage_flags: ShaderStageFlags,
pub offset: u32,
pub size: u32,
pub values: *const c_void,
}
impl Default for PushConstantsInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PUSH_CONSTANTS_INFO,
next: ptr::null(),
layout: PipelineLayout::default(),
stage_flags: ShaderStageFlags::default(),
offset: u32::default(),
size: u32::default(),
values: ptr::null(),
}
}
}
unsafe impl Send for PushConstantsInfo {}
unsafe impl Sync for PushConstantsInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPushDataInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PushDataInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub offset: u32,
pub data: HostAddressRangeConstEXT,
}
impl Default for PushDataInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PUSH_DATA_INFO_EXT,
next: ptr::null(),
offset: u32::default(),
data: HostAddressRangeConstEXT::default(),
}
}
}
unsafe impl Send for PushDataInfoEXT {}
unsafe impl Sync for PushDataInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPushDescriptorSetInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PushDescriptorSetInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub stage_flags: ShaderStageFlags,
pub layout: PipelineLayout,
pub set: u32,
pub descriptor_write_count: u32,
pub descriptor_writes: *const WriteDescriptorSet,
}
impl Default for PushDescriptorSetInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PUSH_DESCRIPTOR_SET_INFO,
next: ptr::null(),
stage_flags: ShaderStageFlags::default(),
layout: PipelineLayout::default(),
set: u32::default(),
descriptor_write_count: u32::default(),
descriptor_writes: ptr::null(),
}
}
}
unsafe impl Send for PushDescriptorSetInfo {}
unsafe impl Sync for PushDescriptorSetInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPushDescriptorSetWithTemplateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct PushDescriptorSetWithTemplateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub descriptor_update_template: DescriptorUpdateTemplate,
pub layout: PipelineLayout,
pub set: u32,
pub data: *const c_void,
}
impl Default for PushDescriptorSetWithTemplateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO,
next: ptr::null(),
descriptor_update_template: DescriptorUpdateTemplate::default(),
layout: PipelineLayout::default(),
set: u32::default(),
data: ptr::null(),
}
}
}
unsafe impl Send for PushDescriptorSetWithTemplateInfo {}
unsafe impl Sync for PushDescriptorSetWithTemplateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkQueryLowLatencySupportNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct QueryLowLatencySupportNV {
pub s_type: StructureType,
pub next: *const c_void,
pub queried_low_latency_data: *mut c_void,
}
impl Default for QueryLowLatencySupportNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::QUERY_LOW_LATENCY_SUPPORT_NV,
next: ptr::null(),
queried_low_latency_data: ptr::null_mut(),
}
}
}
unsafe impl Send for QueryLowLatencySupportNV {}
unsafe impl Sync for QueryLowLatencySupportNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkQueryPoolCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct QueryPoolCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: QueryPoolCreateFlags,
pub query_type: QueryType,
pub query_count: u32,
pub pipeline_statistics: QueryPipelineStatisticFlags,
}
impl Default for QueryPoolCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::QUERY_POOL_CREATE_INFO,
next: ptr::null(),
flags: QueryPoolCreateFlags::default(),
query_type: QueryType::default(),
query_count: u32::default(),
pipeline_statistics: QueryPipelineStatisticFlags::default(),
}
}
}
unsafe impl Send for QueryPoolCreateInfo {}
unsafe impl Sync for QueryPoolCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkQueryPoolPerformanceCreateInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct QueryPoolPerformanceCreateInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub queue_family_index: u32,
pub counter_index_count: u32,
pub counter_indices: *const u32,
}
impl Default for QueryPoolPerformanceCreateInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR,
next: ptr::null(),
queue_family_index: u32::default(),
counter_index_count: u32::default(),
counter_indices: ptr::null(),
}
}
}
unsafe impl Send for QueryPoolPerformanceCreateInfoKHR {}
unsafe impl Sync for QueryPoolPerformanceCreateInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkQueryPoolPerformanceQueryCreateInfoINTEL.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct QueryPoolPerformanceQueryCreateInfoINTEL {
pub s_type: StructureType,
pub next: *const c_void,
pub performance_counters_sampling: QueryPoolSamplingModeINTEL,
}
impl Default for QueryPoolPerformanceQueryCreateInfoINTEL {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL,
next: ptr::null(),
performance_counters_sampling: QueryPoolSamplingModeINTEL::default(),
}
}
}
unsafe impl Send for QueryPoolPerformanceQueryCreateInfoINTEL {}
unsafe impl Sync for QueryPoolPerformanceQueryCreateInfoINTEL {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkQueryPoolVideoEncodeFeedbackCreateInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct QueryPoolVideoEncodeFeedbackCreateInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub encode_feedback_flags: VideoEncodeFeedbackFlagsKHR,
}
impl Default for QueryPoolVideoEncodeFeedbackCreateInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::QUERY_POOL_VIDEO_ENCODE_FEEDBACK_CREATE_INFO_KHR,
next: ptr::null(),
encode_feedback_flags: VideoEncodeFeedbackFlagsKHR::default(),
}
}
}
unsafe impl Send for QueryPoolVideoEncodeFeedbackCreateInfoKHR {}
unsafe impl Sync for QueryPoolVideoEncodeFeedbackCreateInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkQueueFamilyCheckpointProperties2NV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct QueueFamilyCheckpointProperties2NV {
pub s_type: StructureType,
pub next: *mut c_void,
pub checkpoint_execution_stage_mask: PipelineStageFlags2,
}
impl Default for QueueFamilyCheckpointProperties2NV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV,
next: ptr::null_mut(),
checkpoint_execution_stage_mask: PipelineStageFlags2::default(),
}
}
}
unsafe impl Send for QueueFamilyCheckpointProperties2NV {}
unsafe impl Sync for QueueFamilyCheckpointProperties2NV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkQueueFamilyCheckpointPropertiesNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct QueueFamilyCheckpointPropertiesNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub checkpoint_execution_stage_mask: PipelineStageFlags,
}
impl Default for QueueFamilyCheckpointPropertiesNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV,
next: ptr::null_mut(),
checkpoint_execution_stage_mask: PipelineStageFlags::default(),
}
}
}
unsafe impl Send for QueueFamilyCheckpointPropertiesNV {}
unsafe impl Sync for QueueFamilyCheckpointPropertiesNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkQueueFamilyDataGraphProcessingEnginePropertiesARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct QueueFamilyDataGraphProcessingEnginePropertiesARM {
pub s_type: StructureType,
pub next: *mut c_void,
pub foreign_semaphore_handle_types: ExternalSemaphoreHandleTypeFlags,
pub foreign_memory_handle_types: ExternalMemoryHandleTypeFlags,
}
impl Default for QueueFamilyDataGraphProcessingEnginePropertiesARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::QUEUE_FAMILY_DATA_GRAPH_PROCESSING_ENGINE_PROPERTIES_ARM,
next: ptr::null_mut(),
foreign_semaphore_handle_types: ExternalSemaphoreHandleTypeFlags::default(),
foreign_memory_handle_types: ExternalMemoryHandleTypeFlags::default(),
}
}
}
unsafe impl Send for QueueFamilyDataGraphProcessingEnginePropertiesARM {}
unsafe impl Sync for QueueFamilyDataGraphProcessingEnginePropertiesARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkQueueFamilyDataGraphPropertiesARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct QueueFamilyDataGraphPropertiesARM {
pub s_type: StructureType,
pub next: *mut c_void,
pub engine: PhysicalDeviceDataGraphProcessingEngineARM,
pub operation: PhysicalDeviceDataGraphOperationSupportARM,
}
impl Default for QueueFamilyDataGraphPropertiesARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::QUEUE_FAMILY_DATA_GRAPH_PROPERTIES_ARM,
next: ptr::null_mut(),
engine: PhysicalDeviceDataGraphProcessingEngineARM::default(),
operation: PhysicalDeviceDataGraphOperationSupportARM::default(),
}
}
}
unsafe impl Send for QueueFamilyDataGraphPropertiesARM {}
unsafe impl Sync for QueueFamilyDataGraphPropertiesARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkQueueFamilyGlobalPriorityProperties.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct QueueFamilyGlobalPriorityProperties {
pub s_type: StructureType,
pub next: *mut c_void,
pub priority_count: u32,
pub priorities: [QueueGlobalPriority; MAX_GLOBAL_PRIORITY_SIZE as usize],
}
impl Default for QueueFamilyGlobalPriorityProperties {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES,
next: ptr::null_mut(),
priority_count: u32::default(),
priorities: [QueueGlobalPriority::default(); MAX_GLOBAL_PRIORITY_SIZE],
}
}
}
unsafe impl Send for QueueFamilyGlobalPriorityProperties {}
unsafe impl Sync for QueueFamilyGlobalPriorityProperties {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkQueueFamilyOwnershipTransferPropertiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct QueueFamilyOwnershipTransferPropertiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub optimal_image_transfer_to_queue_families: u32,
}
impl Default for QueueFamilyOwnershipTransferPropertiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::QUEUE_FAMILY_OWNERSHIP_TRANSFER_PROPERTIES_KHR,
next: ptr::null_mut(),
optimal_image_transfer_to_queue_families: u32::default(),
}
}
}
unsafe impl Send for QueueFamilyOwnershipTransferPropertiesKHR {}
unsafe impl Sync for QueueFamilyOwnershipTransferPropertiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkQueueFamilyProperties.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct QueueFamilyProperties {
pub queue_flags: QueueFlags,
pub queue_count: u32,
pub timestamp_valid_bits: u32,
pub min_image_transfer_granularity: Extent3D,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkQueueFamilyProperties2.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct QueueFamilyProperties2 {
pub s_type: StructureType,
pub next: *mut c_void,
pub queue_family_properties: QueueFamilyProperties,
}
impl Default for QueueFamilyProperties2 {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::QUEUE_FAMILY_PROPERTIES_2,
next: ptr::null_mut(),
queue_family_properties: QueueFamilyProperties::default(),
}
}
}
unsafe impl Send for QueueFamilyProperties2 {}
unsafe impl Sync for QueueFamilyProperties2 {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkQueueFamilyQueryResultStatusPropertiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct QueueFamilyQueryResultStatusPropertiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub query_result_status_support: Bool32,
}
impl Default for QueueFamilyQueryResultStatusPropertiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR,
next: ptr::null_mut(),
query_result_status_support: Bool32::default(),
}
}
}
unsafe impl Send for QueueFamilyQueryResultStatusPropertiesKHR {}
unsafe impl Sync for QueueFamilyQueryResultStatusPropertiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkQueueFamilyVideoPropertiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct QueueFamilyVideoPropertiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub video_codec_operations: VideoCodecOperationFlagsKHR,
}
impl Default for QueueFamilyVideoPropertiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::QUEUE_FAMILY_VIDEO_PROPERTIES_KHR,
next: ptr::null_mut(),
video_codec_operations: VideoCodecOperationFlagsKHR::default(),
}
}
}
unsafe impl Send for QueueFamilyVideoPropertiesKHR {}
unsafe impl Sync for QueueFamilyVideoPropertiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct RayTracingPipelineClusterAccelerationStructureCreateInfoNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub allow_cluster_acceleration_structure: Bool32,
}
impl Default for RayTracingPipelineClusterAccelerationStructureCreateInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type:
StructureType::RAY_TRACING_PIPELINE_CLUSTER_ACCELERATION_STRUCTURE_CREATE_INFO_NV,
next: ptr::null_mut(),
allow_cluster_acceleration_structure: Bool32::default(),
}
}
}
unsafe impl Send for RayTracingPipelineClusterAccelerationStructureCreateInfoNV {}
unsafe impl Sync for RayTracingPipelineClusterAccelerationStructureCreateInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRayTracingPipelineCreateInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct RayTracingPipelineCreateInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: PipelineCreateFlags,
pub stage_count: u32,
pub stages: *const PipelineShaderStageCreateInfo,
pub group_count: u32,
pub groups: *const RayTracingShaderGroupCreateInfoKHR,
pub max_pipeline_ray_recursion_depth: u32,
pub library_info: *const PipelineLibraryCreateInfoKHR,
pub library_interface: *const RayTracingPipelineInterfaceCreateInfoKHR,
pub dynamic_state: *const PipelineDynamicStateCreateInfo,
pub layout: PipelineLayout,
pub base_pipeline_handle: Pipeline,
pub base_pipeline_index: i32,
}
impl Default for RayTracingPipelineCreateInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::RAY_TRACING_PIPELINE_CREATE_INFO_KHR,
next: ptr::null(),
flags: PipelineCreateFlags::default(),
stage_count: u32::default(),
stages: ptr::null(),
group_count: u32::default(),
groups: ptr::null(),
max_pipeline_ray_recursion_depth: u32::default(),
library_info: ptr::null(),
library_interface: ptr::null(),
dynamic_state: ptr::null(),
layout: PipelineLayout::default(),
base_pipeline_handle: Pipeline::default(),
base_pipeline_index: i32::default(),
}
}
}
unsafe impl Send for RayTracingPipelineCreateInfoKHR {}
unsafe impl Sync for RayTracingPipelineCreateInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRayTracingPipelineCreateInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct RayTracingPipelineCreateInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: PipelineCreateFlags,
pub stage_count: u32,
pub stages: *const PipelineShaderStageCreateInfo,
pub group_count: u32,
pub groups: *const RayTracingShaderGroupCreateInfoNV,
pub max_recursion_depth: u32,
pub layout: PipelineLayout,
pub base_pipeline_handle: Pipeline,
pub base_pipeline_index: i32,
}
impl Default for RayTracingPipelineCreateInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::RAY_TRACING_PIPELINE_CREATE_INFO_NV,
next: ptr::null(),
flags: PipelineCreateFlags::default(),
stage_count: u32::default(),
stages: ptr::null(),
group_count: u32::default(),
groups: ptr::null(),
max_recursion_depth: u32::default(),
layout: PipelineLayout::default(),
base_pipeline_handle: Pipeline::default(),
base_pipeline_index: i32::default(),
}
}
}
unsafe impl Send for RayTracingPipelineCreateInfoNV {}
unsafe impl Sync for RayTracingPipelineCreateInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRayTracingPipelineInterfaceCreateInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct RayTracingPipelineInterfaceCreateInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub max_pipeline_ray_payload_size: u32,
pub max_pipeline_ray_hit_attribute_size: u32,
}
impl Default for RayTracingPipelineInterfaceCreateInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR,
next: ptr::null(),
max_pipeline_ray_payload_size: u32::default(),
max_pipeline_ray_hit_attribute_size: u32::default(),
}
}
}
unsafe impl Send for RayTracingPipelineInterfaceCreateInfoKHR {}
unsafe impl Sync for RayTracingPipelineInterfaceCreateInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRayTracingShaderGroupCreateInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct RayTracingShaderGroupCreateInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub type_: RayTracingShaderGroupTypeKHR,
pub general_shader: u32,
pub closest_hit_shader: u32,
pub any_hit_shader: u32,
pub intersection_shader: u32,
pub shader_group_capture_replay_handle: *const c_void,
}
impl Default for RayTracingShaderGroupCreateInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR,
next: ptr::null(),
type_: RayTracingShaderGroupTypeKHR::default(),
general_shader: u32::default(),
closest_hit_shader: u32::default(),
any_hit_shader: u32::default(),
intersection_shader: u32::default(),
shader_group_capture_replay_handle: ptr::null(),
}
}
}
unsafe impl Send for RayTracingShaderGroupCreateInfoKHR {}
unsafe impl Sync for RayTracingShaderGroupCreateInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRayTracingShaderGroupCreateInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct RayTracingShaderGroupCreateInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub type_: RayTracingShaderGroupTypeKHR,
pub general_shader: u32,
pub closest_hit_shader: u32,
pub any_hit_shader: u32,
pub intersection_shader: u32,
}
impl Default for RayTracingShaderGroupCreateInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV,
next: ptr::null(),
type_: RayTracingShaderGroupTypeKHR::default(),
general_shader: u32::default(),
closest_hit_shader: u32::default(),
any_hit_shader: u32::default(),
intersection_shader: u32::default(),
}
}
}
unsafe impl Send for RayTracingShaderGroupCreateInfoNV {}
unsafe impl Sync for RayTracingShaderGroupCreateInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRect2D.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct Rect2D {
pub offset: Offset2D,
pub extent: Extent2D,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRectLayerKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct RectLayerKHR {
pub offset: Offset2D,
pub extent: Extent2D,
pub layer: u32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRefreshCycleDurationGOOGLE.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct RefreshCycleDurationGOOGLE {
pub refresh_duration: u64,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRefreshObjectKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct RefreshObjectKHR {
pub object_type: ObjectType,
pub object_handle: u64,
pub flags: RefreshObjectFlagsKHR,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRefreshObjectListKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct RefreshObjectListKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub object_count: u32,
pub objects: *const RefreshObjectKHR,
}
impl Default for RefreshObjectListKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::REFRESH_OBJECT_LIST_KHR,
next: ptr::null(),
object_count: u32::default(),
objects: ptr::null(),
}
}
}
unsafe impl Send for RefreshObjectListKHR {}
unsafe impl Sync for RefreshObjectListKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkReleaseCapturedPipelineDataInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ReleaseCapturedPipelineDataInfoKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub pipeline: Pipeline,
}
impl Default for ReleaseCapturedPipelineDataInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::RELEASE_CAPTURED_PIPELINE_DATA_INFO_KHR,
next: ptr::null_mut(),
pipeline: Pipeline::default(),
}
}
}
unsafe impl Send for ReleaseCapturedPipelineDataInfoKHR {}
unsafe impl Sync for ReleaseCapturedPipelineDataInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkReleaseSwapchainImagesInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ReleaseSwapchainImagesInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub swapchain: SwapchainKHR,
pub image_index_count: u32,
pub image_indices: *const u32,
}
impl Default for ReleaseSwapchainImagesInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::RELEASE_SWAPCHAIN_IMAGES_INFO_KHR,
next: ptr::null(),
swapchain: SwapchainKHR::default(),
image_index_count: u32::default(),
image_indices: ptr::null(),
}
}
}
unsafe impl Send for ReleaseSwapchainImagesInfoKHR {}
unsafe impl Sync for ReleaseSwapchainImagesInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRenderPassAttachmentBeginInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct RenderPassAttachmentBeginInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub attachment_count: u32,
pub attachments: *const ImageView,
}
impl Default for RenderPassAttachmentBeginInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::RENDER_PASS_ATTACHMENT_BEGIN_INFO,
next: ptr::null(),
attachment_count: u32::default(),
attachments: ptr::null(),
}
}
}
unsafe impl Send for RenderPassAttachmentBeginInfo {}
unsafe impl Sync for RenderPassAttachmentBeginInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRenderPassBeginInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct RenderPassBeginInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub render_pass: RenderPass,
pub framebuffer: Framebuffer,
pub render_area: Rect2D,
pub clear_value_count: u32,
pub clear_values: *const ClearValue,
}
impl Default for RenderPassBeginInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::RENDER_PASS_BEGIN_INFO,
next: ptr::null(),
render_pass: RenderPass::default(),
framebuffer: Framebuffer::default(),
render_area: Rect2D::default(),
clear_value_count: u32::default(),
clear_values: ptr::null(),
}
}
}
unsafe impl Send for RenderPassBeginInfo {}
unsafe impl Sync for RenderPassBeginInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRenderPassCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct RenderPassCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: RenderPassCreateFlags,
pub attachment_count: u32,
pub attachments: *const AttachmentDescription,
pub subpass_count: u32,
pub subpasses: *const SubpassDescription,
pub dependency_count: u32,
pub dependencies: *const SubpassDependency,
}
impl Default for RenderPassCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::RENDER_PASS_CREATE_INFO,
next: ptr::null(),
flags: RenderPassCreateFlags::default(),
attachment_count: u32::default(),
attachments: ptr::null(),
subpass_count: u32::default(),
subpasses: ptr::null(),
dependency_count: u32::default(),
dependencies: ptr::null(),
}
}
}
unsafe impl Send for RenderPassCreateInfo {}
unsafe impl Sync for RenderPassCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRenderPassCreateInfo2.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct RenderPassCreateInfo2 {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: RenderPassCreateFlags,
pub attachment_count: u32,
pub attachments: *const AttachmentDescription2,
pub subpass_count: u32,
pub subpasses: *const SubpassDescription2,
pub dependency_count: u32,
pub dependencies: *const SubpassDependency2,
pub correlated_view_mask_count: u32,
pub correlated_view_masks: *const u32,
}
impl Default for RenderPassCreateInfo2 {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::RENDER_PASS_CREATE_INFO_2,
next: ptr::null(),
flags: RenderPassCreateFlags::default(),
attachment_count: u32::default(),
attachments: ptr::null(),
subpass_count: u32::default(),
subpasses: ptr::null(),
dependency_count: u32::default(),
dependencies: ptr::null(),
correlated_view_mask_count: u32::default(),
correlated_view_masks: ptr::null(),
}
}
}
unsafe impl Send for RenderPassCreateInfo2 {}
unsafe impl Sync for RenderPassCreateInfo2 {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRenderPassCreationControlEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct RenderPassCreationControlEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub disallow_merging: Bool32,
}
impl Default for RenderPassCreationControlEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::RENDER_PASS_CREATION_CONTROL_EXT,
next: ptr::null(),
disallow_merging: Bool32::default(),
}
}
}
unsafe impl Send for RenderPassCreationControlEXT {}
unsafe impl Sync for RenderPassCreationControlEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRenderPassCreationFeedbackCreateInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct RenderPassCreationFeedbackCreateInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub render_pass_feedback: *mut RenderPassCreationFeedbackInfoEXT,
}
impl Default for RenderPassCreationFeedbackCreateInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT,
next: ptr::null(),
render_pass_feedback: ptr::null_mut(),
}
}
}
unsafe impl Send for RenderPassCreationFeedbackCreateInfoEXT {}
unsafe impl Sync for RenderPassCreationFeedbackCreateInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRenderPassCreationFeedbackInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct RenderPassCreationFeedbackInfoEXT {
pub post_merge_subpass_count: u32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRenderPassFragmentDensityMapCreateInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct RenderPassFragmentDensityMapCreateInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub fragment_density_map_attachment: AttachmentReference,
}
impl Default for RenderPassFragmentDensityMapCreateInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT,
next: ptr::null(),
fragment_density_map_attachment: AttachmentReference::default(),
}
}
}
unsafe impl Send for RenderPassFragmentDensityMapCreateInfoEXT {}
unsafe impl Sync for RenderPassFragmentDensityMapCreateInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRenderPassFragmentDensityMapOffsetEndInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct RenderPassFragmentDensityMapOffsetEndInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub fragment_density_offset_count: u32,
pub fragment_density_offsets: *const Offset2D,
}
impl Default for RenderPassFragmentDensityMapOffsetEndInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::RENDER_PASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_EXT,
next: ptr::null(),
fragment_density_offset_count: u32::default(),
fragment_density_offsets: ptr::null(),
}
}
}
unsafe impl Send for RenderPassFragmentDensityMapOffsetEndInfoEXT {}
unsafe impl Sync for RenderPassFragmentDensityMapOffsetEndInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRenderPassInputAttachmentAspectCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct RenderPassInputAttachmentAspectCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub aspect_reference_count: u32,
pub aspect_references: *const InputAttachmentAspectReference,
}
impl Default for RenderPassInputAttachmentAspectCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO,
next: ptr::null(),
aspect_reference_count: u32::default(),
aspect_references: ptr::null(),
}
}
}
unsafe impl Send for RenderPassInputAttachmentAspectCreateInfo {}
unsafe impl Sync for RenderPassInputAttachmentAspectCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRenderPassMultiviewCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct RenderPassMultiviewCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub subpass_count: u32,
pub view_masks: *const u32,
pub dependency_count: u32,
pub view_offsets: *const i32,
pub correlation_mask_count: u32,
pub correlation_masks: *const u32,
}
impl Default for RenderPassMultiviewCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::RENDER_PASS_MULTIVIEW_CREATE_INFO,
next: ptr::null(),
subpass_count: u32::default(),
view_masks: ptr::null(),
dependency_count: u32::default(),
view_offsets: ptr::null(),
correlation_mask_count: u32::default(),
correlation_masks: ptr::null(),
}
}
}
unsafe impl Send for RenderPassMultiviewCreateInfo {}
unsafe impl Sync for RenderPassMultiviewCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRenderPassPerformanceCountersByRegionBeginInfoARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct RenderPassPerformanceCountersByRegionBeginInfoARM {
pub s_type: StructureType,
pub next: *mut c_void,
pub counter_address_count: u32,
pub counter_addresses: *const DeviceAddress,
pub serialize_regions: Bool32,
pub counter_index_count: u32,
pub counter_indices: *mut u32,
}
impl Default for RenderPassPerformanceCountersByRegionBeginInfoARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::RENDER_PASS_PERFORMANCE_COUNTERS_BY_REGION_BEGIN_INFO_ARM,
next: ptr::null_mut(),
counter_address_count: u32::default(),
counter_addresses: ptr::null(),
serialize_regions: Bool32::default(),
counter_index_count: u32::default(),
counter_indices: ptr::null_mut(),
}
}
}
unsafe impl Send for RenderPassPerformanceCountersByRegionBeginInfoARM {}
unsafe impl Sync for RenderPassPerformanceCountersByRegionBeginInfoARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRenderPassSampleLocationsBeginInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct RenderPassSampleLocationsBeginInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub attachment_initial_sample_locations_count: u32,
pub attachment_initial_sample_locations: *const AttachmentSampleLocationsEXT,
pub post_subpass_sample_locations_count: u32,
pub post_subpass_sample_locations: *const SubpassSampleLocationsEXT,
}
impl Default for RenderPassSampleLocationsBeginInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT,
next: ptr::null(),
attachment_initial_sample_locations_count: u32::default(),
attachment_initial_sample_locations: ptr::null(),
post_subpass_sample_locations_count: u32::default(),
post_subpass_sample_locations: ptr::null(),
}
}
}
unsafe impl Send for RenderPassSampleLocationsBeginInfoEXT {}
unsafe impl Sync for RenderPassSampleLocationsBeginInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRenderPassStripeBeginInfoARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct RenderPassStripeBeginInfoARM {
pub s_type: StructureType,
pub next: *const c_void,
pub stripe_info_count: u32,
pub stripe_infos: *const RenderPassStripeInfoARM,
}
impl Default for RenderPassStripeBeginInfoARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::RENDER_PASS_STRIPE_BEGIN_INFO_ARM,
next: ptr::null(),
stripe_info_count: u32::default(),
stripe_infos: ptr::null(),
}
}
}
unsafe impl Send for RenderPassStripeBeginInfoARM {}
unsafe impl Sync for RenderPassStripeBeginInfoARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRenderPassStripeInfoARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct RenderPassStripeInfoARM {
pub s_type: StructureType,
pub next: *const c_void,
pub stripe_area: Rect2D,
}
impl Default for RenderPassStripeInfoARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::RENDER_PASS_STRIPE_INFO_ARM,
next: ptr::null(),
stripe_area: Rect2D::default(),
}
}
}
unsafe impl Send for RenderPassStripeInfoARM {}
unsafe impl Sync for RenderPassStripeInfoARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRenderPassStripeSubmitInfoARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct RenderPassStripeSubmitInfoARM {
pub s_type: StructureType,
pub next: *const c_void,
pub stripe_semaphore_info_count: u32,
pub stripe_semaphore_infos: *const SemaphoreSubmitInfo,
}
impl Default for RenderPassStripeSubmitInfoARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::RENDER_PASS_STRIPE_SUBMIT_INFO_ARM,
next: ptr::null(),
stripe_semaphore_info_count: u32::default(),
stripe_semaphore_infos: ptr::null(),
}
}
}
unsafe impl Send for RenderPassStripeSubmitInfoARM {}
unsafe impl Sync for RenderPassStripeSubmitInfoARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRenderPassSubpassFeedbackCreateInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct RenderPassSubpassFeedbackCreateInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub subpass_feedback: *mut RenderPassSubpassFeedbackInfoEXT,
}
impl Default for RenderPassSubpassFeedbackCreateInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT,
next: ptr::null(),
subpass_feedback: ptr::null_mut(),
}
}
}
unsafe impl Send for RenderPassSubpassFeedbackCreateInfoEXT {}
unsafe impl Sync for RenderPassSubpassFeedbackCreateInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRenderPassSubpassFeedbackInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct RenderPassSubpassFeedbackInfoEXT {
pub subpass_merge_status: SubpassMergeStatusEXT,
pub description: StringArray<MAX_DESCRIPTION_SIZE>,
pub post_merge_index: u32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRenderPassTileShadingCreateInfoQCOM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct RenderPassTileShadingCreateInfoQCOM {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: TileShadingRenderPassFlagsQCOM,
pub tile_apron_size: Extent2D,
}
impl Default for RenderPassTileShadingCreateInfoQCOM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::RENDER_PASS_TILE_SHADING_CREATE_INFO_QCOM,
next: ptr::null(),
flags: TileShadingRenderPassFlagsQCOM::default(),
tile_apron_size: Extent2D::default(),
}
}
}
unsafe impl Send for RenderPassTileShadingCreateInfoQCOM {}
unsafe impl Sync for RenderPassTileShadingCreateInfoQCOM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRenderPassTransformBeginInfoQCOM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct RenderPassTransformBeginInfoQCOM {
pub s_type: StructureType,
pub next: *const c_void,
pub transform: SurfaceTransformFlagsKHR,
}
impl Default for RenderPassTransformBeginInfoQCOM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM,
next: ptr::null(),
transform: SurfaceTransformFlagsKHR::default(),
}
}
}
unsafe impl Send for RenderPassTransformBeginInfoQCOM {}
unsafe impl Sync for RenderPassTransformBeginInfoQCOM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRenderingAreaInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct RenderingAreaInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub view_mask: u32,
pub color_attachment_count: u32,
pub color_attachment_formats: *const Format,
pub depth_attachment_format: Format,
pub stencil_attachment_format: Format,
}
impl Default for RenderingAreaInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::RENDERING_AREA_INFO,
next: ptr::null(),
view_mask: u32::default(),
color_attachment_count: u32::default(),
color_attachment_formats: ptr::null(),
depth_attachment_format: Format::default(),
stencil_attachment_format: Format::default(),
}
}
}
unsafe impl Send for RenderingAreaInfo {}
unsafe impl Sync for RenderingAreaInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRenderingAttachmentFlagsInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct RenderingAttachmentFlagsInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: RenderingAttachmentFlagsKHR,
}
impl Default for RenderingAttachmentFlagsInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::RENDERING_ATTACHMENT_FLAGS_INFO_KHR,
next: ptr::null(),
flags: RenderingAttachmentFlagsKHR::default(),
}
}
}
unsafe impl Send for RenderingAttachmentFlagsInfoKHR {}
unsafe impl Sync for RenderingAttachmentFlagsInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRenderingAttachmentInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug)]
pub struct RenderingAttachmentInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub image_view: ImageView,
pub image_layout: ImageLayout,
pub resolve_mode: ResolveModeFlags,
pub resolve_image_view: ImageView,
pub resolve_image_layout: ImageLayout,
pub load_op: AttachmentLoadOp,
pub store_op: AttachmentStoreOp,
pub clear_value: ClearValue,
}
impl Default for RenderingAttachmentInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::RENDERING_ATTACHMENT_INFO,
next: ptr::null(),
image_view: ImageView::default(),
image_layout: ImageLayout::default(),
resolve_mode: ResolveModeFlags::default(),
resolve_image_view: ImageView::default(),
resolve_image_layout: ImageLayout::default(),
load_op: AttachmentLoadOp::default(),
store_op: AttachmentStoreOp::default(),
clear_value: ClearValue::default(),
}
}
}
unsafe impl Send for RenderingAttachmentInfo {}
unsafe impl Sync for RenderingAttachmentInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRenderingAttachmentLocationInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct RenderingAttachmentLocationInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub color_attachment_count: u32,
pub color_attachment_locations: *const u32,
}
impl Default for RenderingAttachmentLocationInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::RENDERING_ATTACHMENT_LOCATION_INFO,
next: ptr::null(),
color_attachment_count: u32::default(),
color_attachment_locations: ptr::null(),
}
}
}
unsafe impl Send for RenderingAttachmentLocationInfo {}
unsafe impl Sync for RenderingAttachmentLocationInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRenderingEndInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct RenderingEndInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
}
impl Default for RenderingEndInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::RENDERING_END_INFO_KHR,
next: ptr::null(),
}
}
}
unsafe impl Send for RenderingEndInfoKHR {}
unsafe impl Sync for RenderingEndInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRenderingFragmentDensityMapAttachmentInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct RenderingFragmentDensityMapAttachmentInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub image_view: ImageView,
pub image_layout: ImageLayout,
}
impl Default for RenderingFragmentDensityMapAttachmentInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT,
next: ptr::null(),
image_view: ImageView::default(),
image_layout: ImageLayout::default(),
}
}
}
unsafe impl Send for RenderingFragmentDensityMapAttachmentInfoEXT {}
unsafe impl Sync for RenderingFragmentDensityMapAttachmentInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRenderingFragmentShadingRateAttachmentInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct RenderingFragmentShadingRateAttachmentInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub image_view: ImageView,
pub image_layout: ImageLayout,
pub shading_rate_attachment_texel_size: Extent2D,
}
impl Default for RenderingFragmentShadingRateAttachmentInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR,
next: ptr::null(),
image_view: ImageView::default(),
image_layout: ImageLayout::default(),
shading_rate_attachment_texel_size: Extent2D::default(),
}
}
}
unsafe impl Send for RenderingFragmentShadingRateAttachmentInfoKHR {}
unsafe impl Sync for RenderingFragmentShadingRateAttachmentInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRenderingInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct RenderingInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: RenderingFlags,
pub render_area: Rect2D,
pub layer_count: u32,
pub view_mask: u32,
pub color_attachment_count: u32,
pub color_attachments: *const RenderingAttachmentInfo,
pub depth_attachment: *const RenderingAttachmentInfo,
pub stencil_attachment: *const RenderingAttachmentInfo,
}
impl Default for RenderingInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::RENDERING_INFO,
next: ptr::null(),
flags: RenderingFlags::default(),
render_area: Rect2D::default(),
layer_count: u32::default(),
view_mask: u32::default(),
color_attachment_count: u32::default(),
color_attachments: ptr::null(),
depth_attachment: ptr::null(),
stencil_attachment: ptr::null(),
}
}
}
unsafe impl Send for RenderingInfo {}
unsafe impl Sync for RenderingInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRenderingInputAttachmentIndexInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct RenderingInputAttachmentIndexInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub color_attachment_count: u32,
pub color_attachment_input_indices: *const u32,
pub depth_input_attachment_index: *const u32,
pub stencil_input_attachment_index: *const u32,
}
impl Default for RenderingInputAttachmentIndexInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::RENDERING_INPUT_ATTACHMENT_INDEX_INFO,
next: ptr::null(),
color_attachment_count: u32::default(),
color_attachment_input_indices: ptr::null(),
depth_input_attachment_index: ptr::null(),
stencil_input_attachment_index: ptr::null(),
}
}
}
unsafe impl Send for RenderingInputAttachmentIndexInfo {}
unsafe impl Sync for RenderingInputAttachmentIndexInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkResolveImageInfo2.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ResolveImageInfo2 {
pub s_type: StructureType,
pub next: *const c_void,
pub src_image: Image,
pub src_image_layout: ImageLayout,
pub dst_image: Image,
pub dst_image_layout: ImageLayout,
pub region_count: u32,
pub regions: *const ImageResolve2,
}
impl Default for ResolveImageInfo2 {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::RESOLVE_IMAGE_INFO_2,
next: ptr::null(),
src_image: Image::default(),
src_image_layout: ImageLayout::default(),
dst_image: Image::default(),
dst_image_layout: ImageLayout::default(),
region_count: u32::default(),
regions: ptr::null(),
}
}
}
unsafe impl Send for ResolveImageInfo2 {}
unsafe impl Sync for ResolveImageInfo2 {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkResolveImageModeInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ResolveImageModeInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: ResolveImageFlagsKHR,
pub resolve_mode: ResolveModeFlags,
pub stencil_resolve_mode: ResolveModeFlags,
}
impl Default for ResolveImageModeInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::RESOLVE_IMAGE_MODE_INFO_KHR,
next: ptr::null(),
flags: ResolveImageFlagsKHR::default(),
resolve_mode: ResolveModeFlags::default(),
stencil_resolve_mode: ResolveModeFlags::default(),
}
}
}
unsafe impl Send for ResolveImageModeInfoKHR {}
unsafe impl Sync for ResolveImageModeInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkResourceDescriptorInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug)]
pub struct ResourceDescriptorInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub type_: DescriptorType,
pub data: ResourceDescriptorDataEXT,
}
impl Default for ResourceDescriptorInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::RESOURCE_DESCRIPTOR_INFO_EXT,
next: ptr::null(),
type_: DescriptorType::default(),
data: ResourceDescriptorDataEXT::default(),
}
}
}
unsafe impl Send for ResourceDescriptorInfoEXT {}
unsafe impl Sync for ResourceDescriptorInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSRTDataNV.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, PartialEq)]
pub struct SRTDataNV {
pub sx: f32,
pub a: f32,
pub b: f32,
pub pvx: f32,
pub sy: f32,
pub c: f32,
pub pvy: f32,
pub sz: f32,
pub pvz: f32,
pub qx: f32,
pub qy: f32,
pub qz: f32,
pub qw: f32,
pub tx: f32,
pub ty: f32,
pub tz: f32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSampleLocationEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, PartialEq)]
pub struct SampleLocationEXT {
pub x: f32,
pub y: f32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSampleLocationsInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SampleLocationsInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub sample_locations_per_pixel: SampleCountFlags,
pub sample_location_grid_size: Extent2D,
pub sample_locations_count: u32,
pub sample_locations: *const SampleLocationEXT,
}
impl Default for SampleLocationsInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SAMPLE_LOCATIONS_INFO_EXT,
next: ptr::null(),
sample_locations_per_pixel: SampleCountFlags::default(),
sample_location_grid_size: Extent2D::default(),
sample_locations_count: u32::default(),
sample_locations: ptr::null(),
}
}
}
unsafe impl Send for SampleLocationsInfoEXT {}
unsafe impl Sync for SampleLocationsInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSamplerBlockMatchWindowCreateInfoQCOM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SamplerBlockMatchWindowCreateInfoQCOM {
pub s_type: StructureType,
pub next: *const c_void,
pub window_extent: Extent2D,
pub window_compare_mode: BlockMatchWindowCompareModeQCOM,
}
impl Default for SamplerBlockMatchWindowCreateInfoQCOM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SAMPLER_BLOCK_MATCH_WINDOW_CREATE_INFO_QCOM,
next: ptr::null(),
window_extent: Extent2D::default(),
window_compare_mode: BlockMatchWindowCompareModeQCOM::default(),
}
}
}
unsafe impl Send for SamplerBlockMatchWindowCreateInfoQCOM {}
unsafe impl Sync for SamplerBlockMatchWindowCreateInfoQCOM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSamplerBorderColorComponentMappingCreateInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SamplerBorderColorComponentMappingCreateInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub components: ComponentMapping,
pub srgb: Bool32,
}
impl Default for SamplerBorderColorComponentMappingCreateInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT,
next: ptr::null(),
components: ComponentMapping::default(),
srgb: Bool32::default(),
}
}
}
unsafe impl Send for SamplerBorderColorComponentMappingCreateInfoEXT {}
unsafe impl Sync for SamplerBorderColorComponentMappingCreateInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSamplerCaptureDescriptorDataInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SamplerCaptureDescriptorDataInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub sampler: Sampler,
}
impl Default for SamplerCaptureDescriptorDataInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
next: ptr::null(),
sampler: Sampler::default(),
}
}
}
unsafe impl Send for SamplerCaptureDescriptorDataInfoEXT {}
unsafe impl Sync for SamplerCaptureDescriptorDataInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSamplerCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct SamplerCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: SamplerCreateFlags,
pub mag_filter: Filter,
pub min_filter: Filter,
pub mipmap_mode: SamplerMipmapMode,
pub address_mode_u: SamplerAddressMode,
pub address_mode_v: SamplerAddressMode,
pub address_mode_w: SamplerAddressMode,
pub mip_lod_bias: f32,
pub anisotropy_enable: Bool32,
pub max_anisotropy: f32,
pub compare_enable: Bool32,
pub compare_op: CompareOp,
pub min_lod: f32,
pub max_lod: f32,
pub border_color: BorderColor,
pub unnormalized_coordinates: Bool32,
}
impl Default for SamplerCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SAMPLER_CREATE_INFO,
next: ptr::null(),
flags: SamplerCreateFlags::default(),
mag_filter: Filter::default(),
min_filter: Filter::default(),
mipmap_mode: SamplerMipmapMode::default(),
address_mode_u: SamplerAddressMode::default(),
address_mode_v: SamplerAddressMode::default(),
address_mode_w: SamplerAddressMode::default(),
mip_lod_bias: f32::default(),
anisotropy_enable: Bool32::default(),
max_anisotropy: f32::default(),
compare_enable: Bool32::default(),
compare_op: CompareOp::default(),
min_lod: f32::default(),
max_lod: f32::default(),
border_color: BorderColor::default(),
unnormalized_coordinates: Bool32::default(),
}
}
}
unsafe impl Send for SamplerCreateInfo {}
unsafe impl Sync for SamplerCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSamplerCubicWeightsCreateInfoQCOM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SamplerCubicWeightsCreateInfoQCOM {
pub s_type: StructureType,
pub next: *const c_void,
pub cubic_weights: CubicFilterWeightsQCOM,
}
impl Default for SamplerCubicWeightsCreateInfoQCOM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SAMPLER_CUBIC_WEIGHTS_CREATE_INFO_QCOM,
next: ptr::null(),
cubic_weights: CubicFilterWeightsQCOM::default(),
}
}
}
unsafe impl Send for SamplerCubicWeightsCreateInfoQCOM {}
unsafe impl Sync for SamplerCubicWeightsCreateInfoQCOM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSamplerCustomBorderColorCreateInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug)]
pub struct SamplerCustomBorderColorCreateInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub custom_border_color: ClearColorValue,
pub format: Format,
}
impl Default for SamplerCustomBorderColorCreateInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT,
next: ptr::null(),
custom_border_color: ClearColorValue::default(),
format: Format::default(),
}
}
}
unsafe impl Send for SamplerCustomBorderColorCreateInfoEXT {}
unsafe impl Sync for SamplerCustomBorderColorCreateInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSamplerCustomBorderColorIndexCreateInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SamplerCustomBorderColorIndexCreateInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub index: u32,
}
impl Default for SamplerCustomBorderColorIndexCreateInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SAMPLER_CUSTOM_BORDER_COLOR_INDEX_CREATE_INFO_EXT,
next: ptr::null(),
index: u32::default(),
}
}
}
unsafe impl Send for SamplerCustomBorderColorIndexCreateInfoEXT {}
unsafe impl Sync for SamplerCustomBorderColorIndexCreateInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSamplerReductionModeCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SamplerReductionModeCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub reduction_mode: SamplerReductionMode,
}
impl Default for SamplerReductionModeCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SAMPLER_REDUCTION_MODE_CREATE_INFO,
next: ptr::null(),
reduction_mode: SamplerReductionMode::default(),
}
}
}
unsafe impl Send for SamplerReductionModeCreateInfo {}
unsafe impl Sync for SamplerReductionModeCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSamplerYcbcrConversionCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SamplerYcbcrConversionCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub format: Format,
pub ycbcr_model: SamplerYcbcrModelConversion,
pub ycbcr_range: SamplerYcbcrRange,
pub components: ComponentMapping,
pub x_chroma_offset: ChromaLocation,
pub y_chroma_offset: ChromaLocation,
pub chroma_filter: Filter,
pub force_explicit_reconstruction: Bool32,
}
impl Default for SamplerYcbcrConversionCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SAMPLER_YCBCR_CONVERSION_CREATE_INFO,
next: ptr::null(),
format: Format::default(),
ycbcr_model: SamplerYcbcrModelConversion::default(),
ycbcr_range: SamplerYcbcrRange::default(),
components: ComponentMapping::default(),
x_chroma_offset: ChromaLocation::default(),
y_chroma_offset: ChromaLocation::default(),
chroma_filter: Filter::default(),
force_explicit_reconstruction: Bool32::default(),
}
}
}
unsafe impl Send for SamplerYcbcrConversionCreateInfo {}
unsafe impl Sync for SamplerYcbcrConversionCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSamplerYcbcrConversionImageFormatProperties.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SamplerYcbcrConversionImageFormatProperties {
pub s_type: StructureType,
pub next: *mut c_void,
pub combined_image_sampler_descriptor_count: u32,
}
impl Default for SamplerYcbcrConversionImageFormatProperties {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES,
next: ptr::null_mut(),
combined_image_sampler_descriptor_count: u32::default(),
}
}
}
unsafe impl Send for SamplerYcbcrConversionImageFormatProperties {}
unsafe impl Sync for SamplerYcbcrConversionImageFormatProperties {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSamplerYcbcrConversionInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SamplerYcbcrConversionInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub conversion: SamplerYcbcrConversion,
}
impl Default for SamplerYcbcrConversionInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SAMPLER_YCBCR_CONVERSION_INFO,
next: ptr::null(),
conversion: SamplerYcbcrConversion::default(),
}
}
}
unsafe impl Send for SamplerYcbcrConversionInfo {}
unsafe impl Sync for SamplerYcbcrConversionInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM {
pub s_type: StructureType,
pub next: *mut c_void,
pub enable_y_degamma: Bool32,
pub enable_cb_cr_degamma: Bool32,
}
impl Default for SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SAMPLER_YCBCR_CONVERSION_YCBCR_DEGAMMA_CREATE_INFO_QCOM,
next: ptr::null_mut(),
enable_y_degamma: Bool32::default(),
enable_cb_cr_degamma: Bool32::default(),
}
}
}
unsafe impl Send for SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM {}
unsafe impl Sync for SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSciSyncAttributesInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SciSyncAttributesInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub client_type: SciSyncClientTypeNV,
pub primitive_type: SciSyncPrimitiveTypeNV,
}
impl Default for SciSyncAttributesInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SCI_SYNC_ATTRIBUTES_INFO_NV,
next: ptr::null(),
client_type: SciSyncClientTypeNV::default(),
primitive_type: SciSyncPrimitiveTypeNV::default(),
}
}
}
unsafe impl Send for SciSyncAttributesInfoNV {}
unsafe impl Sync for SciSyncAttributesInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkScreenBufferFormatPropertiesQNX.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ScreenBufferFormatPropertiesQNX {
pub s_type: StructureType,
pub next: *mut c_void,
pub format: Format,
pub external_format: u64,
pub screen_usage: u64,
pub format_features: FormatFeatureFlags,
pub sampler_ycbcr_conversion_components: ComponentMapping,
pub suggested_ycbcr_model: SamplerYcbcrModelConversion,
pub suggested_ycbcr_range: SamplerYcbcrRange,
pub suggested_x_chroma_offset: ChromaLocation,
pub suggested_y_chroma_offset: ChromaLocation,
}
impl Default for ScreenBufferFormatPropertiesQNX {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SCREEN_BUFFER_FORMAT_PROPERTIES_QNX,
next: ptr::null_mut(),
format: Format::default(),
external_format: u64::default(),
screen_usage: u64::default(),
format_features: FormatFeatureFlags::default(),
sampler_ycbcr_conversion_components: ComponentMapping::default(),
suggested_ycbcr_model: SamplerYcbcrModelConversion::default(),
suggested_ycbcr_range: SamplerYcbcrRange::default(),
suggested_x_chroma_offset: ChromaLocation::default(),
suggested_y_chroma_offset: ChromaLocation::default(),
}
}
}
unsafe impl Send for ScreenBufferFormatPropertiesQNX {}
unsafe impl Sync for ScreenBufferFormatPropertiesQNX {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkScreenBufferPropertiesQNX.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ScreenBufferPropertiesQNX {
pub s_type: StructureType,
pub next: *mut c_void,
pub allocation_size: DeviceSize,
pub memory_type_bits: u32,
}
impl Default for ScreenBufferPropertiesQNX {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SCREEN_BUFFER_PROPERTIES_QNX,
next: ptr::null_mut(),
allocation_size: DeviceSize::default(),
memory_type_bits: u32::default(),
}
}
}
unsafe impl Send for ScreenBufferPropertiesQNX {}
unsafe impl Sync for ScreenBufferPropertiesQNX {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkScreenSurfaceCreateInfoQNX.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ScreenSurfaceCreateInfoQNX {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: ScreenSurfaceCreateFlagsQNX,
pub context: *mut _screen_context,
pub window: *mut _screen_window,
}
impl Default for ScreenSurfaceCreateInfoQNX {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SCREEN_SURFACE_CREATE_INFO_QNX,
next: ptr::null(),
flags: ScreenSurfaceCreateFlagsQNX::default(),
context: ptr::null_mut(),
window: ptr::null_mut(),
}
}
}
unsafe impl Send for ScreenSurfaceCreateInfoQNX {}
unsafe impl Sync for ScreenSurfaceCreateInfoQNX {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSemaphoreCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SemaphoreCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: SemaphoreCreateFlags,
}
impl Default for SemaphoreCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SEMAPHORE_CREATE_INFO,
next: ptr::null(),
flags: SemaphoreCreateFlags::default(),
}
}
}
unsafe impl Send for SemaphoreCreateInfo {}
unsafe impl Sync for SemaphoreCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSemaphoreGetFdInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SemaphoreGetFdInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub semaphore: Semaphore,
pub handle_type: ExternalSemaphoreHandleTypeFlags,
}
impl Default for SemaphoreGetFdInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SEMAPHORE_GET_FD_INFO_KHR,
next: ptr::null(),
semaphore: Semaphore::default(),
handle_type: ExternalSemaphoreHandleTypeFlags::default(),
}
}
}
unsafe impl Send for SemaphoreGetFdInfoKHR {}
unsafe impl Sync for SemaphoreGetFdInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSemaphoreGetSciSyncInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SemaphoreGetSciSyncInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub semaphore: Semaphore,
pub handle_type: ExternalSemaphoreHandleTypeFlags,
}
impl Default for SemaphoreGetSciSyncInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SEMAPHORE_GET_SCI_SYNC_INFO_NV,
next: ptr::null(),
semaphore: Semaphore::default(),
handle_type: ExternalSemaphoreHandleTypeFlags::default(),
}
}
}
unsafe impl Send for SemaphoreGetSciSyncInfoNV {}
unsafe impl Sync for SemaphoreGetSciSyncInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSemaphoreGetWin32HandleInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SemaphoreGetWin32HandleInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub semaphore: Semaphore,
pub handle_type: ExternalSemaphoreHandleTypeFlags,
}
impl Default for SemaphoreGetWin32HandleInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR,
next: ptr::null(),
semaphore: Semaphore::default(),
handle_type: ExternalSemaphoreHandleTypeFlags::default(),
}
}
}
unsafe impl Send for SemaphoreGetWin32HandleInfoKHR {}
unsafe impl Sync for SemaphoreGetWin32HandleInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSemaphoreGetZirconHandleInfoFUCHSIA.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SemaphoreGetZirconHandleInfoFUCHSIA {
pub s_type: StructureType,
pub next: *const c_void,
pub semaphore: Semaphore,
pub handle_type: ExternalSemaphoreHandleTypeFlags,
}
impl Default for SemaphoreGetZirconHandleInfoFUCHSIA {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA,
next: ptr::null(),
semaphore: Semaphore::default(),
handle_type: ExternalSemaphoreHandleTypeFlags::default(),
}
}
}
unsafe impl Send for SemaphoreGetZirconHandleInfoFUCHSIA {}
unsafe impl Sync for SemaphoreGetZirconHandleInfoFUCHSIA {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSemaphoreSciSyncCreateInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SemaphoreSciSyncCreateInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub semaphore_pool: SemaphoreSciSyncPoolNV,
pub fence: *const NvSciSyncFence,
}
impl Default for SemaphoreSciSyncCreateInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SEMAPHORE_SCI_SYNC_CREATE_INFO_NV,
next: ptr::null(),
semaphore_pool: SemaphoreSciSyncPoolNV::default(),
fence: ptr::null(),
}
}
}
unsafe impl Send for SemaphoreSciSyncCreateInfoNV {}
unsafe impl Sync for SemaphoreSciSyncCreateInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSemaphoreSciSyncPoolCreateInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SemaphoreSciSyncPoolCreateInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub handle: NvSciSyncObj,
}
impl Default for SemaphoreSciSyncPoolCreateInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SEMAPHORE_SCI_SYNC_POOL_CREATE_INFO_NV,
next: ptr::null(),
handle: ptr::null_mut(),
}
}
}
unsafe impl Send for SemaphoreSciSyncPoolCreateInfoNV {}
unsafe impl Sync for SemaphoreSciSyncPoolCreateInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSemaphoreSignalInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SemaphoreSignalInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub semaphore: Semaphore,
pub value: u64,
}
impl Default for SemaphoreSignalInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SEMAPHORE_SIGNAL_INFO,
next: ptr::null(),
semaphore: Semaphore::default(),
value: u64::default(),
}
}
}
unsafe impl Send for SemaphoreSignalInfo {}
unsafe impl Sync for SemaphoreSignalInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSemaphoreSubmitInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SemaphoreSubmitInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub semaphore: Semaphore,
pub value: u64,
pub stage_mask: PipelineStageFlags2,
pub device_index: u32,
}
impl Default for SemaphoreSubmitInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SEMAPHORE_SUBMIT_INFO,
next: ptr::null(),
semaphore: Semaphore::default(),
value: u64::default(),
stage_mask: PipelineStageFlags2::default(),
device_index: u32::default(),
}
}
}
unsafe impl Send for SemaphoreSubmitInfo {}
unsafe impl Sync for SemaphoreSubmitInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSemaphoreTypeCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SemaphoreTypeCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub semaphore_type: SemaphoreType,
pub initial_value: u64,
}
impl Default for SemaphoreTypeCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SEMAPHORE_TYPE_CREATE_INFO,
next: ptr::null(),
semaphore_type: SemaphoreType::default(),
initial_value: u64::default(),
}
}
}
unsafe impl Send for SemaphoreTypeCreateInfo {}
unsafe impl Sync for SemaphoreTypeCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSemaphoreWaitInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SemaphoreWaitInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: SemaphoreWaitFlags,
pub semaphore_count: u32,
pub semaphores: *const Semaphore,
pub values: *const u64,
}
impl Default for SemaphoreWaitInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SEMAPHORE_WAIT_INFO,
next: ptr::null(),
flags: SemaphoreWaitFlags::default(),
semaphore_count: u32::default(),
semaphores: ptr::null(),
values: ptr::null(),
}
}
}
unsafe impl Send for SemaphoreWaitInfo {}
unsafe impl Sync for SemaphoreWaitInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSetDescriptorBufferOffsetsInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SetDescriptorBufferOffsetsInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub stage_flags: ShaderStageFlags,
pub layout: PipelineLayout,
pub first_set: u32,
pub set_count: u32,
pub buffer_indices: *const u32,
pub offsets: *const DeviceSize,
}
impl Default for SetDescriptorBufferOffsetsInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT,
next: ptr::null(),
stage_flags: ShaderStageFlags::default(),
layout: PipelineLayout::default(),
first_set: u32::default(),
set_count: u32::default(),
buffer_indices: ptr::null(),
offsets: ptr::null(),
}
}
}
unsafe impl Send for SetDescriptorBufferOffsetsInfoEXT {}
unsafe impl Sync for SetDescriptorBufferOffsetsInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSetLatencyMarkerInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SetLatencyMarkerInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub present_id: u64,
pub marker: LatencyMarkerNV,
}
impl Default for SetLatencyMarkerInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SET_LATENCY_MARKER_INFO_NV,
next: ptr::null(),
present_id: u64::default(),
marker: LatencyMarkerNV::default(),
}
}
}
unsafe impl Send for SetLatencyMarkerInfoNV {}
unsafe impl Sync for SetLatencyMarkerInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSetPresentConfigNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SetPresentConfigNV {
pub s_type: StructureType,
pub next: *const c_void,
pub num_frames_per_batch: u32,
pub present_config_feedback: u32,
}
impl Default for SetPresentConfigNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SET_PRESENT_CONFIG_NV,
next: ptr::null(),
num_frames_per_batch: u32::default(),
present_config_feedback: u32::default(),
}
}
}
unsafe impl Send for SetPresentConfigNV {}
unsafe impl Sync for SetPresentConfigNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSetStateFlagsIndirectCommandNV.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct SetStateFlagsIndirectCommandNV {
pub data: u32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkShaderCreateInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ShaderCreateInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: ShaderCreateFlagsEXT,
pub stage: ShaderStageFlags,
pub next_stage: ShaderStageFlags,
pub code_type: ShaderCodeTypeEXT,
pub code_size: usize,
pub code: *const c_void,
pub name: *const c_char,
pub set_layout_count: u32,
pub set_layouts: *const DescriptorSetLayout,
pub push_constant_range_count: u32,
pub push_constant_ranges: *const PushConstantRange,
pub specialization_info: *const SpecializationInfo,
}
impl Default for ShaderCreateInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SHADER_CREATE_INFO_EXT,
next: ptr::null(),
flags: ShaderCreateFlagsEXT::default(),
stage: ShaderStageFlags::default(),
next_stage: ShaderStageFlags::default(),
code_type: ShaderCodeTypeEXT::default(),
code_size: usize::default(),
code: ptr::null(),
name: ptr::null(),
set_layout_count: u32::default(),
set_layouts: ptr::null(),
push_constant_range_count: u32::default(),
push_constant_ranges: ptr::null(),
specialization_info: ptr::null(),
}
}
}
unsafe impl Send for ShaderCreateInfoEXT {}
unsafe impl Sync for ShaderCreateInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkShaderDescriptorSetAndBindingMappingInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ShaderDescriptorSetAndBindingMappingInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub mapping_count: u32,
pub mappings: *const DescriptorSetAndBindingMappingEXT,
}
impl Default for ShaderDescriptorSetAndBindingMappingInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SHADER_DESCRIPTOR_SET_AND_BINDING_MAPPING_INFO_EXT,
next: ptr::null(),
mapping_count: u32::default(),
mappings: ptr::null(),
}
}
}
unsafe impl Send for ShaderDescriptorSetAndBindingMappingInfoEXT {}
unsafe impl Sync for ShaderDescriptorSetAndBindingMappingInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkShaderModuleCreateInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ShaderModuleCreateInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: ShaderModuleCreateFlags,
pub code_size: usize,
pub code: *const u32,
}
impl Default for ShaderModuleCreateInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SHADER_MODULE_CREATE_INFO,
next: ptr::null(),
flags: ShaderModuleCreateFlags::default(),
code_size: usize::default(),
code: ptr::null(),
}
}
}
unsafe impl Send for ShaderModuleCreateInfo {}
unsafe impl Sync for ShaderModuleCreateInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkShaderModuleIdentifierEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ShaderModuleIdentifierEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub identifier_size: u32,
pub identifier: ByteArray<MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT>,
}
impl Default for ShaderModuleIdentifierEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SHADER_MODULE_IDENTIFIER_EXT,
next: ptr::null_mut(),
identifier_size: u32::default(),
identifier: ByteArray::default(),
}
}
}
unsafe impl Send for ShaderModuleIdentifierEXT {}
unsafe impl Sync for ShaderModuleIdentifierEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkShaderModuleValidationCacheCreateInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ShaderModuleValidationCacheCreateInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub validation_cache: ValidationCacheEXT,
}
impl Default for ShaderModuleValidationCacheCreateInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT,
next: ptr::null(),
validation_cache: ValidationCacheEXT::default(),
}
}
}
unsafe impl Send for ShaderModuleValidationCacheCreateInfoEXT {}
unsafe impl Sync for ShaderModuleValidationCacheCreateInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkShaderResourceUsageAMD.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct ShaderResourceUsageAMD {
pub num_used_vgprs: u32,
pub num_used_sgprs: u32,
pub lds_size_per_local_work_group: u32,
pub lds_usage_size_in_bytes: usize,
pub scratch_mem_usage_in_bytes: usize,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkShaderStatisticsInfoAMD.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct ShaderStatisticsInfoAMD {
pub shader_stage_mask: ShaderStageFlags,
pub resource_usage: ShaderResourceUsageAMD,
pub num_physical_vgprs: u32,
pub num_physical_sgprs: u32,
pub num_available_vgprs: u32,
pub num_available_sgprs: u32,
pub compute_work_group_size: [u32; 3],
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkShadingRatePaletteNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ShadingRatePaletteNV {
pub shading_rate_palette_entry_count: u32,
pub shading_rate_palette_entries: *const ShadingRatePaletteEntryNV,
}
impl Default for ShadingRatePaletteNV {
#[inline]
fn default() -> Self {
Self {
shading_rate_palette_entry_count: u32::default(),
shading_rate_palette_entries: ptr::null(),
}
}
}
unsafe impl Send for ShadingRatePaletteNV {}
unsafe impl Sync for ShadingRatePaletteNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSharedPresentSurfaceCapabilitiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SharedPresentSurfaceCapabilitiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub shared_present_supported_usage_flags: ImageUsageFlags,
}
impl Default for SharedPresentSurfaceCapabilitiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SHARED_PRESENT_SURFACE_CAPABILITIES_KHR,
next: ptr::null_mut(),
shared_present_supported_usage_flags: ImageUsageFlags::default(),
}
}
}
unsafe impl Send for SharedPresentSurfaceCapabilitiesKHR {}
unsafe impl Sync for SharedPresentSurfaceCapabilitiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSparseBufferMemoryBindInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SparseBufferMemoryBindInfo {
pub buffer: Buffer,
pub bind_count: u32,
pub binds: *const SparseMemoryBind,
}
impl Default for SparseBufferMemoryBindInfo {
#[inline]
fn default() -> Self {
Self {
buffer: Buffer::default(),
bind_count: u32::default(),
binds: ptr::null(),
}
}
}
unsafe impl Send for SparseBufferMemoryBindInfo {}
unsafe impl Sync for SparseBufferMemoryBindInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSparseImageFormatProperties.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct SparseImageFormatProperties {
pub aspect_mask: ImageAspectFlags,
pub image_granularity: Extent3D,
pub flags: SparseImageFormatFlags,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSparseImageFormatProperties2.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SparseImageFormatProperties2 {
pub s_type: StructureType,
pub next: *mut c_void,
pub properties: SparseImageFormatProperties,
}
impl Default for SparseImageFormatProperties2 {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SPARSE_IMAGE_FORMAT_PROPERTIES_2,
next: ptr::null_mut(),
properties: SparseImageFormatProperties::default(),
}
}
}
unsafe impl Send for SparseImageFormatProperties2 {}
unsafe impl Sync for SparseImageFormatProperties2 {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSparseImageMemoryBind.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct SparseImageMemoryBind {
pub subresource: ImageSubresource,
pub offset: Offset3D,
pub extent: Extent3D,
pub memory: DeviceMemory,
pub memory_offset: DeviceSize,
pub flags: SparseMemoryBindFlags,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSparseImageMemoryBindInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SparseImageMemoryBindInfo {
pub image: Image,
pub bind_count: u32,
pub binds: *const SparseImageMemoryBind,
}
impl Default for SparseImageMemoryBindInfo {
#[inline]
fn default() -> Self {
Self {
image: Image::default(),
bind_count: u32::default(),
binds: ptr::null(),
}
}
}
unsafe impl Send for SparseImageMemoryBindInfo {}
unsafe impl Sync for SparseImageMemoryBindInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSparseImageMemoryRequirements.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct SparseImageMemoryRequirements {
pub format_properties: SparseImageFormatProperties,
pub image_mip_tail_first_lod: u32,
pub image_mip_tail_size: DeviceSize,
pub image_mip_tail_offset: DeviceSize,
pub image_mip_tail_stride: DeviceSize,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSparseImageMemoryRequirements2.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SparseImageMemoryRequirements2 {
pub s_type: StructureType,
pub next: *mut c_void,
pub memory_requirements: SparseImageMemoryRequirements,
}
impl Default for SparseImageMemoryRequirements2 {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SPARSE_IMAGE_MEMORY_REQUIREMENTS_2,
next: ptr::null_mut(),
memory_requirements: SparseImageMemoryRequirements::default(),
}
}
}
unsafe impl Send for SparseImageMemoryRequirements2 {}
unsafe impl Sync for SparseImageMemoryRequirements2 {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSparseImageOpaqueMemoryBindInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SparseImageOpaqueMemoryBindInfo {
pub image: Image,
pub bind_count: u32,
pub binds: *const SparseMemoryBind,
}
impl Default for SparseImageOpaqueMemoryBindInfo {
#[inline]
fn default() -> Self {
Self {
image: Image::default(),
bind_count: u32::default(),
binds: ptr::null(),
}
}
}
unsafe impl Send for SparseImageOpaqueMemoryBindInfo {}
unsafe impl Sync for SparseImageOpaqueMemoryBindInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSparseMemoryBind.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct SparseMemoryBind {
pub resource_offset: DeviceSize,
pub size: DeviceSize,
pub memory: DeviceMemory,
pub memory_offset: DeviceSize,
pub flags: SparseMemoryBindFlags,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSpecializationInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SpecializationInfo {
pub map_entry_count: u32,
pub map_entries: *const SpecializationMapEntry,
pub data_size: usize,
pub data: *const c_void,
}
impl Default for SpecializationInfo {
#[inline]
fn default() -> Self {
Self {
map_entry_count: u32::default(),
map_entries: ptr::null(),
data_size: usize::default(),
data: ptr::null(),
}
}
}
unsafe impl Send for SpecializationInfo {}
unsafe impl Sync for SpecializationInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSpecializationMapEntry.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct SpecializationMapEntry {
pub constant_id: u32,
pub offset: u32,
pub size: usize,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkStencilOpState.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct StencilOpState {
pub fail_op: StencilOp,
pub pass_op: StencilOp,
pub depth_fail_op: StencilOp,
pub compare_op: CompareOp,
pub compare_mask: u32,
pub write_mask: u32,
pub reference: u32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkStreamDescriptorSurfaceCreateInfoGGP.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct StreamDescriptorSurfaceCreateInfoGGP {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: StreamDescriptorSurfaceCreateFlagsGGP,
pub stream_descriptor: GgpStreamDescriptor,
}
impl Default for StreamDescriptorSurfaceCreateInfoGGP {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP,
next: ptr::null(),
flags: StreamDescriptorSurfaceCreateFlagsGGP::default(),
stream_descriptor: GgpStreamDescriptor::default(),
}
}
}
unsafe impl Send for StreamDescriptorSurfaceCreateInfoGGP {}
unsafe impl Sync for StreamDescriptorSurfaceCreateInfoGGP {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkStridedDeviceAddressNV.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct StridedDeviceAddressNV {
pub start_address: DeviceAddress,
pub stride_in_bytes: DeviceSize,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkStridedDeviceAddressRangeKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct StridedDeviceAddressRangeKHR {
pub address: DeviceAddress,
pub size: DeviceSize,
pub stride: DeviceSize,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkStridedDeviceAddressRegionKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct StridedDeviceAddressRegionKHR {
pub device_address: DeviceAddress,
pub stride: DeviceSize,
pub size: DeviceSize,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSubmitInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SubmitInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub wait_semaphore_count: u32,
pub wait_semaphores: *const Semaphore,
pub wait_dst_stage_mask: *const PipelineStageFlags,
pub command_buffer_count: u32,
pub command_buffers: *const CommandBuffer,
pub signal_semaphore_count: u32,
pub signal_semaphores: *const Semaphore,
}
impl Default for SubmitInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SUBMIT_INFO,
next: ptr::null(),
wait_semaphore_count: u32::default(),
wait_semaphores: ptr::null(),
wait_dst_stage_mask: ptr::null(),
command_buffer_count: u32::default(),
command_buffers: ptr::null(),
signal_semaphore_count: u32::default(),
signal_semaphores: ptr::null(),
}
}
}
unsafe impl Send for SubmitInfo {}
unsafe impl Sync for SubmitInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSubmitInfo2.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SubmitInfo2 {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: SubmitFlags,
pub wait_semaphore_info_count: u32,
pub wait_semaphore_infos: *const SemaphoreSubmitInfo,
pub command_buffer_info_count: u32,
pub command_buffer_infos: *const CommandBufferSubmitInfo,
pub signal_semaphore_info_count: u32,
pub signal_semaphore_infos: *const SemaphoreSubmitInfo,
}
impl Default for SubmitInfo2 {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SUBMIT_INFO_2,
next: ptr::null(),
flags: SubmitFlags::default(),
wait_semaphore_info_count: u32::default(),
wait_semaphore_infos: ptr::null(),
command_buffer_info_count: u32::default(),
command_buffer_infos: ptr::null(),
signal_semaphore_info_count: u32::default(),
signal_semaphore_infos: ptr::null(),
}
}
}
unsafe impl Send for SubmitInfo2 {}
unsafe impl Sync for SubmitInfo2 {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSubpassBeginInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SubpassBeginInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub contents: SubpassContents,
}
impl Default for SubpassBeginInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SUBPASS_BEGIN_INFO,
next: ptr::null(),
contents: SubpassContents::default(),
}
}
}
unsafe impl Send for SubpassBeginInfo {}
unsafe impl Sync for SubpassBeginInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSubpassDependency.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct SubpassDependency {
pub src_subpass: u32,
pub dst_subpass: u32,
pub src_stage_mask: PipelineStageFlags,
pub dst_stage_mask: PipelineStageFlags,
pub src_access_mask: AccessFlags,
pub dst_access_mask: AccessFlags,
pub dependency_flags: DependencyFlags,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSubpassDependency2.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SubpassDependency2 {
pub s_type: StructureType,
pub next: *const c_void,
pub src_subpass: u32,
pub dst_subpass: u32,
pub src_stage_mask: PipelineStageFlags,
pub dst_stage_mask: PipelineStageFlags,
pub src_access_mask: AccessFlags,
pub dst_access_mask: AccessFlags,
pub dependency_flags: DependencyFlags,
pub view_offset: i32,
}
impl Default for SubpassDependency2 {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SUBPASS_DEPENDENCY_2,
next: ptr::null(),
src_subpass: u32::default(),
dst_subpass: u32::default(),
src_stage_mask: PipelineStageFlags::default(),
dst_stage_mask: PipelineStageFlags::default(),
src_access_mask: AccessFlags::default(),
dst_access_mask: AccessFlags::default(),
dependency_flags: DependencyFlags::default(),
view_offset: i32::default(),
}
}
}
unsafe impl Send for SubpassDependency2 {}
unsafe impl Sync for SubpassDependency2 {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSubpassDescription.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SubpassDescription {
pub flags: SubpassDescriptionFlags,
pub pipeline_bind_point: PipelineBindPoint,
pub input_attachment_count: u32,
pub input_attachments: *const AttachmentReference,
pub color_attachment_count: u32,
pub color_attachments: *const AttachmentReference,
pub resolve_attachments: *const AttachmentReference,
pub depth_stencil_attachment: *const AttachmentReference,
pub preserve_attachment_count: u32,
pub preserve_attachments: *const u32,
}
impl Default for SubpassDescription {
#[inline]
fn default() -> Self {
Self {
flags: SubpassDescriptionFlags::default(),
pipeline_bind_point: PipelineBindPoint::default(),
input_attachment_count: u32::default(),
input_attachments: ptr::null(),
color_attachment_count: u32::default(),
color_attachments: ptr::null(),
resolve_attachments: ptr::null(),
depth_stencil_attachment: ptr::null(),
preserve_attachment_count: u32::default(),
preserve_attachments: ptr::null(),
}
}
}
unsafe impl Send for SubpassDescription {}
unsafe impl Sync for SubpassDescription {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSubpassDescription2.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SubpassDescription2 {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: SubpassDescriptionFlags,
pub pipeline_bind_point: PipelineBindPoint,
pub view_mask: u32,
pub input_attachment_count: u32,
pub input_attachments: *const AttachmentReference2,
pub color_attachment_count: u32,
pub color_attachments: *const AttachmentReference2,
pub resolve_attachments: *const AttachmentReference2,
pub depth_stencil_attachment: *const AttachmentReference2,
pub preserve_attachment_count: u32,
pub preserve_attachments: *const u32,
}
impl Default for SubpassDescription2 {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SUBPASS_DESCRIPTION_2,
next: ptr::null(),
flags: SubpassDescriptionFlags::default(),
pipeline_bind_point: PipelineBindPoint::default(),
view_mask: u32::default(),
input_attachment_count: u32::default(),
input_attachments: ptr::null(),
color_attachment_count: u32::default(),
color_attachments: ptr::null(),
resolve_attachments: ptr::null(),
depth_stencil_attachment: ptr::null(),
preserve_attachment_count: u32::default(),
preserve_attachments: ptr::null(),
}
}
}
unsafe impl Send for SubpassDescription2 {}
unsafe impl Sync for SubpassDescription2 {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSubpassDescriptionDepthStencilResolve.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SubpassDescriptionDepthStencilResolve {
pub s_type: StructureType,
pub next: *const c_void,
pub depth_resolve_mode: ResolveModeFlags,
pub stencil_resolve_mode: ResolveModeFlags,
pub depth_stencil_resolve_attachment: *const AttachmentReference2,
}
impl Default for SubpassDescriptionDepthStencilResolve {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE,
next: ptr::null(),
depth_resolve_mode: ResolveModeFlags::default(),
stencil_resolve_mode: ResolveModeFlags::default(),
depth_stencil_resolve_attachment: ptr::null(),
}
}
}
unsafe impl Send for SubpassDescriptionDepthStencilResolve {}
unsafe impl Sync for SubpassDescriptionDepthStencilResolve {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSubpassEndInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SubpassEndInfo {
pub s_type: StructureType,
pub next: *const c_void,
}
impl Default for SubpassEndInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SUBPASS_END_INFO,
next: ptr::null(),
}
}
}
unsafe impl Send for SubpassEndInfo {}
unsafe impl Sync for SubpassEndInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSubpassResolvePerformanceQueryEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SubpassResolvePerformanceQueryEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub optimal: Bool32,
}
impl Default for SubpassResolvePerformanceQueryEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT,
next: ptr::null_mut(),
optimal: Bool32::default(),
}
}
}
unsafe impl Send for SubpassResolvePerformanceQueryEXT {}
unsafe impl Sync for SubpassResolvePerformanceQueryEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSubpassSampleLocationsEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct SubpassSampleLocationsEXT {
pub subpass_index: u32,
pub sample_locations_info: SampleLocationsInfoEXT,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSubpassShadingPipelineCreateInfoHUAWEI.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SubpassShadingPipelineCreateInfoHUAWEI {
pub s_type: StructureType,
pub next: *mut c_void,
pub render_pass: RenderPass,
pub subpass: u32,
}
impl Default for SubpassShadingPipelineCreateInfoHUAWEI {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI,
next: ptr::null_mut(),
render_pass: RenderPass::default(),
subpass: u32::default(),
}
}
}
unsafe impl Send for SubpassShadingPipelineCreateInfoHUAWEI {}
unsafe impl Sync for SubpassShadingPipelineCreateInfoHUAWEI {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSubresourceHostMemcpySize.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SubresourceHostMemcpySize {
pub s_type: StructureType,
pub next: *mut c_void,
pub size: DeviceSize,
}
impl Default for SubresourceHostMemcpySize {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SUBRESOURCE_HOST_MEMCPY_SIZE,
next: ptr::null_mut(),
size: DeviceSize::default(),
}
}
}
unsafe impl Send for SubresourceHostMemcpySize {}
unsafe impl Sync for SubresourceHostMemcpySize {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSubresourceLayout.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct SubresourceLayout {
pub offset: DeviceSize,
pub size: DeviceSize,
pub row_pitch: DeviceSize,
pub array_pitch: DeviceSize,
pub depth_pitch: DeviceSize,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSubresourceLayout2.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SubresourceLayout2 {
pub s_type: StructureType,
pub next: *mut c_void,
pub subresource_layout: SubresourceLayout,
}
impl Default for SubresourceLayout2 {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SUBRESOURCE_LAYOUT_2,
next: ptr::null_mut(),
subresource_layout: SubresourceLayout::default(),
}
}
}
unsafe impl Send for SubresourceLayout2 {}
unsafe impl Sync for SubresourceLayout2 {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSubsampledImageFormatPropertiesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SubsampledImageFormatPropertiesEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub subsampled_image_descriptor_count: u32,
}
impl Default for SubsampledImageFormatPropertiesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SUBSAMPLED_IMAGE_FORMAT_PROPERTIES_EXT,
next: ptr::null(),
subsampled_image_descriptor_count: u32::default(),
}
}
}
unsafe impl Send for SubsampledImageFormatPropertiesEXT {}
unsafe impl Sync for SubsampledImageFormatPropertiesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSurfaceCapabilities2EXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SurfaceCapabilities2EXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub min_image_count: u32,
pub max_image_count: u32,
pub current_extent: Extent2D,
pub min_image_extent: Extent2D,
pub max_image_extent: Extent2D,
pub max_image_array_layers: u32,
pub supported_transforms: SurfaceTransformFlagsKHR,
pub current_transform: SurfaceTransformFlagsKHR,
pub supported_composite_alpha: CompositeAlphaFlagsKHR,
pub supported_usage_flags: ImageUsageFlags,
pub supported_surface_counters: SurfaceCounterFlagsEXT,
}
impl Default for SurfaceCapabilities2EXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SURFACE_CAPABILITIES_2_EXT,
next: ptr::null_mut(),
min_image_count: u32::default(),
max_image_count: u32::default(),
current_extent: Extent2D::default(),
min_image_extent: Extent2D::default(),
max_image_extent: Extent2D::default(),
max_image_array_layers: u32::default(),
supported_transforms: SurfaceTransformFlagsKHR::default(),
current_transform: SurfaceTransformFlagsKHR::default(),
supported_composite_alpha: CompositeAlphaFlagsKHR::default(),
supported_usage_flags: ImageUsageFlags::default(),
supported_surface_counters: SurfaceCounterFlagsEXT::default(),
}
}
}
unsafe impl Send for SurfaceCapabilities2EXT {}
unsafe impl Sync for SurfaceCapabilities2EXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSurfaceCapabilities2KHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SurfaceCapabilities2KHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub surface_capabilities: SurfaceCapabilitiesKHR,
}
impl Default for SurfaceCapabilities2KHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SURFACE_CAPABILITIES_2_KHR,
next: ptr::null_mut(),
surface_capabilities: SurfaceCapabilitiesKHR::default(),
}
}
}
unsafe impl Send for SurfaceCapabilities2KHR {}
unsafe impl Sync for SurfaceCapabilities2KHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSurfaceCapabilitiesFullScreenExclusiveEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SurfaceCapabilitiesFullScreenExclusiveEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub full_screen_exclusive_supported: Bool32,
}
impl Default for SurfaceCapabilitiesFullScreenExclusiveEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT,
next: ptr::null_mut(),
full_screen_exclusive_supported: Bool32::default(),
}
}
}
unsafe impl Send for SurfaceCapabilitiesFullScreenExclusiveEXT {}
unsafe impl Sync for SurfaceCapabilitiesFullScreenExclusiveEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSurfaceCapabilitiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct SurfaceCapabilitiesKHR {
pub min_image_count: u32,
pub max_image_count: u32,
pub current_extent: Extent2D,
pub min_image_extent: Extent2D,
pub max_image_extent: Extent2D,
pub max_image_array_layers: u32,
pub supported_transforms: SurfaceTransformFlagsKHR,
pub current_transform: SurfaceTransformFlagsKHR,
pub supported_composite_alpha: CompositeAlphaFlagsKHR,
pub supported_usage_flags: ImageUsageFlags,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSurfaceCapabilitiesPresentBarrierNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SurfaceCapabilitiesPresentBarrierNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub present_barrier_supported: Bool32,
}
impl Default for SurfaceCapabilitiesPresentBarrierNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SURFACE_CAPABILITIES_PRESENT_BARRIER_NV,
next: ptr::null_mut(),
present_barrier_supported: Bool32::default(),
}
}
}
unsafe impl Send for SurfaceCapabilitiesPresentBarrierNV {}
unsafe impl Sync for SurfaceCapabilitiesPresentBarrierNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSurfaceCapabilitiesPresentId2KHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SurfaceCapabilitiesPresentId2KHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub present_id2_supported: Bool32,
}
impl Default for SurfaceCapabilitiesPresentId2KHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SURFACE_CAPABILITIES_PRESENT_ID_2_KHR,
next: ptr::null_mut(),
present_id2_supported: Bool32::default(),
}
}
}
unsafe impl Send for SurfaceCapabilitiesPresentId2KHR {}
unsafe impl Sync for SurfaceCapabilitiesPresentId2KHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSurfaceCapabilitiesPresentWait2KHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SurfaceCapabilitiesPresentWait2KHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub present_wait2_supported: Bool32,
}
impl Default for SurfaceCapabilitiesPresentWait2KHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SURFACE_CAPABILITIES_PRESENT_WAIT_2_KHR,
next: ptr::null_mut(),
present_wait2_supported: Bool32::default(),
}
}
}
unsafe impl Send for SurfaceCapabilitiesPresentWait2KHR {}
unsafe impl Sync for SurfaceCapabilitiesPresentWait2KHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSurfaceCreateInfoOHOS.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SurfaceCreateInfoOHOS {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: SurfaceCreateFlagsOHOS,
pub window: *mut OHNativeWindow,
}
impl Default for SurfaceCreateInfoOHOS {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SURFACE_CREATE_INFO_OHOS,
next: ptr::null(),
flags: SurfaceCreateFlagsOHOS::default(),
window: ptr::null_mut(),
}
}
}
unsafe impl Send for SurfaceCreateInfoOHOS {}
unsafe impl Sync for SurfaceCreateInfoOHOS {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSurfaceFormat2KHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SurfaceFormat2KHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub surface_format: SurfaceFormatKHR,
}
impl Default for SurfaceFormat2KHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SURFACE_FORMAT_2_KHR,
next: ptr::null_mut(),
surface_format: SurfaceFormatKHR::default(),
}
}
}
unsafe impl Send for SurfaceFormat2KHR {}
unsafe impl Sync for SurfaceFormat2KHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSurfaceFormatKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct SurfaceFormatKHR {
pub format: Format,
pub color_space: ColorSpaceKHR,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSurfaceFullScreenExclusiveInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SurfaceFullScreenExclusiveInfoEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub full_screen_exclusive: FullScreenExclusiveEXT,
}
impl Default for SurfaceFullScreenExclusiveInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT,
next: ptr::null_mut(),
full_screen_exclusive: FullScreenExclusiveEXT::default(),
}
}
}
unsafe impl Send for SurfaceFullScreenExclusiveInfoEXT {}
unsafe impl Sync for SurfaceFullScreenExclusiveInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSurfaceFullScreenExclusiveWin32InfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SurfaceFullScreenExclusiveWin32InfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub hmonitor: HMONITOR,
}
impl Default for SurfaceFullScreenExclusiveWin32InfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT,
next: ptr::null(),
hmonitor: ptr::null_mut(),
}
}
}
unsafe impl Send for SurfaceFullScreenExclusiveWin32InfoEXT {}
unsafe impl Sync for SurfaceFullScreenExclusiveWin32InfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSurfacePresentModeCompatibilityKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SurfacePresentModeCompatibilityKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub present_mode_count: u32,
pub present_modes: *mut PresentModeKHR,
}
impl Default for SurfacePresentModeCompatibilityKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SURFACE_PRESENT_MODE_COMPATIBILITY_KHR,
next: ptr::null_mut(),
present_mode_count: u32::default(),
present_modes: ptr::null_mut(),
}
}
}
unsafe impl Send for SurfacePresentModeCompatibilityKHR {}
unsafe impl Sync for SurfacePresentModeCompatibilityKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSurfacePresentModeKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SurfacePresentModeKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub present_mode: PresentModeKHR,
}
impl Default for SurfacePresentModeKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SURFACE_PRESENT_MODE_KHR,
next: ptr::null_mut(),
present_mode: PresentModeKHR::default(),
}
}
}
unsafe impl Send for SurfacePresentModeKHR {}
unsafe impl Sync for SurfacePresentModeKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSurfacePresentScalingCapabilitiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SurfacePresentScalingCapabilitiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub supported_present_scaling: PresentScalingFlagsKHR,
pub supported_present_gravity_x: PresentGravityFlagsKHR,
pub supported_present_gravity_y: PresentGravityFlagsKHR,
pub min_scaled_image_extent: Extent2D,
pub max_scaled_image_extent: Extent2D,
}
impl Default for SurfacePresentScalingCapabilitiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SURFACE_PRESENT_SCALING_CAPABILITIES_KHR,
next: ptr::null_mut(),
supported_present_scaling: PresentScalingFlagsKHR::default(),
supported_present_gravity_x: PresentGravityFlagsKHR::default(),
supported_present_gravity_y: PresentGravityFlagsKHR::default(),
min_scaled_image_extent: Extent2D::default(),
max_scaled_image_extent: Extent2D::default(),
}
}
}
unsafe impl Send for SurfacePresentScalingCapabilitiesKHR {}
unsafe impl Sync for SurfacePresentScalingCapabilitiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSurfaceProtectedCapabilitiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SurfaceProtectedCapabilitiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub supports_protected: Bool32,
}
impl Default for SurfaceProtectedCapabilitiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SURFACE_PROTECTED_CAPABILITIES_KHR,
next: ptr::null_mut(),
supports_protected: Bool32::default(),
}
}
}
unsafe impl Send for SurfaceProtectedCapabilitiesKHR {}
unsafe impl Sync for SurfaceProtectedCapabilitiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSwapchainCalibratedTimestampInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SwapchainCalibratedTimestampInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub swapchain: SwapchainKHR,
pub present_stage: PresentStageFlagsEXT,
pub time_domain_id: u64,
}
impl Default for SwapchainCalibratedTimestampInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SWAPCHAIN_CALIBRATED_TIMESTAMP_INFO_EXT,
next: ptr::null(),
swapchain: SwapchainKHR::default(),
present_stage: PresentStageFlagsEXT::default(),
time_domain_id: u64::default(),
}
}
}
unsafe impl Send for SwapchainCalibratedTimestampInfoEXT {}
unsafe impl Sync for SwapchainCalibratedTimestampInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSwapchainCounterCreateInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SwapchainCounterCreateInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub surface_counters: SurfaceCounterFlagsEXT,
}
impl Default for SwapchainCounterCreateInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SWAPCHAIN_COUNTER_CREATE_INFO_EXT,
next: ptr::null(),
surface_counters: SurfaceCounterFlagsEXT::default(),
}
}
}
unsafe impl Send for SwapchainCounterCreateInfoEXT {}
unsafe impl Sync for SwapchainCounterCreateInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSwapchainCreateInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SwapchainCreateInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: SwapchainCreateFlagsKHR,
pub surface: SurfaceKHR,
pub min_image_count: u32,
pub image_format: Format,
pub image_color_space: ColorSpaceKHR,
pub image_extent: Extent2D,
pub image_array_layers: u32,
pub image_usage: ImageUsageFlags,
pub image_sharing_mode: SharingMode,
pub queue_family_index_count: u32,
pub queue_family_indices: *const u32,
pub pre_transform: SurfaceTransformFlagsKHR,
pub composite_alpha: CompositeAlphaFlagsKHR,
pub present_mode: PresentModeKHR,
pub clipped: Bool32,
pub old_swapchain: SwapchainKHR,
}
impl Default for SwapchainCreateInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SWAPCHAIN_CREATE_INFO_KHR,
next: ptr::null(),
flags: SwapchainCreateFlagsKHR::default(),
surface: SurfaceKHR::default(),
min_image_count: u32::default(),
image_format: Format::default(),
image_color_space: ColorSpaceKHR::default(),
image_extent: Extent2D::default(),
image_array_layers: u32::default(),
image_usage: ImageUsageFlags::default(),
image_sharing_mode: SharingMode::default(),
queue_family_index_count: u32::default(),
queue_family_indices: ptr::null(),
pre_transform: SurfaceTransformFlagsKHR::default(),
composite_alpha: CompositeAlphaFlagsKHR::default(),
present_mode: PresentModeKHR::default(),
clipped: Bool32::default(),
old_swapchain: SwapchainKHR::default(),
}
}
}
unsafe impl Send for SwapchainCreateInfoKHR {}
unsafe impl Sync for SwapchainCreateInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSwapchainDisplayNativeHdrCreateInfoAMD.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SwapchainDisplayNativeHdrCreateInfoAMD {
pub s_type: StructureType,
pub next: *const c_void,
pub local_dimming_enable: Bool32,
}
impl Default for SwapchainDisplayNativeHdrCreateInfoAMD {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD,
next: ptr::null(),
local_dimming_enable: Bool32::default(),
}
}
}
unsafe impl Send for SwapchainDisplayNativeHdrCreateInfoAMD {}
unsafe impl Sync for SwapchainDisplayNativeHdrCreateInfoAMD {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSwapchainLatencyCreateInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SwapchainLatencyCreateInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub latency_mode_enable: Bool32,
}
impl Default for SwapchainLatencyCreateInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SWAPCHAIN_LATENCY_CREATE_INFO_NV,
next: ptr::null(),
latency_mode_enable: Bool32::default(),
}
}
}
unsafe impl Send for SwapchainLatencyCreateInfoNV {}
unsafe impl Sync for SwapchainLatencyCreateInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSwapchainPresentBarrierCreateInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SwapchainPresentBarrierCreateInfoNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub present_barrier_enable: Bool32,
}
impl Default for SwapchainPresentBarrierCreateInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV,
next: ptr::null_mut(),
present_barrier_enable: Bool32::default(),
}
}
}
unsafe impl Send for SwapchainPresentBarrierCreateInfoNV {}
unsafe impl Sync for SwapchainPresentBarrierCreateInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSwapchainPresentFenceInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SwapchainPresentFenceInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub swapchain_count: u32,
pub fences: *const Fence,
}
impl Default for SwapchainPresentFenceInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SWAPCHAIN_PRESENT_FENCE_INFO_KHR,
next: ptr::null(),
swapchain_count: u32::default(),
fences: ptr::null(),
}
}
}
unsafe impl Send for SwapchainPresentFenceInfoKHR {}
unsafe impl Sync for SwapchainPresentFenceInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSwapchainPresentModeInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SwapchainPresentModeInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub swapchain_count: u32,
pub present_modes: *const PresentModeKHR,
}
impl Default for SwapchainPresentModeInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SWAPCHAIN_PRESENT_MODE_INFO_KHR,
next: ptr::null(),
swapchain_count: u32::default(),
present_modes: ptr::null(),
}
}
}
unsafe impl Send for SwapchainPresentModeInfoKHR {}
unsafe impl Sync for SwapchainPresentModeInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSwapchainPresentModesCreateInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SwapchainPresentModesCreateInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub present_mode_count: u32,
pub present_modes: *const PresentModeKHR,
}
impl Default for SwapchainPresentModesCreateInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SWAPCHAIN_PRESENT_MODES_CREATE_INFO_KHR,
next: ptr::null(),
present_mode_count: u32::default(),
present_modes: ptr::null(),
}
}
}
unsafe impl Send for SwapchainPresentModesCreateInfoKHR {}
unsafe impl Sync for SwapchainPresentModesCreateInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSwapchainPresentScalingCreateInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SwapchainPresentScalingCreateInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub scaling_behavior: PresentScalingFlagsKHR,
pub present_gravity_x: PresentGravityFlagsKHR,
pub present_gravity_y: PresentGravityFlagsKHR,
}
impl Default for SwapchainPresentScalingCreateInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_KHR,
next: ptr::null(),
scaling_behavior: PresentScalingFlagsKHR::default(),
present_gravity_x: PresentGravityFlagsKHR::default(),
present_gravity_y: PresentGravityFlagsKHR::default(),
}
}
}
unsafe impl Send for SwapchainPresentScalingCreateInfoKHR {}
unsafe impl Sync for SwapchainPresentScalingCreateInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSwapchainTimeDomainPropertiesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SwapchainTimeDomainPropertiesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub time_domain_count: u32,
pub time_domains: *mut TimeDomainKHR,
pub time_domain_ids: *mut u64,
}
impl Default for SwapchainTimeDomainPropertiesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SWAPCHAIN_TIME_DOMAIN_PROPERTIES_EXT,
next: ptr::null_mut(),
time_domain_count: u32::default(),
time_domains: ptr::null_mut(),
time_domain_ids: ptr::null_mut(),
}
}
}
unsafe impl Send for SwapchainTimeDomainPropertiesEXT {}
unsafe impl Sync for SwapchainTimeDomainPropertiesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSwapchainTimingPropertiesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SwapchainTimingPropertiesEXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub refresh_duration: u64,
pub refresh_interval: u64,
}
impl Default for SwapchainTimingPropertiesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SWAPCHAIN_TIMING_PROPERTIES_EXT,
next: ptr::null_mut(),
refresh_duration: u64::default(),
refresh_interval: u64::default(),
}
}
}
unsafe impl Send for SwapchainTimingPropertiesEXT {}
unsafe impl Sync for SwapchainTimingPropertiesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSysmemColorSpaceFUCHSIA.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct SysmemColorSpaceFUCHSIA {
pub s_type: StructureType,
pub next: *const c_void,
pub color_space: u32,
}
impl Default for SysmemColorSpaceFUCHSIA {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::SYSMEM_COLOR_SPACE_FUCHSIA,
next: ptr::null(),
color_space: u32::default(),
}
}
}
unsafe impl Send for SysmemColorSpaceFUCHSIA {}
unsafe impl Sync for SysmemColorSpaceFUCHSIA {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkTensorCaptureDescriptorDataInfoARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct TensorCaptureDescriptorDataInfoARM {
pub s_type: StructureType,
pub next: *const c_void,
pub tensor: TensorARM,
}
impl Default for TensorCaptureDescriptorDataInfoARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::TENSOR_CAPTURE_DESCRIPTOR_DATA_INFO_ARM,
next: ptr::null(),
tensor: TensorARM::default(),
}
}
}
unsafe impl Send for TensorCaptureDescriptorDataInfoARM {}
unsafe impl Sync for TensorCaptureDescriptorDataInfoARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkTensorCopyARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct TensorCopyARM {
pub s_type: StructureType,
pub next: *const c_void,
pub dimension_count: u32,
pub src_offset: *const u64,
pub dst_offset: *const u64,
pub extent: *const u64,
}
impl Default for TensorCopyARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::TENSOR_COPY_ARM,
next: ptr::null(),
dimension_count: u32::default(),
src_offset: ptr::null(),
dst_offset: ptr::null(),
extent: ptr::null(),
}
}
}
unsafe impl Send for TensorCopyARM {}
unsafe impl Sync for TensorCopyARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkTensorCreateInfoARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct TensorCreateInfoARM {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: TensorCreateFlagsARM,
pub description: *const TensorDescriptionARM,
pub sharing_mode: SharingMode,
pub queue_family_index_count: u32,
pub queue_family_indices: *const u32,
}
impl Default for TensorCreateInfoARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::TENSOR_CREATE_INFO_ARM,
next: ptr::null(),
flags: TensorCreateFlagsARM::default(),
description: ptr::null(),
sharing_mode: SharingMode::default(),
queue_family_index_count: u32::default(),
queue_family_indices: ptr::null(),
}
}
}
unsafe impl Send for TensorCreateInfoARM {}
unsafe impl Sync for TensorCreateInfoARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkTensorDependencyInfoARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct TensorDependencyInfoARM {
pub s_type: StructureType,
pub next: *const c_void,
pub tensor_memory_barrier_count: u32,
pub tensor_memory_barriers: *const TensorMemoryBarrierARM,
}
impl Default for TensorDependencyInfoARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::TENSOR_DEPENDENCY_INFO_ARM,
next: ptr::null(),
tensor_memory_barrier_count: u32::default(),
tensor_memory_barriers: ptr::null(),
}
}
}
unsafe impl Send for TensorDependencyInfoARM {}
unsafe impl Sync for TensorDependencyInfoARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkTensorDescriptionARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct TensorDescriptionARM {
pub s_type: StructureType,
pub next: *const c_void,
pub tiling: TensorTilingARM,
pub format: Format,
pub dimension_count: u32,
pub dimensions: *const i64,
pub strides: *const i64,
pub usage: TensorUsageFlagsARM,
}
impl Default for TensorDescriptionARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::TENSOR_DESCRIPTION_ARM,
next: ptr::null(),
tiling: TensorTilingARM::default(),
format: Format::default(),
dimension_count: u32::default(),
dimensions: ptr::null(),
strides: ptr::null(),
usage: TensorUsageFlagsARM::default(),
}
}
}
unsafe impl Send for TensorDescriptionARM {}
unsafe impl Sync for TensorDescriptionARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkTensorFormatPropertiesARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct TensorFormatPropertiesARM {
pub s_type: StructureType,
pub next: *mut c_void,
pub optimal_tiling_tensor_features: FormatFeatureFlags2,
pub linear_tiling_tensor_features: FormatFeatureFlags2,
}
impl Default for TensorFormatPropertiesARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::TENSOR_FORMAT_PROPERTIES_ARM,
next: ptr::null_mut(),
optimal_tiling_tensor_features: FormatFeatureFlags2::default(),
linear_tiling_tensor_features: FormatFeatureFlags2::default(),
}
}
}
unsafe impl Send for TensorFormatPropertiesARM {}
unsafe impl Sync for TensorFormatPropertiesARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkTensorMemoryBarrierARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct TensorMemoryBarrierARM {
pub s_type: StructureType,
pub next: *const c_void,
pub src_stage_mask: PipelineStageFlags2,
pub src_access_mask: AccessFlags2,
pub dst_stage_mask: PipelineStageFlags2,
pub dst_access_mask: AccessFlags2,
pub src_queue_family_index: u32,
pub dst_queue_family_index: u32,
pub tensor: TensorARM,
}
impl Default for TensorMemoryBarrierARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::TENSOR_MEMORY_BARRIER_ARM,
next: ptr::null(),
src_stage_mask: PipelineStageFlags2::default(),
src_access_mask: AccessFlags2::default(),
dst_stage_mask: PipelineStageFlags2::default(),
dst_access_mask: AccessFlags2::default(),
src_queue_family_index: u32::default(),
dst_queue_family_index: u32::default(),
tensor: TensorARM::default(),
}
}
}
unsafe impl Send for TensorMemoryBarrierARM {}
unsafe impl Sync for TensorMemoryBarrierARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkTensorMemoryRequirementsInfoARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct TensorMemoryRequirementsInfoARM {
pub s_type: StructureType,
pub next: *const c_void,
pub tensor: TensorARM,
}
impl Default for TensorMemoryRequirementsInfoARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::TENSOR_MEMORY_REQUIREMENTS_INFO_ARM,
next: ptr::null(),
tensor: TensorARM::default(),
}
}
}
unsafe impl Send for TensorMemoryRequirementsInfoARM {}
unsafe impl Sync for TensorMemoryRequirementsInfoARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkTensorViewCaptureDescriptorDataInfoARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct TensorViewCaptureDescriptorDataInfoARM {
pub s_type: StructureType,
pub next: *const c_void,
pub tensor_view: TensorViewARM,
}
impl Default for TensorViewCaptureDescriptorDataInfoARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::TENSOR_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_ARM,
next: ptr::null(),
tensor_view: TensorViewARM::default(),
}
}
}
unsafe impl Send for TensorViewCaptureDescriptorDataInfoARM {}
unsafe impl Sync for TensorViewCaptureDescriptorDataInfoARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkTensorViewCreateInfoARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct TensorViewCreateInfoARM {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: TensorViewCreateFlagsARM,
pub tensor: TensorARM,
pub format: Format,
}
impl Default for TensorViewCreateInfoARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::TENSOR_VIEW_CREATE_INFO_ARM,
next: ptr::null(),
flags: TensorViewCreateFlagsARM::default(),
tensor: TensorARM::default(),
format: Format::default(),
}
}
}
unsafe impl Send for TensorViewCreateInfoARM {}
unsafe impl Sync for TensorViewCreateInfoARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkTexelBufferDescriptorInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct TexelBufferDescriptorInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub format: Format,
pub address_range: DeviceAddressRangeEXT,
}
impl Default for TexelBufferDescriptorInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::TEXEL_BUFFER_DESCRIPTOR_INFO_EXT,
next: ptr::null(),
format: Format::default(),
address_range: DeviceAddressRangeEXT::default(),
}
}
}
unsafe impl Send for TexelBufferDescriptorInfoEXT {}
unsafe impl Sync for TexelBufferDescriptorInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkTextureLODGatherFormatPropertiesAMD.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct TextureLODGatherFormatPropertiesAMD {
pub s_type: StructureType,
pub next: *mut c_void,
pub supports_texture_gather_lod_bias_amd: Bool32,
}
impl Default for TextureLODGatherFormatPropertiesAMD {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD,
next: ptr::null_mut(),
supports_texture_gather_lod_bias_amd: Bool32::default(),
}
}
}
unsafe impl Send for TextureLODGatherFormatPropertiesAMD {}
unsafe impl Sync for TextureLODGatherFormatPropertiesAMD {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkTileMemoryBindInfoQCOM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct TileMemoryBindInfoQCOM {
pub s_type: StructureType,
pub next: *const c_void,
pub memory: DeviceMemory,
}
impl Default for TileMemoryBindInfoQCOM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::TILE_MEMORY_BIND_INFO_QCOM,
next: ptr::null(),
memory: DeviceMemory::default(),
}
}
}
unsafe impl Send for TileMemoryBindInfoQCOM {}
unsafe impl Sync for TileMemoryBindInfoQCOM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkTileMemoryRequirementsQCOM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct TileMemoryRequirementsQCOM {
pub s_type: StructureType,
pub next: *mut c_void,
pub size: DeviceSize,
pub alignment: DeviceSize,
}
impl Default for TileMemoryRequirementsQCOM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::TILE_MEMORY_REQUIREMENTS_QCOM,
next: ptr::null_mut(),
size: DeviceSize::default(),
alignment: DeviceSize::default(),
}
}
}
unsafe impl Send for TileMemoryRequirementsQCOM {}
unsafe impl Sync for TileMemoryRequirementsQCOM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkTileMemorySizeInfoQCOM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct TileMemorySizeInfoQCOM {
pub s_type: StructureType,
pub next: *const c_void,
pub size: DeviceSize,
}
impl Default for TileMemorySizeInfoQCOM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::TILE_MEMORY_SIZE_INFO_QCOM,
next: ptr::null(),
size: DeviceSize::default(),
}
}
}
unsafe impl Send for TileMemorySizeInfoQCOM {}
unsafe impl Sync for TileMemorySizeInfoQCOM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkTilePropertiesQCOM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct TilePropertiesQCOM {
pub s_type: StructureType,
pub next: *mut c_void,
pub tile_size: Extent3D,
pub apron_size: Extent2D,
pub origin: Offset2D,
}
impl Default for TilePropertiesQCOM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::TILE_PROPERTIES_QCOM,
next: ptr::null_mut(),
tile_size: Extent3D::default(),
apron_size: Extent2D::default(),
origin: Offset2D::default(),
}
}
}
unsafe impl Send for TilePropertiesQCOM {}
unsafe impl Sync for TilePropertiesQCOM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkTimelineSemaphoreSubmitInfo.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct TimelineSemaphoreSubmitInfo {
pub s_type: StructureType,
pub next: *const c_void,
pub wait_semaphore_value_count: u32,
pub wait_semaphore_values: *const u64,
pub signal_semaphore_value_count: u32,
pub signal_semaphore_values: *const u64,
}
impl Default for TimelineSemaphoreSubmitInfo {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::TIMELINE_SEMAPHORE_SUBMIT_INFO,
next: ptr::null(),
wait_semaphore_value_count: u32::default(),
wait_semaphore_values: ptr::null(),
signal_semaphore_value_count: u32::default(),
signal_semaphore_values: ptr::null(),
}
}
}
unsafe impl Send for TimelineSemaphoreSubmitInfo {}
unsafe impl Sync for TimelineSemaphoreSubmitInfo {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkTraceRaysIndirectCommand2KHR.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct TraceRaysIndirectCommand2KHR {
pub raygen_shader_record_address: DeviceAddress,
pub raygen_shader_record_size: DeviceSize,
pub miss_shader_binding_table_address: DeviceAddress,
pub miss_shader_binding_table_size: DeviceSize,
pub miss_shader_binding_table_stride: DeviceSize,
pub hit_shader_binding_table_address: DeviceAddress,
pub hit_shader_binding_table_size: DeviceSize,
pub hit_shader_binding_table_stride: DeviceSize,
pub callable_shader_binding_table_address: DeviceAddress,
pub callable_shader_binding_table_size: DeviceSize,
pub callable_shader_binding_table_stride: DeviceSize,
pub width: u32,
pub height: u32,
pub depth: u32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkTraceRaysIndirectCommandKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct TraceRaysIndirectCommandKHR {
pub width: u32,
pub height: u32,
pub depth: u32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkTransformMatrixKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, PartialEq)]
pub struct TransformMatrixKHR {
pub matrix: [[f32; 4]; 3],
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkUbmSurfaceCreateInfoSEC.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct UbmSurfaceCreateInfoSEC {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: UbmSurfaceCreateFlagsSEC,
pub ubm_device: *mut ubm_device,
pub ubm_surface: *mut ubm_surface,
}
impl Default for UbmSurfaceCreateInfoSEC {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::UBM_SURFACE_CREATE_INFO_SEC,
next: ptr::null(),
flags: UbmSurfaceCreateFlagsSEC::default(),
ubm_device: ptr::null_mut(),
ubm_surface: ptr::null_mut(),
}
}
}
unsafe impl Send for UbmSurfaceCreateInfoSEC {}
unsafe impl Sync for UbmSurfaceCreateInfoSEC {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkValidationCacheCreateInfoEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ValidationCacheCreateInfoEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: ValidationCacheCreateFlagsEXT,
pub initial_data_size: usize,
pub initial_data: *const c_void,
}
impl Default for ValidationCacheCreateInfoEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VALIDATION_CACHE_CREATE_INFO_EXT,
next: ptr::null(),
flags: ValidationCacheCreateFlagsEXT::default(),
initial_data_size: usize::default(),
initial_data: ptr::null(),
}
}
}
unsafe impl Send for ValidationCacheCreateInfoEXT {}
unsafe impl Sync for ValidationCacheCreateInfoEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkValidationFeaturesEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ValidationFeaturesEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub enabled_validation_feature_count: u32,
pub enabled_validation_features: *const ValidationFeatureEnableEXT,
pub disabled_validation_feature_count: u32,
pub disabled_validation_features: *const ValidationFeatureDisableEXT,
}
impl Default for ValidationFeaturesEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VALIDATION_FEATURES_EXT,
next: ptr::null(),
enabled_validation_feature_count: u32::default(),
enabled_validation_features: ptr::null(),
disabled_validation_feature_count: u32::default(),
disabled_validation_features: ptr::null(),
}
}
}
unsafe impl Send for ValidationFeaturesEXT {}
unsafe impl Sync for ValidationFeaturesEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkValidationFlagsEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ValidationFlagsEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub disabled_validation_check_count: u32,
pub disabled_validation_checks: *const ValidationCheckEXT,
}
impl Default for ValidationFlagsEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VALIDATION_FLAGS_EXT,
next: ptr::null(),
disabled_validation_check_count: u32::default(),
disabled_validation_checks: ptr::null(),
}
}
}
unsafe impl Send for ValidationFlagsEXT {}
unsafe impl Sync for ValidationFlagsEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVertexInputAttributeDescription.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct VertexInputAttributeDescription {
pub location: u32,
pub binding: u32,
pub format: Format,
pub offset: u32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVertexInputAttributeDescription2EXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VertexInputAttributeDescription2EXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub location: u32,
pub binding: u32,
pub format: Format,
pub offset: u32,
}
impl Default for VertexInputAttributeDescription2EXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT,
next: ptr::null_mut(),
location: u32::default(),
binding: u32::default(),
format: Format::default(),
offset: u32::default(),
}
}
}
unsafe impl Send for VertexInputAttributeDescription2EXT {}
unsafe impl Sync for VertexInputAttributeDescription2EXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVertexInputBindingDescription.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct VertexInputBindingDescription {
pub binding: u32,
pub stride: u32,
pub input_rate: VertexInputRate,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVertexInputBindingDescription2EXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VertexInputBindingDescription2EXT {
pub s_type: StructureType,
pub next: *mut c_void,
pub binding: u32,
pub stride: u32,
pub input_rate: VertexInputRate,
pub divisor: u32,
}
impl Default for VertexInputBindingDescription2EXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT,
next: ptr::null_mut(),
binding: u32::default(),
stride: u32::default(),
input_rate: VertexInputRate::default(),
divisor: u32::default(),
}
}
}
unsafe impl Send for VertexInputBindingDescription2EXT {}
unsafe impl Sync for VertexInputBindingDescription2EXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVertexInputBindingDivisorDescription.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct VertexInputBindingDivisorDescription {
pub binding: u32,
pub divisor: u32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkViSurfaceCreateInfoNN.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct ViSurfaceCreateInfoNN {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: ViSurfaceCreateFlagsNN,
pub window: *mut c_void,
}
impl Default for ViSurfaceCreateInfoNN {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VI_SURFACE_CREATE_INFO_NN,
next: ptr::null(),
flags: ViSurfaceCreateFlagsNN::default(),
window: ptr::null_mut(),
}
}
}
unsafe impl Send for ViSurfaceCreateInfoNN {}
unsafe impl Sync for ViSurfaceCreateInfoNN {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoBeginCodingInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoBeginCodingInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: VideoBeginCodingFlagsKHR,
pub video_session: VideoSessionKHR,
pub video_session_parameters: VideoSessionParametersKHR,
pub reference_slot_count: u32,
pub reference_slots: *const VideoReferenceSlotInfoKHR,
}
impl Default for VideoBeginCodingInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_BEGIN_CODING_INFO_KHR,
next: ptr::null(),
flags: VideoBeginCodingFlagsKHR::default(),
video_session: VideoSessionKHR::default(),
video_session_parameters: VideoSessionParametersKHR::default(),
reference_slot_count: u32::default(),
reference_slots: ptr::null(),
}
}
}
unsafe impl Send for VideoBeginCodingInfoKHR {}
unsafe impl Sync for VideoBeginCodingInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoCapabilitiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoCapabilitiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub flags: VideoCapabilityFlagsKHR,
pub min_bitstream_buffer_offset_alignment: DeviceSize,
pub min_bitstream_buffer_size_alignment: DeviceSize,
pub picture_access_granularity: Extent2D,
pub min_coded_extent: Extent2D,
pub max_coded_extent: Extent2D,
pub max_dpb_slots: u32,
pub max_active_reference_pictures: u32,
pub std_header_version: ExtensionProperties,
}
impl Default for VideoCapabilitiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_CAPABILITIES_KHR,
next: ptr::null_mut(),
flags: VideoCapabilityFlagsKHR::default(),
min_bitstream_buffer_offset_alignment: DeviceSize::default(),
min_bitstream_buffer_size_alignment: DeviceSize::default(),
picture_access_granularity: Extent2D::default(),
min_coded_extent: Extent2D::default(),
max_coded_extent: Extent2D::default(),
max_dpb_slots: u32::default(),
max_active_reference_pictures: u32::default(),
std_header_version: ExtensionProperties::default(),
}
}
}
unsafe impl Send for VideoCapabilitiesKHR {}
unsafe impl Sync for VideoCapabilitiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoCodingControlInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoCodingControlInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: VideoCodingControlFlagsKHR,
}
impl Default for VideoCodingControlInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_CODING_CONTROL_INFO_KHR,
next: ptr::null(),
flags: VideoCodingControlFlagsKHR::default(),
}
}
}
unsafe impl Send for VideoCodingControlInfoKHR {}
unsafe impl Sync for VideoCodingControlInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoDecodeAV1CapabilitiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoDecodeAV1CapabilitiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub max_level: video::StdVideoAV1Level,
}
impl Default for VideoDecodeAV1CapabilitiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_DECODE_AV1_CAPABILITIES_KHR,
next: ptr::null_mut(),
max_level: video::StdVideoAV1Level::default(),
}
}
}
unsafe impl Send for VideoDecodeAV1CapabilitiesKHR {}
unsafe impl Sync for VideoDecodeAV1CapabilitiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoDecodeAV1DpbSlotInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoDecodeAV1DpbSlotInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub std_reference_info: *const video::StdVideoDecodeAV1ReferenceInfo,
}
impl Default for VideoDecodeAV1DpbSlotInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_DECODE_AV1_DPB_SLOT_INFO_KHR,
next: ptr::null(),
std_reference_info: ptr::null(),
}
}
}
unsafe impl Send for VideoDecodeAV1DpbSlotInfoKHR {}
unsafe impl Sync for VideoDecodeAV1DpbSlotInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoDecodeAV1InlineSessionParametersInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoDecodeAV1InlineSessionParametersInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub std_sequence_header: *const video::StdVideoAV1SequenceHeader,
}
impl Default for VideoDecodeAV1InlineSessionParametersInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_DECODE_AV1_INLINE_SESSION_PARAMETERS_INFO_KHR,
next: ptr::null(),
std_sequence_header: ptr::null(),
}
}
}
unsafe impl Send for VideoDecodeAV1InlineSessionParametersInfoKHR {}
unsafe impl Sync for VideoDecodeAV1InlineSessionParametersInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoDecodeAV1PictureInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoDecodeAV1PictureInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub std_picture_info: *const video::StdVideoDecodeAV1PictureInfo,
pub reference_name_slot_indices: [i32; MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR as usize],
pub frame_header_offset: u32,
pub tile_count: u32,
pub tile_offsets: *const u32,
pub tile_sizes: *const u32,
}
impl Default for VideoDecodeAV1PictureInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_DECODE_AV1_PICTURE_INFO_KHR,
next: ptr::null(),
std_picture_info: ptr::null(),
reference_name_slot_indices: [i32::default(); MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR],
frame_header_offset: u32::default(),
tile_count: u32::default(),
tile_offsets: ptr::null(),
tile_sizes: ptr::null(),
}
}
}
unsafe impl Send for VideoDecodeAV1PictureInfoKHR {}
unsafe impl Sync for VideoDecodeAV1PictureInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoDecodeAV1ProfileInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoDecodeAV1ProfileInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub std_profile: video::StdVideoAV1Profile,
pub film_grain_support: Bool32,
}
impl Default for VideoDecodeAV1ProfileInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_DECODE_AV1_PROFILE_INFO_KHR,
next: ptr::null(),
std_profile: video::StdVideoAV1Profile::default(),
film_grain_support: Bool32::default(),
}
}
}
unsafe impl Send for VideoDecodeAV1ProfileInfoKHR {}
unsafe impl Sync for VideoDecodeAV1ProfileInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoDecodeAV1SessionParametersCreateInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoDecodeAV1SessionParametersCreateInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub std_sequence_header: *const video::StdVideoAV1SequenceHeader,
}
impl Default for VideoDecodeAV1SessionParametersCreateInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR,
next: ptr::null(),
std_sequence_header: ptr::null(),
}
}
}
unsafe impl Send for VideoDecodeAV1SessionParametersCreateInfoKHR {}
unsafe impl Sync for VideoDecodeAV1SessionParametersCreateInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoDecodeCapabilitiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoDecodeCapabilitiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub flags: VideoDecodeCapabilityFlagsKHR,
}
impl Default for VideoDecodeCapabilitiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_DECODE_CAPABILITIES_KHR,
next: ptr::null_mut(),
flags: VideoDecodeCapabilityFlagsKHR::default(),
}
}
}
unsafe impl Send for VideoDecodeCapabilitiesKHR {}
unsafe impl Sync for VideoDecodeCapabilitiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoDecodeH264CapabilitiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoDecodeH264CapabilitiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub max_level_idc: video::StdVideoH264LevelIdc,
pub field_offset_granularity: Offset2D,
}
impl Default for VideoDecodeH264CapabilitiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_DECODE_H264_CAPABILITIES_KHR,
next: ptr::null_mut(),
max_level_idc: video::StdVideoH264LevelIdc::default(),
field_offset_granularity: Offset2D::default(),
}
}
}
unsafe impl Send for VideoDecodeH264CapabilitiesKHR {}
unsafe impl Sync for VideoDecodeH264CapabilitiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoDecodeH264DpbSlotInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoDecodeH264DpbSlotInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub std_reference_info: *const video::StdVideoDecodeH264ReferenceInfo,
}
impl Default for VideoDecodeH264DpbSlotInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_DECODE_H264_DPB_SLOT_INFO_KHR,
next: ptr::null(),
std_reference_info: ptr::null(),
}
}
}
unsafe impl Send for VideoDecodeH264DpbSlotInfoKHR {}
unsafe impl Sync for VideoDecodeH264DpbSlotInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoDecodeH264InlineSessionParametersInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoDecodeH264InlineSessionParametersInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub std_sps: *const video::StdVideoH264SequenceParameterSet,
pub std_pps: *const video::StdVideoH264PictureParameterSet,
}
impl Default for VideoDecodeH264InlineSessionParametersInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_DECODE_H264_INLINE_SESSION_PARAMETERS_INFO_KHR,
next: ptr::null(),
std_sps: ptr::null(),
std_pps: ptr::null(),
}
}
}
unsafe impl Send for VideoDecodeH264InlineSessionParametersInfoKHR {}
unsafe impl Sync for VideoDecodeH264InlineSessionParametersInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoDecodeH264PictureInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoDecodeH264PictureInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub std_picture_info: *const video::StdVideoDecodeH264PictureInfo,
pub slice_count: u32,
pub slice_offsets: *const u32,
}
impl Default for VideoDecodeH264PictureInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_DECODE_H264_PICTURE_INFO_KHR,
next: ptr::null(),
std_picture_info: ptr::null(),
slice_count: u32::default(),
slice_offsets: ptr::null(),
}
}
}
unsafe impl Send for VideoDecodeH264PictureInfoKHR {}
unsafe impl Sync for VideoDecodeH264PictureInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoDecodeH264ProfileInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoDecodeH264ProfileInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub std_profile_idc: video::StdVideoH264ProfileIdc,
pub picture_layout: VideoDecodeH264PictureLayoutFlagsKHR,
}
impl Default for VideoDecodeH264ProfileInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_DECODE_H264_PROFILE_INFO_KHR,
next: ptr::null(),
std_profile_idc: video::StdVideoH264ProfileIdc::default(),
picture_layout: VideoDecodeH264PictureLayoutFlagsKHR::default(),
}
}
}
unsafe impl Send for VideoDecodeH264ProfileInfoKHR {}
unsafe impl Sync for VideoDecodeH264ProfileInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoDecodeH264SessionParametersAddInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoDecodeH264SessionParametersAddInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub std_sps_count: u32,
pub std_sp_ss: *const video::StdVideoH264SequenceParameterSet,
pub std_pps_count: u32,
pub std_pp_ss: *const video::StdVideoH264PictureParameterSet,
}
impl Default for VideoDecodeH264SessionParametersAddInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR,
next: ptr::null(),
std_sps_count: u32::default(),
std_sp_ss: ptr::null(),
std_pps_count: u32::default(),
std_pp_ss: ptr::null(),
}
}
}
unsafe impl Send for VideoDecodeH264SessionParametersAddInfoKHR {}
unsafe impl Sync for VideoDecodeH264SessionParametersAddInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoDecodeH264SessionParametersCreateInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoDecodeH264SessionParametersCreateInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub max_std_sps_count: u32,
pub max_std_pps_count: u32,
pub parameters_add_info: *const VideoDecodeH264SessionParametersAddInfoKHR,
}
impl Default for VideoDecodeH264SessionParametersCreateInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR,
next: ptr::null(),
max_std_sps_count: u32::default(),
max_std_pps_count: u32::default(),
parameters_add_info: ptr::null(),
}
}
}
unsafe impl Send for VideoDecodeH264SessionParametersCreateInfoKHR {}
unsafe impl Sync for VideoDecodeH264SessionParametersCreateInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoDecodeH265CapabilitiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoDecodeH265CapabilitiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub max_level_idc: video::StdVideoH265LevelIdc,
}
impl Default for VideoDecodeH265CapabilitiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_DECODE_H265_CAPABILITIES_KHR,
next: ptr::null_mut(),
max_level_idc: video::StdVideoH265LevelIdc::default(),
}
}
}
unsafe impl Send for VideoDecodeH265CapabilitiesKHR {}
unsafe impl Sync for VideoDecodeH265CapabilitiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoDecodeH265DpbSlotInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoDecodeH265DpbSlotInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub std_reference_info: *const video::StdVideoDecodeH265ReferenceInfo,
}
impl Default for VideoDecodeH265DpbSlotInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_DECODE_H265_DPB_SLOT_INFO_KHR,
next: ptr::null(),
std_reference_info: ptr::null(),
}
}
}
unsafe impl Send for VideoDecodeH265DpbSlotInfoKHR {}
unsafe impl Sync for VideoDecodeH265DpbSlotInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoDecodeH265InlineSessionParametersInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoDecodeH265InlineSessionParametersInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub std_vps: *const video::StdVideoH265VideoParameterSet,
pub std_sps: *const video::StdVideoH265SequenceParameterSet,
pub std_pps: *const video::StdVideoH265PictureParameterSet,
}
impl Default for VideoDecodeH265InlineSessionParametersInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_DECODE_H265_INLINE_SESSION_PARAMETERS_INFO_KHR,
next: ptr::null(),
std_vps: ptr::null(),
std_sps: ptr::null(),
std_pps: ptr::null(),
}
}
}
unsafe impl Send for VideoDecodeH265InlineSessionParametersInfoKHR {}
unsafe impl Sync for VideoDecodeH265InlineSessionParametersInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoDecodeH265PictureInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoDecodeH265PictureInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub std_picture_info: *const video::StdVideoDecodeH265PictureInfo,
pub slice_segment_count: u32,
pub slice_segment_offsets: *const u32,
}
impl Default for VideoDecodeH265PictureInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_DECODE_H265_PICTURE_INFO_KHR,
next: ptr::null(),
std_picture_info: ptr::null(),
slice_segment_count: u32::default(),
slice_segment_offsets: ptr::null(),
}
}
}
unsafe impl Send for VideoDecodeH265PictureInfoKHR {}
unsafe impl Sync for VideoDecodeH265PictureInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoDecodeH265ProfileInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoDecodeH265ProfileInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub std_profile_idc: video::StdVideoH265ProfileIdc,
}
impl Default for VideoDecodeH265ProfileInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_DECODE_H265_PROFILE_INFO_KHR,
next: ptr::null(),
std_profile_idc: video::StdVideoH265ProfileIdc::default(),
}
}
}
unsafe impl Send for VideoDecodeH265ProfileInfoKHR {}
unsafe impl Sync for VideoDecodeH265ProfileInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoDecodeH265SessionParametersAddInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoDecodeH265SessionParametersAddInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub std_vps_count: u32,
pub std_vp_ss: *const video::StdVideoH265VideoParameterSet,
pub std_sps_count: u32,
pub std_sp_ss: *const video::StdVideoH265SequenceParameterSet,
pub std_pps_count: u32,
pub std_pp_ss: *const video::StdVideoH265PictureParameterSet,
}
impl Default for VideoDecodeH265SessionParametersAddInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR,
next: ptr::null(),
std_vps_count: u32::default(),
std_vp_ss: ptr::null(),
std_sps_count: u32::default(),
std_sp_ss: ptr::null(),
std_pps_count: u32::default(),
std_pp_ss: ptr::null(),
}
}
}
unsafe impl Send for VideoDecodeH265SessionParametersAddInfoKHR {}
unsafe impl Sync for VideoDecodeH265SessionParametersAddInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoDecodeH265SessionParametersCreateInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoDecodeH265SessionParametersCreateInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub max_std_vps_count: u32,
pub max_std_sps_count: u32,
pub max_std_pps_count: u32,
pub parameters_add_info: *const VideoDecodeH265SessionParametersAddInfoKHR,
}
impl Default for VideoDecodeH265SessionParametersCreateInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR,
next: ptr::null(),
max_std_vps_count: u32::default(),
max_std_sps_count: u32::default(),
max_std_pps_count: u32::default(),
parameters_add_info: ptr::null(),
}
}
}
unsafe impl Send for VideoDecodeH265SessionParametersCreateInfoKHR {}
unsafe impl Sync for VideoDecodeH265SessionParametersCreateInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoDecodeInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoDecodeInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: VideoDecodeFlagsKHR,
pub src_buffer: Buffer,
pub src_buffer_offset: DeviceSize,
pub src_buffer_range: DeviceSize,
pub dst_picture_resource: VideoPictureResourceInfoKHR,
pub setup_reference_slot: *const VideoReferenceSlotInfoKHR,
pub reference_slot_count: u32,
pub reference_slots: *const VideoReferenceSlotInfoKHR,
}
impl Default for VideoDecodeInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_DECODE_INFO_KHR,
next: ptr::null(),
flags: VideoDecodeFlagsKHR::default(),
src_buffer: Buffer::default(),
src_buffer_offset: DeviceSize::default(),
src_buffer_range: DeviceSize::default(),
dst_picture_resource: VideoPictureResourceInfoKHR::default(),
setup_reference_slot: ptr::null(),
reference_slot_count: u32::default(),
reference_slots: ptr::null(),
}
}
}
unsafe impl Send for VideoDecodeInfoKHR {}
unsafe impl Sync for VideoDecodeInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoDecodeUsageInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoDecodeUsageInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub video_usage_hints: VideoDecodeUsageFlagsKHR,
}
impl Default for VideoDecodeUsageInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_DECODE_USAGE_INFO_KHR,
next: ptr::null(),
video_usage_hints: VideoDecodeUsageFlagsKHR::default(),
}
}
}
unsafe impl Send for VideoDecodeUsageInfoKHR {}
unsafe impl Sync for VideoDecodeUsageInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoDecodeVP9CapabilitiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoDecodeVP9CapabilitiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub max_level: video::StdVideoVP9Level,
}
impl Default for VideoDecodeVP9CapabilitiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_DECODE_VP9_CAPABILITIES_KHR,
next: ptr::null_mut(),
max_level: video::StdVideoVP9Level::default(),
}
}
}
unsafe impl Send for VideoDecodeVP9CapabilitiesKHR {}
unsafe impl Sync for VideoDecodeVP9CapabilitiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoDecodeVP9PictureInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoDecodeVP9PictureInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub std_picture_info: *const video::StdVideoDecodeVP9PictureInfo,
pub reference_name_slot_indices: [i32; MAX_VIDEO_VP9_REFERENCES_PER_FRAME_KHR as usize],
pub uncompressed_header_offset: u32,
pub compressed_header_offset: u32,
pub tiles_offset: u32,
}
impl Default for VideoDecodeVP9PictureInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_DECODE_VP9_PICTURE_INFO_KHR,
next: ptr::null(),
std_picture_info: ptr::null(),
reference_name_slot_indices: [i32::default(); MAX_VIDEO_VP9_REFERENCES_PER_FRAME_KHR],
uncompressed_header_offset: u32::default(),
compressed_header_offset: u32::default(),
tiles_offset: u32::default(),
}
}
}
unsafe impl Send for VideoDecodeVP9PictureInfoKHR {}
unsafe impl Sync for VideoDecodeVP9PictureInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoDecodeVP9ProfileInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoDecodeVP9ProfileInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub std_profile: video::StdVideoVP9Profile,
}
impl Default for VideoDecodeVP9ProfileInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_DECODE_VP9_PROFILE_INFO_KHR,
next: ptr::null(),
std_profile: video::StdVideoVP9Profile::default(),
}
}
}
unsafe impl Send for VideoDecodeVP9ProfileInfoKHR {}
unsafe impl Sync for VideoDecodeVP9ProfileInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeAV1CapabilitiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeAV1CapabilitiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub flags: VideoEncodeAV1CapabilityFlagsKHR,
pub max_level: video::StdVideoAV1Level,
pub coded_picture_alignment: Extent2D,
pub max_tiles: Extent2D,
pub min_tile_size: Extent2D,
pub max_tile_size: Extent2D,
pub superblock_sizes: VideoEncodeAV1SuperblockSizeFlagsKHR,
pub max_single_reference_count: u32,
pub single_reference_name_mask: u32,
pub max_unidirectional_compound_reference_count: u32,
pub max_unidirectional_compound_group1_reference_count: u32,
pub unidirectional_compound_reference_name_mask: u32,
pub max_bidirectional_compound_reference_count: u32,
pub max_bidirectional_compound_group1_reference_count: u32,
pub max_bidirectional_compound_group2_reference_count: u32,
pub bidirectional_compound_reference_name_mask: u32,
pub max_temporal_layer_count: u32,
pub max_spatial_layer_count: u32,
pub max_operating_points: u32,
pub min_q_index: u32,
pub max_q_index: u32,
pub prefers_gop_remaining_frames: Bool32,
pub requires_gop_remaining_frames: Bool32,
pub std_syntax_flags: VideoEncodeAV1StdFlagsKHR,
}
impl Default for VideoEncodeAV1CapabilitiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_AV1_CAPABILITIES_KHR,
next: ptr::null_mut(),
flags: VideoEncodeAV1CapabilityFlagsKHR::default(),
max_level: video::StdVideoAV1Level::default(),
coded_picture_alignment: Extent2D::default(),
max_tiles: Extent2D::default(),
min_tile_size: Extent2D::default(),
max_tile_size: Extent2D::default(),
superblock_sizes: VideoEncodeAV1SuperblockSizeFlagsKHR::default(),
max_single_reference_count: u32::default(),
single_reference_name_mask: u32::default(),
max_unidirectional_compound_reference_count: u32::default(),
max_unidirectional_compound_group1_reference_count: u32::default(),
unidirectional_compound_reference_name_mask: u32::default(),
max_bidirectional_compound_reference_count: u32::default(),
max_bidirectional_compound_group1_reference_count: u32::default(),
max_bidirectional_compound_group2_reference_count: u32::default(),
bidirectional_compound_reference_name_mask: u32::default(),
max_temporal_layer_count: u32::default(),
max_spatial_layer_count: u32::default(),
max_operating_points: u32::default(),
min_q_index: u32::default(),
max_q_index: u32::default(),
prefers_gop_remaining_frames: Bool32::default(),
requires_gop_remaining_frames: Bool32::default(),
std_syntax_flags: VideoEncodeAV1StdFlagsKHR::default(),
}
}
}
unsafe impl Send for VideoEncodeAV1CapabilitiesKHR {}
unsafe impl Sync for VideoEncodeAV1CapabilitiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeAV1DpbSlotInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeAV1DpbSlotInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub std_reference_info: *const video::StdVideoEncodeAV1ReferenceInfo,
}
impl Default for VideoEncodeAV1DpbSlotInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_AV1_DPB_SLOT_INFO_KHR,
next: ptr::null(),
std_reference_info: ptr::null(),
}
}
}
unsafe impl Send for VideoEncodeAV1DpbSlotInfoKHR {}
unsafe impl Sync for VideoEncodeAV1DpbSlotInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeAV1FrameSizeKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeAV1FrameSizeKHR {
pub intra_frame_size: u32,
pub predictive_frame_size: u32,
pub bipredictive_frame_size: u32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeAV1GopRemainingFrameInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeAV1GopRemainingFrameInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub use_gop_remaining_frames: Bool32,
pub gop_remaining_intra: u32,
pub gop_remaining_predictive: u32,
pub gop_remaining_bipredictive: u32,
}
impl Default for VideoEncodeAV1GopRemainingFrameInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_AV1_GOP_REMAINING_FRAME_INFO_KHR,
next: ptr::null(),
use_gop_remaining_frames: Bool32::default(),
gop_remaining_intra: u32::default(),
gop_remaining_predictive: u32::default(),
gop_remaining_bipredictive: u32::default(),
}
}
}
unsafe impl Send for VideoEncodeAV1GopRemainingFrameInfoKHR {}
unsafe impl Sync for VideoEncodeAV1GopRemainingFrameInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeAV1PictureInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeAV1PictureInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub prediction_mode: VideoEncodeAV1PredictionModeKHR,
pub rate_control_group: VideoEncodeAV1RateControlGroupKHR,
pub constant_q_index: u32,
pub std_picture_info: *const video::StdVideoEncodeAV1PictureInfo,
pub reference_name_slot_indices: [i32; MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR as usize],
pub primary_reference_cdf_only: Bool32,
pub generate_obu_extension_header: Bool32,
}
impl Default for VideoEncodeAV1PictureInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_AV1_PICTURE_INFO_KHR,
next: ptr::null(),
prediction_mode: VideoEncodeAV1PredictionModeKHR::default(),
rate_control_group: VideoEncodeAV1RateControlGroupKHR::default(),
constant_q_index: u32::default(),
std_picture_info: ptr::null(),
reference_name_slot_indices: [i32::default(); MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR],
primary_reference_cdf_only: Bool32::default(),
generate_obu_extension_header: Bool32::default(),
}
}
}
unsafe impl Send for VideoEncodeAV1PictureInfoKHR {}
unsafe impl Sync for VideoEncodeAV1PictureInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeAV1ProfileInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeAV1ProfileInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub std_profile: video::StdVideoAV1Profile,
}
impl Default for VideoEncodeAV1ProfileInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_AV1_PROFILE_INFO_KHR,
next: ptr::null(),
std_profile: video::StdVideoAV1Profile::default(),
}
}
}
unsafe impl Send for VideoEncodeAV1ProfileInfoKHR {}
unsafe impl Sync for VideoEncodeAV1ProfileInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeAV1QIndexKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeAV1QIndexKHR {
pub intra_q_index: u32,
pub predictive_q_index: u32,
pub bipredictive_q_index: u32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeAV1QualityLevelPropertiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeAV1QualityLevelPropertiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub preferred_rate_control_flags: VideoEncodeAV1RateControlFlagsKHR,
pub preferred_gop_frame_count: u32,
pub preferred_key_frame_period: u32,
pub preferred_consecutive_bipredictive_frame_count: u32,
pub preferred_temporal_layer_count: u32,
pub preferred_constant_q_index: VideoEncodeAV1QIndexKHR,
pub preferred_max_single_reference_count: u32,
pub preferred_single_reference_name_mask: u32,
pub preferred_max_unidirectional_compound_reference_count: u32,
pub preferred_max_unidirectional_compound_group1_reference_count: u32,
pub preferred_unidirectional_compound_reference_name_mask: u32,
pub preferred_max_bidirectional_compound_reference_count: u32,
pub preferred_max_bidirectional_compound_group1_reference_count: u32,
pub preferred_max_bidirectional_compound_group2_reference_count: u32,
pub preferred_bidirectional_compound_reference_name_mask: u32,
}
impl Default for VideoEncodeAV1QualityLevelPropertiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_AV1_QUALITY_LEVEL_PROPERTIES_KHR,
next: ptr::null_mut(),
preferred_rate_control_flags: VideoEncodeAV1RateControlFlagsKHR::default(),
preferred_gop_frame_count: u32::default(),
preferred_key_frame_period: u32::default(),
preferred_consecutive_bipredictive_frame_count: u32::default(),
preferred_temporal_layer_count: u32::default(),
preferred_constant_q_index: VideoEncodeAV1QIndexKHR::default(),
preferred_max_single_reference_count: u32::default(),
preferred_single_reference_name_mask: u32::default(),
preferred_max_unidirectional_compound_reference_count: u32::default(),
preferred_max_unidirectional_compound_group1_reference_count: u32::default(),
preferred_unidirectional_compound_reference_name_mask: u32::default(),
preferred_max_bidirectional_compound_reference_count: u32::default(),
preferred_max_bidirectional_compound_group1_reference_count: u32::default(),
preferred_max_bidirectional_compound_group2_reference_count: u32::default(),
preferred_bidirectional_compound_reference_name_mask: u32::default(),
}
}
}
unsafe impl Send for VideoEncodeAV1QualityLevelPropertiesKHR {}
unsafe impl Sync for VideoEncodeAV1QualityLevelPropertiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeAV1QuantizationMapCapabilitiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeAV1QuantizationMapCapabilitiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub min_q_index_delta: i32,
pub max_q_index_delta: i32,
}
impl Default for VideoEncodeAV1QuantizationMapCapabilitiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_AV1_QUANTIZATION_MAP_CAPABILITIES_KHR,
next: ptr::null_mut(),
min_q_index_delta: i32::default(),
max_q_index_delta: i32::default(),
}
}
}
unsafe impl Send for VideoEncodeAV1QuantizationMapCapabilitiesKHR {}
unsafe impl Sync for VideoEncodeAV1QuantizationMapCapabilitiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeAV1RateControlInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeAV1RateControlInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: VideoEncodeAV1RateControlFlagsKHR,
pub gop_frame_count: u32,
pub key_frame_period: u32,
pub consecutive_bipredictive_frame_count: u32,
pub temporal_layer_count: u32,
}
impl Default for VideoEncodeAV1RateControlInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_AV1_RATE_CONTROL_INFO_KHR,
next: ptr::null(),
flags: VideoEncodeAV1RateControlFlagsKHR::default(),
gop_frame_count: u32::default(),
key_frame_period: u32::default(),
consecutive_bipredictive_frame_count: u32::default(),
temporal_layer_count: u32::default(),
}
}
}
unsafe impl Send for VideoEncodeAV1RateControlInfoKHR {}
unsafe impl Sync for VideoEncodeAV1RateControlInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeAV1RateControlLayerInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeAV1RateControlLayerInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub use_min_q_index: Bool32,
pub min_q_index: VideoEncodeAV1QIndexKHR,
pub use_max_q_index: Bool32,
pub max_q_index: VideoEncodeAV1QIndexKHR,
pub use_max_frame_size: Bool32,
pub max_frame_size: VideoEncodeAV1FrameSizeKHR,
}
impl Default for VideoEncodeAV1RateControlLayerInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_AV1_RATE_CONTROL_LAYER_INFO_KHR,
next: ptr::null(),
use_min_q_index: Bool32::default(),
min_q_index: VideoEncodeAV1QIndexKHR::default(),
use_max_q_index: Bool32::default(),
max_q_index: VideoEncodeAV1QIndexKHR::default(),
use_max_frame_size: Bool32::default(),
max_frame_size: VideoEncodeAV1FrameSizeKHR::default(),
}
}
}
unsafe impl Send for VideoEncodeAV1RateControlLayerInfoKHR {}
unsafe impl Sync for VideoEncodeAV1RateControlLayerInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeAV1SessionCreateInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeAV1SessionCreateInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub use_max_level: Bool32,
pub max_level: video::StdVideoAV1Level,
}
impl Default for VideoEncodeAV1SessionCreateInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_AV1_SESSION_CREATE_INFO_KHR,
next: ptr::null(),
use_max_level: Bool32::default(),
max_level: video::StdVideoAV1Level::default(),
}
}
}
unsafe impl Send for VideoEncodeAV1SessionCreateInfoKHR {}
unsafe impl Sync for VideoEncodeAV1SessionCreateInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeAV1SessionParametersCreateInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeAV1SessionParametersCreateInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub std_sequence_header: *const video::StdVideoAV1SequenceHeader,
pub std_decoder_model_info: *const video::StdVideoEncodeAV1DecoderModelInfo,
pub std_operating_point_count: u32,
pub std_operating_points: *const video::StdVideoEncodeAV1OperatingPointInfo,
}
impl Default for VideoEncodeAV1SessionParametersCreateInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR,
next: ptr::null(),
std_sequence_header: ptr::null(),
std_decoder_model_info: ptr::null(),
std_operating_point_count: u32::default(),
std_operating_points: ptr::null(),
}
}
}
unsafe impl Send for VideoEncodeAV1SessionParametersCreateInfoKHR {}
unsafe impl Sync for VideoEncodeAV1SessionParametersCreateInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeCapabilitiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeCapabilitiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub flags: VideoEncodeCapabilityFlagsKHR,
pub rate_control_modes: VideoEncodeRateControlModeFlagsKHR,
pub max_rate_control_layers: u32,
pub max_bitrate: u64,
pub max_quality_levels: u32,
pub encode_input_picture_granularity: Extent2D,
pub supported_encode_feedback_flags: VideoEncodeFeedbackFlagsKHR,
}
impl Default for VideoEncodeCapabilitiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_CAPABILITIES_KHR,
next: ptr::null_mut(),
flags: VideoEncodeCapabilityFlagsKHR::default(),
rate_control_modes: VideoEncodeRateControlModeFlagsKHR::default(),
max_rate_control_layers: u32::default(),
max_bitrate: u64::default(),
max_quality_levels: u32::default(),
encode_input_picture_granularity: Extent2D::default(),
supported_encode_feedback_flags: VideoEncodeFeedbackFlagsKHR::default(),
}
}
}
unsafe impl Send for VideoEncodeCapabilitiesKHR {}
unsafe impl Sync for VideoEncodeCapabilitiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeH264CapabilitiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeH264CapabilitiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub flags: VideoEncodeH264CapabilityFlagsKHR,
pub max_level_idc: video::StdVideoH264LevelIdc,
pub max_slice_count: u32,
pub max_p_picture_l0_reference_count: u32,
pub max_b_picture_l0_reference_count: u32,
pub max_l1_reference_count: u32,
pub max_temporal_layer_count: u32,
pub expect_dyadic_temporal_layer_pattern: Bool32,
pub min_qp: i32,
pub max_qp: i32,
pub prefers_gop_remaining_frames: Bool32,
pub requires_gop_remaining_frames: Bool32,
pub std_syntax_flags: VideoEncodeH264StdFlagsKHR,
}
impl Default for VideoEncodeH264CapabilitiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_H264_CAPABILITIES_KHR,
next: ptr::null_mut(),
flags: VideoEncodeH264CapabilityFlagsKHR::default(),
max_level_idc: video::StdVideoH264LevelIdc::default(),
max_slice_count: u32::default(),
max_p_picture_l0_reference_count: u32::default(),
max_b_picture_l0_reference_count: u32::default(),
max_l1_reference_count: u32::default(),
max_temporal_layer_count: u32::default(),
expect_dyadic_temporal_layer_pattern: Bool32::default(),
min_qp: i32::default(),
max_qp: i32::default(),
prefers_gop_remaining_frames: Bool32::default(),
requires_gop_remaining_frames: Bool32::default(),
std_syntax_flags: VideoEncodeH264StdFlagsKHR::default(),
}
}
}
unsafe impl Send for VideoEncodeH264CapabilitiesKHR {}
unsafe impl Sync for VideoEncodeH264CapabilitiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeH264DpbSlotInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeH264DpbSlotInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub std_reference_info: *const video::StdVideoEncodeH264ReferenceInfo,
}
impl Default for VideoEncodeH264DpbSlotInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_H264_DPB_SLOT_INFO_KHR,
next: ptr::null(),
std_reference_info: ptr::null(),
}
}
}
unsafe impl Send for VideoEncodeH264DpbSlotInfoKHR {}
unsafe impl Sync for VideoEncodeH264DpbSlotInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeH264FrameSizeKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeH264FrameSizeKHR {
pub frame_i_size: u32,
pub frame_p_size: u32,
pub frame_b_size: u32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeH264GopRemainingFrameInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeH264GopRemainingFrameInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub use_gop_remaining_frames: Bool32,
pub gop_remaining_i: u32,
pub gop_remaining_p: u32,
pub gop_remaining_b: u32,
}
impl Default for VideoEncodeH264GopRemainingFrameInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_H264_GOP_REMAINING_FRAME_INFO_KHR,
next: ptr::null(),
use_gop_remaining_frames: Bool32::default(),
gop_remaining_i: u32::default(),
gop_remaining_p: u32::default(),
gop_remaining_b: u32::default(),
}
}
}
unsafe impl Send for VideoEncodeH264GopRemainingFrameInfoKHR {}
unsafe impl Sync for VideoEncodeH264GopRemainingFrameInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeH264NaluSliceInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeH264NaluSliceInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub constant_qp: i32,
pub std_slice_header: *const video::StdVideoEncodeH264SliceHeader,
}
impl Default for VideoEncodeH264NaluSliceInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_H264_NALU_SLICE_INFO_KHR,
next: ptr::null(),
constant_qp: i32::default(),
std_slice_header: ptr::null(),
}
}
}
unsafe impl Send for VideoEncodeH264NaluSliceInfoKHR {}
unsafe impl Sync for VideoEncodeH264NaluSliceInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeH264PictureInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeH264PictureInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub nalu_slice_entry_count: u32,
pub nalu_slice_entries: *const VideoEncodeH264NaluSliceInfoKHR,
pub std_picture_info: *const video::StdVideoEncodeH264PictureInfo,
pub generate_prefix_nalu: Bool32,
}
impl Default for VideoEncodeH264PictureInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_H264_PICTURE_INFO_KHR,
next: ptr::null(),
nalu_slice_entry_count: u32::default(),
nalu_slice_entries: ptr::null(),
std_picture_info: ptr::null(),
generate_prefix_nalu: Bool32::default(),
}
}
}
unsafe impl Send for VideoEncodeH264PictureInfoKHR {}
unsafe impl Sync for VideoEncodeH264PictureInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeH264ProfileInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeH264ProfileInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub std_profile_idc: video::StdVideoH264ProfileIdc,
}
impl Default for VideoEncodeH264ProfileInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_H264_PROFILE_INFO_KHR,
next: ptr::null(),
std_profile_idc: video::StdVideoH264ProfileIdc::default(),
}
}
}
unsafe impl Send for VideoEncodeH264ProfileInfoKHR {}
unsafe impl Sync for VideoEncodeH264ProfileInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeH264QpKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeH264QpKHR {
pub qp_i: i32,
pub qp_p: i32,
pub qp_b: i32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeH264QualityLevelPropertiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeH264QualityLevelPropertiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub preferred_rate_control_flags: VideoEncodeH264RateControlFlagsKHR,
pub preferred_gop_frame_count: u32,
pub preferred_idr_period: u32,
pub preferred_consecutive_b_frame_count: u32,
pub preferred_temporal_layer_count: u32,
pub preferred_constant_qp: VideoEncodeH264QpKHR,
pub preferred_max_l0_reference_count: u32,
pub preferred_max_l1_reference_count: u32,
pub preferred_std_entropy_coding_mode_flag: Bool32,
}
impl Default for VideoEncodeH264QualityLevelPropertiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_H264_QUALITY_LEVEL_PROPERTIES_KHR,
next: ptr::null_mut(),
preferred_rate_control_flags: VideoEncodeH264RateControlFlagsKHR::default(),
preferred_gop_frame_count: u32::default(),
preferred_idr_period: u32::default(),
preferred_consecutive_b_frame_count: u32::default(),
preferred_temporal_layer_count: u32::default(),
preferred_constant_qp: VideoEncodeH264QpKHR::default(),
preferred_max_l0_reference_count: u32::default(),
preferred_max_l1_reference_count: u32::default(),
preferred_std_entropy_coding_mode_flag: Bool32::default(),
}
}
}
unsafe impl Send for VideoEncodeH264QualityLevelPropertiesKHR {}
unsafe impl Sync for VideoEncodeH264QualityLevelPropertiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeH264QuantizationMapCapabilitiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeH264QuantizationMapCapabilitiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub min_qp_delta: i32,
pub max_qp_delta: i32,
}
impl Default for VideoEncodeH264QuantizationMapCapabilitiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_H264_QUANTIZATION_MAP_CAPABILITIES_KHR,
next: ptr::null_mut(),
min_qp_delta: i32::default(),
max_qp_delta: i32::default(),
}
}
}
unsafe impl Send for VideoEncodeH264QuantizationMapCapabilitiesKHR {}
unsafe impl Sync for VideoEncodeH264QuantizationMapCapabilitiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeH264RateControlInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeH264RateControlInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: VideoEncodeH264RateControlFlagsKHR,
pub gop_frame_count: u32,
pub idr_period: u32,
pub consecutive_b_frame_count: u32,
pub temporal_layer_count: u32,
}
impl Default for VideoEncodeH264RateControlInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_H264_RATE_CONTROL_INFO_KHR,
next: ptr::null(),
flags: VideoEncodeH264RateControlFlagsKHR::default(),
gop_frame_count: u32::default(),
idr_period: u32::default(),
consecutive_b_frame_count: u32::default(),
temporal_layer_count: u32::default(),
}
}
}
unsafe impl Send for VideoEncodeH264RateControlInfoKHR {}
unsafe impl Sync for VideoEncodeH264RateControlInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeH264RateControlLayerInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeH264RateControlLayerInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub use_min_qp: Bool32,
pub min_qp: VideoEncodeH264QpKHR,
pub use_max_qp: Bool32,
pub max_qp: VideoEncodeH264QpKHR,
pub use_max_frame_size: Bool32,
pub max_frame_size: VideoEncodeH264FrameSizeKHR,
}
impl Default for VideoEncodeH264RateControlLayerInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_KHR,
next: ptr::null(),
use_min_qp: Bool32::default(),
min_qp: VideoEncodeH264QpKHR::default(),
use_max_qp: Bool32::default(),
max_qp: VideoEncodeH264QpKHR::default(),
use_max_frame_size: Bool32::default(),
max_frame_size: VideoEncodeH264FrameSizeKHR::default(),
}
}
}
unsafe impl Send for VideoEncodeH264RateControlLayerInfoKHR {}
unsafe impl Sync for VideoEncodeH264RateControlLayerInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeH264SessionCreateInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeH264SessionCreateInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub use_max_level_idc: Bool32,
pub max_level_idc: video::StdVideoH264LevelIdc,
}
impl Default for VideoEncodeH264SessionCreateInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_H264_SESSION_CREATE_INFO_KHR,
next: ptr::null(),
use_max_level_idc: Bool32::default(),
max_level_idc: video::StdVideoH264LevelIdc::default(),
}
}
}
unsafe impl Send for VideoEncodeH264SessionCreateInfoKHR {}
unsafe impl Sync for VideoEncodeH264SessionCreateInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeH264SessionParametersAddInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeH264SessionParametersAddInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub std_sps_count: u32,
pub std_sp_ss: *const video::StdVideoH264SequenceParameterSet,
pub std_pps_count: u32,
pub std_pp_ss: *const video::StdVideoH264PictureParameterSet,
}
impl Default for VideoEncodeH264SessionParametersAddInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR,
next: ptr::null(),
std_sps_count: u32::default(),
std_sp_ss: ptr::null(),
std_pps_count: u32::default(),
std_pp_ss: ptr::null(),
}
}
}
unsafe impl Send for VideoEncodeH264SessionParametersAddInfoKHR {}
unsafe impl Sync for VideoEncodeH264SessionParametersAddInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeH264SessionParametersCreateInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeH264SessionParametersCreateInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub max_std_sps_count: u32,
pub max_std_pps_count: u32,
pub parameters_add_info: *const VideoEncodeH264SessionParametersAddInfoKHR,
}
impl Default for VideoEncodeH264SessionParametersCreateInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR,
next: ptr::null(),
max_std_sps_count: u32::default(),
max_std_pps_count: u32::default(),
parameters_add_info: ptr::null(),
}
}
}
unsafe impl Send for VideoEncodeH264SessionParametersCreateInfoKHR {}
unsafe impl Sync for VideoEncodeH264SessionParametersCreateInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeH264SessionParametersFeedbackInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeH264SessionParametersFeedbackInfoKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub has_std_sps_overrides: Bool32,
pub has_std_pps_overrides: Bool32,
}
impl Default for VideoEncodeH264SessionParametersFeedbackInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_H264_SESSION_PARAMETERS_FEEDBACK_INFO_KHR,
next: ptr::null_mut(),
has_std_sps_overrides: Bool32::default(),
has_std_pps_overrides: Bool32::default(),
}
}
}
unsafe impl Send for VideoEncodeH264SessionParametersFeedbackInfoKHR {}
unsafe impl Sync for VideoEncodeH264SessionParametersFeedbackInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeH264SessionParametersGetInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeH264SessionParametersGetInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub write_std_sps: Bool32,
pub write_std_pps: Bool32,
pub std_sps_id: u32,
pub std_pps_id: u32,
}
impl Default for VideoEncodeH264SessionParametersGetInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_H264_SESSION_PARAMETERS_GET_INFO_KHR,
next: ptr::null(),
write_std_sps: Bool32::default(),
write_std_pps: Bool32::default(),
std_sps_id: u32::default(),
std_pps_id: u32::default(),
}
}
}
unsafe impl Send for VideoEncodeH264SessionParametersGetInfoKHR {}
unsafe impl Sync for VideoEncodeH264SessionParametersGetInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeH265CapabilitiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeH265CapabilitiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub flags: VideoEncodeH265CapabilityFlagsKHR,
pub max_level_idc: video::StdVideoH265LevelIdc,
pub max_slice_segment_count: u32,
pub max_tiles: Extent2D,
pub ctb_sizes: VideoEncodeH265CtbSizeFlagsKHR,
pub transform_block_sizes: VideoEncodeH265TransformBlockSizeFlagsKHR,
pub max_p_picture_l0_reference_count: u32,
pub max_b_picture_l0_reference_count: u32,
pub max_l1_reference_count: u32,
pub max_sub_layer_count: u32,
pub expect_dyadic_temporal_sub_layer_pattern: Bool32,
pub min_qp: i32,
pub max_qp: i32,
pub prefers_gop_remaining_frames: Bool32,
pub requires_gop_remaining_frames: Bool32,
pub std_syntax_flags: VideoEncodeH265StdFlagsKHR,
}
impl Default for VideoEncodeH265CapabilitiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_H265_CAPABILITIES_KHR,
next: ptr::null_mut(),
flags: VideoEncodeH265CapabilityFlagsKHR::default(),
max_level_idc: video::StdVideoH265LevelIdc::default(),
max_slice_segment_count: u32::default(),
max_tiles: Extent2D::default(),
ctb_sizes: VideoEncodeH265CtbSizeFlagsKHR::default(),
transform_block_sizes: VideoEncodeH265TransformBlockSizeFlagsKHR::default(),
max_p_picture_l0_reference_count: u32::default(),
max_b_picture_l0_reference_count: u32::default(),
max_l1_reference_count: u32::default(),
max_sub_layer_count: u32::default(),
expect_dyadic_temporal_sub_layer_pattern: Bool32::default(),
min_qp: i32::default(),
max_qp: i32::default(),
prefers_gop_remaining_frames: Bool32::default(),
requires_gop_remaining_frames: Bool32::default(),
std_syntax_flags: VideoEncodeH265StdFlagsKHR::default(),
}
}
}
unsafe impl Send for VideoEncodeH265CapabilitiesKHR {}
unsafe impl Sync for VideoEncodeH265CapabilitiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeH265DpbSlotInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeH265DpbSlotInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub std_reference_info: *const video::StdVideoEncodeH265ReferenceInfo,
}
impl Default for VideoEncodeH265DpbSlotInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_H265_DPB_SLOT_INFO_KHR,
next: ptr::null(),
std_reference_info: ptr::null(),
}
}
}
unsafe impl Send for VideoEncodeH265DpbSlotInfoKHR {}
unsafe impl Sync for VideoEncodeH265DpbSlotInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeH265FrameSizeKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeH265FrameSizeKHR {
pub frame_i_size: u32,
pub frame_p_size: u32,
pub frame_b_size: u32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeH265GopRemainingFrameInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeH265GopRemainingFrameInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub use_gop_remaining_frames: Bool32,
pub gop_remaining_i: u32,
pub gop_remaining_p: u32,
pub gop_remaining_b: u32,
}
impl Default for VideoEncodeH265GopRemainingFrameInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_H265_GOP_REMAINING_FRAME_INFO_KHR,
next: ptr::null(),
use_gop_remaining_frames: Bool32::default(),
gop_remaining_i: u32::default(),
gop_remaining_p: u32::default(),
gop_remaining_b: u32::default(),
}
}
}
unsafe impl Send for VideoEncodeH265GopRemainingFrameInfoKHR {}
unsafe impl Sync for VideoEncodeH265GopRemainingFrameInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeH265NaluSliceSegmentInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeH265NaluSliceSegmentInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub constant_qp: i32,
pub std_slice_segment_header: *const video::StdVideoEncodeH265SliceSegmentHeader,
}
impl Default for VideoEncodeH265NaluSliceSegmentInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_KHR,
next: ptr::null(),
constant_qp: i32::default(),
std_slice_segment_header: ptr::null(),
}
}
}
unsafe impl Send for VideoEncodeH265NaluSliceSegmentInfoKHR {}
unsafe impl Sync for VideoEncodeH265NaluSliceSegmentInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeH265PictureInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeH265PictureInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub nalu_slice_segment_entry_count: u32,
pub nalu_slice_segment_entries: *const VideoEncodeH265NaluSliceSegmentInfoKHR,
pub std_picture_info: *const video::StdVideoEncodeH265PictureInfo,
}
impl Default for VideoEncodeH265PictureInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_H265_PICTURE_INFO_KHR,
next: ptr::null(),
nalu_slice_segment_entry_count: u32::default(),
nalu_slice_segment_entries: ptr::null(),
std_picture_info: ptr::null(),
}
}
}
unsafe impl Send for VideoEncodeH265PictureInfoKHR {}
unsafe impl Sync for VideoEncodeH265PictureInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeH265ProfileInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeH265ProfileInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub std_profile_idc: video::StdVideoH265ProfileIdc,
}
impl Default for VideoEncodeH265ProfileInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_H265_PROFILE_INFO_KHR,
next: ptr::null(),
std_profile_idc: video::StdVideoH265ProfileIdc::default(),
}
}
}
unsafe impl Send for VideoEncodeH265ProfileInfoKHR {}
unsafe impl Sync for VideoEncodeH265ProfileInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeH265QpKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeH265QpKHR {
pub qp_i: i32,
pub qp_p: i32,
pub qp_b: i32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeH265QualityLevelPropertiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeH265QualityLevelPropertiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub preferred_rate_control_flags: VideoEncodeH265RateControlFlagsKHR,
pub preferred_gop_frame_count: u32,
pub preferred_idr_period: u32,
pub preferred_consecutive_b_frame_count: u32,
pub preferred_sub_layer_count: u32,
pub preferred_constant_qp: VideoEncodeH265QpKHR,
pub preferred_max_l0_reference_count: u32,
pub preferred_max_l1_reference_count: u32,
}
impl Default for VideoEncodeH265QualityLevelPropertiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_H265_QUALITY_LEVEL_PROPERTIES_KHR,
next: ptr::null_mut(),
preferred_rate_control_flags: VideoEncodeH265RateControlFlagsKHR::default(),
preferred_gop_frame_count: u32::default(),
preferred_idr_period: u32::default(),
preferred_consecutive_b_frame_count: u32::default(),
preferred_sub_layer_count: u32::default(),
preferred_constant_qp: VideoEncodeH265QpKHR::default(),
preferred_max_l0_reference_count: u32::default(),
preferred_max_l1_reference_count: u32::default(),
}
}
}
unsafe impl Send for VideoEncodeH265QualityLevelPropertiesKHR {}
unsafe impl Sync for VideoEncodeH265QualityLevelPropertiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeH265QuantizationMapCapabilitiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeH265QuantizationMapCapabilitiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub min_qp_delta: i32,
pub max_qp_delta: i32,
}
impl Default for VideoEncodeH265QuantizationMapCapabilitiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_H265_QUANTIZATION_MAP_CAPABILITIES_KHR,
next: ptr::null_mut(),
min_qp_delta: i32::default(),
max_qp_delta: i32::default(),
}
}
}
unsafe impl Send for VideoEncodeH265QuantizationMapCapabilitiesKHR {}
unsafe impl Sync for VideoEncodeH265QuantizationMapCapabilitiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeH265RateControlInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeH265RateControlInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: VideoEncodeH265RateControlFlagsKHR,
pub gop_frame_count: u32,
pub idr_period: u32,
pub consecutive_b_frame_count: u32,
pub sub_layer_count: u32,
}
impl Default for VideoEncodeH265RateControlInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_H265_RATE_CONTROL_INFO_KHR,
next: ptr::null(),
flags: VideoEncodeH265RateControlFlagsKHR::default(),
gop_frame_count: u32::default(),
idr_period: u32::default(),
consecutive_b_frame_count: u32::default(),
sub_layer_count: u32::default(),
}
}
}
unsafe impl Send for VideoEncodeH265RateControlInfoKHR {}
unsafe impl Sync for VideoEncodeH265RateControlInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeH265RateControlLayerInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeH265RateControlLayerInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub use_min_qp: Bool32,
pub min_qp: VideoEncodeH265QpKHR,
pub use_max_qp: Bool32,
pub max_qp: VideoEncodeH265QpKHR,
pub use_max_frame_size: Bool32,
pub max_frame_size: VideoEncodeH265FrameSizeKHR,
}
impl Default for VideoEncodeH265RateControlLayerInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_KHR,
next: ptr::null(),
use_min_qp: Bool32::default(),
min_qp: VideoEncodeH265QpKHR::default(),
use_max_qp: Bool32::default(),
max_qp: VideoEncodeH265QpKHR::default(),
use_max_frame_size: Bool32::default(),
max_frame_size: VideoEncodeH265FrameSizeKHR::default(),
}
}
}
unsafe impl Send for VideoEncodeH265RateControlLayerInfoKHR {}
unsafe impl Sync for VideoEncodeH265RateControlLayerInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeH265SessionCreateInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeH265SessionCreateInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub use_max_level_idc: Bool32,
pub max_level_idc: video::StdVideoH265LevelIdc,
}
impl Default for VideoEncodeH265SessionCreateInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_H265_SESSION_CREATE_INFO_KHR,
next: ptr::null(),
use_max_level_idc: Bool32::default(),
max_level_idc: video::StdVideoH265LevelIdc::default(),
}
}
}
unsafe impl Send for VideoEncodeH265SessionCreateInfoKHR {}
unsafe impl Sync for VideoEncodeH265SessionCreateInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeH265SessionParametersAddInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeH265SessionParametersAddInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub std_vps_count: u32,
pub std_vp_ss: *const video::StdVideoH265VideoParameterSet,
pub std_sps_count: u32,
pub std_sp_ss: *const video::StdVideoH265SequenceParameterSet,
pub std_pps_count: u32,
pub std_pp_ss: *const video::StdVideoH265PictureParameterSet,
}
impl Default for VideoEncodeH265SessionParametersAddInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR,
next: ptr::null(),
std_vps_count: u32::default(),
std_vp_ss: ptr::null(),
std_sps_count: u32::default(),
std_sp_ss: ptr::null(),
std_pps_count: u32::default(),
std_pp_ss: ptr::null(),
}
}
}
unsafe impl Send for VideoEncodeH265SessionParametersAddInfoKHR {}
unsafe impl Sync for VideoEncodeH265SessionParametersAddInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeH265SessionParametersCreateInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeH265SessionParametersCreateInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub max_std_vps_count: u32,
pub max_std_sps_count: u32,
pub max_std_pps_count: u32,
pub parameters_add_info: *const VideoEncodeH265SessionParametersAddInfoKHR,
}
impl Default for VideoEncodeH265SessionParametersCreateInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR,
next: ptr::null(),
max_std_vps_count: u32::default(),
max_std_sps_count: u32::default(),
max_std_pps_count: u32::default(),
parameters_add_info: ptr::null(),
}
}
}
unsafe impl Send for VideoEncodeH265SessionParametersCreateInfoKHR {}
unsafe impl Sync for VideoEncodeH265SessionParametersCreateInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeH265SessionParametersFeedbackInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeH265SessionParametersFeedbackInfoKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub has_std_vps_overrides: Bool32,
pub has_std_sps_overrides: Bool32,
pub has_std_pps_overrides: Bool32,
}
impl Default for VideoEncodeH265SessionParametersFeedbackInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_H265_SESSION_PARAMETERS_FEEDBACK_INFO_KHR,
next: ptr::null_mut(),
has_std_vps_overrides: Bool32::default(),
has_std_sps_overrides: Bool32::default(),
has_std_pps_overrides: Bool32::default(),
}
}
}
unsafe impl Send for VideoEncodeH265SessionParametersFeedbackInfoKHR {}
unsafe impl Sync for VideoEncodeH265SessionParametersFeedbackInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeH265SessionParametersGetInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeH265SessionParametersGetInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub write_std_vps: Bool32,
pub write_std_sps: Bool32,
pub write_std_pps: Bool32,
pub std_vps_id: u32,
pub std_sps_id: u32,
pub std_pps_id: u32,
}
impl Default for VideoEncodeH265SessionParametersGetInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_H265_SESSION_PARAMETERS_GET_INFO_KHR,
next: ptr::null(),
write_std_vps: Bool32::default(),
write_std_sps: Bool32::default(),
write_std_pps: Bool32::default(),
std_vps_id: u32::default(),
std_sps_id: u32::default(),
std_pps_id: u32::default(),
}
}
}
unsafe impl Send for VideoEncodeH265SessionParametersGetInfoKHR {}
unsafe impl Sync for VideoEncodeH265SessionParametersGetInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: VideoEncodeFlagsKHR,
pub dst_buffer: Buffer,
pub dst_buffer_offset: DeviceSize,
pub dst_buffer_range: DeviceSize,
pub src_picture_resource: VideoPictureResourceInfoKHR,
pub setup_reference_slot: *const VideoReferenceSlotInfoKHR,
pub reference_slot_count: u32,
pub reference_slots: *const VideoReferenceSlotInfoKHR,
pub preceding_externally_encoded_bytes: u32,
}
impl Default for VideoEncodeInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_INFO_KHR,
next: ptr::null(),
flags: VideoEncodeFlagsKHR::default(),
dst_buffer: Buffer::default(),
dst_buffer_offset: DeviceSize::default(),
dst_buffer_range: DeviceSize::default(),
src_picture_resource: VideoPictureResourceInfoKHR::default(),
setup_reference_slot: ptr::null(),
reference_slot_count: u32::default(),
reference_slots: ptr::null(),
preceding_externally_encoded_bytes: u32::default(),
}
}
}
unsafe impl Send for VideoEncodeInfoKHR {}
unsafe impl Sync for VideoEncodeInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeIntraRefreshCapabilitiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeIntraRefreshCapabilitiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub intra_refresh_modes: VideoEncodeIntraRefreshModeFlagsKHR,
pub max_intra_refresh_cycle_duration: u32,
pub max_intra_refresh_active_reference_pictures: u32,
pub partition_independent_intra_refresh_regions: Bool32,
pub non_rectangular_intra_refresh_regions: Bool32,
}
impl Default for VideoEncodeIntraRefreshCapabilitiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_INTRA_REFRESH_CAPABILITIES_KHR,
next: ptr::null_mut(),
intra_refresh_modes: VideoEncodeIntraRefreshModeFlagsKHR::default(),
max_intra_refresh_cycle_duration: u32::default(),
max_intra_refresh_active_reference_pictures: u32::default(),
partition_independent_intra_refresh_regions: Bool32::default(),
non_rectangular_intra_refresh_regions: Bool32::default(),
}
}
}
unsafe impl Send for VideoEncodeIntraRefreshCapabilitiesKHR {}
unsafe impl Sync for VideoEncodeIntraRefreshCapabilitiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeIntraRefreshInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeIntraRefreshInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub intra_refresh_cycle_duration: u32,
pub intra_refresh_index: u32,
}
impl Default for VideoEncodeIntraRefreshInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_INTRA_REFRESH_INFO_KHR,
next: ptr::null(),
intra_refresh_cycle_duration: u32::default(),
intra_refresh_index: u32::default(),
}
}
}
unsafe impl Send for VideoEncodeIntraRefreshInfoKHR {}
unsafe impl Sync for VideoEncodeIntraRefreshInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeProfileRgbConversionInfoVALVE.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeProfileRgbConversionInfoVALVE {
pub s_type: StructureType,
pub next: *const c_void,
pub perform_encode_rgb_conversion: Bool32,
}
impl Default for VideoEncodeProfileRgbConversionInfoVALVE {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_PROFILE_RGB_CONVERSION_INFO_VALVE,
next: ptr::null(),
perform_encode_rgb_conversion: Bool32::default(),
}
}
}
unsafe impl Send for VideoEncodeProfileRgbConversionInfoVALVE {}
unsafe impl Sync for VideoEncodeProfileRgbConversionInfoVALVE {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeQualityLevelInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeQualityLevelInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub quality_level: u32,
}
impl Default for VideoEncodeQualityLevelInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR,
next: ptr::null(),
quality_level: u32::default(),
}
}
}
unsafe impl Send for VideoEncodeQualityLevelInfoKHR {}
unsafe impl Sync for VideoEncodeQualityLevelInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeQualityLevelPropertiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeQualityLevelPropertiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub preferred_rate_control_mode: VideoEncodeRateControlModeFlagsKHR,
pub preferred_rate_control_layer_count: u32,
}
impl Default for VideoEncodeQualityLevelPropertiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_QUALITY_LEVEL_PROPERTIES_KHR,
next: ptr::null_mut(),
preferred_rate_control_mode: VideoEncodeRateControlModeFlagsKHR::default(),
preferred_rate_control_layer_count: u32::default(),
}
}
}
unsafe impl Send for VideoEncodeQualityLevelPropertiesKHR {}
unsafe impl Sync for VideoEncodeQualityLevelPropertiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeQuantizationMapCapabilitiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeQuantizationMapCapabilitiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub max_quantization_map_extent: Extent2D,
}
impl Default for VideoEncodeQuantizationMapCapabilitiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_QUANTIZATION_MAP_CAPABILITIES_KHR,
next: ptr::null_mut(),
max_quantization_map_extent: Extent2D::default(),
}
}
}
unsafe impl Send for VideoEncodeQuantizationMapCapabilitiesKHR {}
unsafe impl Sync for VideoEncodeQuantizationMapCapabilitiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeQuantizationMapInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeQuantizationMapInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub quantization_map: ImageView,
pub quantization_map_extent: Extent2D,
}
impl Default for VideoEncodeQuantizationMapInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_QUANTIZATION_MAP_INFO_KHR,
next: ptr::null(),
quantization_map: ImageView::default(),
quantization_map_extent: Extent2D::default(),
}
}
}
unsafe impl Send for VideoEncodeQuantizationMapInfoKHR {}
unsafe impl Sync for VideoEncodeQuantizationMapInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeQuantizationMapSessionParametersCreateInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeQuantizationMapSessionParametersCreateInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub quantization_map_texel_size: Extent2D,
}
impl Default for VideoEncodeQuantizationMapSessionParametersCreateInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_QUANTIZATION_MAP_SESSION_PARAMETERS_CREATE_INFO_KHR,
next: ptr::null(),
quantization_map_texel_size: Extent2D::default(),
}
}
}
unsafe impl Send for VideoEncodeQuantizationMapSessionParametersCreateInfoKHR {}
unsafe impl Sync for VideoEncodeQuantizationMapSessionParametersCreateInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeRateControlInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeRateControlInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: VideoEncodeRateControlFlagsKHR,
pub rate_control_mode: VideoEncodeRateControlModeFlagsKHR,
pub layer_count: u32,
pub layers: *const VideoEncodeRateControlLayerInfoKHR,
pub virtual_buffer_size_in_ms: u32,
pub initial_virtual_buffer_size_in_ms: u32,
}
impl Default for VideoEncodeRateControlInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_RATE_CONTROL_INFO_KHR,
next: ptr::null(),
flags: VideoEncodeRateControlFlagsKHR::default(),
rate_control_mode: VideoEncodeRateControlModeFlagsKHR::default(),
layer_count: u32::default(),
layers: ptr::null(),
virtual_buffer_size_in_ms: u32::default(),
initial_virtual_buffer_size_in_ms: u32::default(),
}
}
}
unsafe impl Send for VideoEncodeRateControlInfoKHR {}
unsafe impl Sync for VideoEncodeRateControlInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeRateControlLayerInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeRateControlLayerInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub average_bitrate: u64,
pub max_bitrate: u64,
pub frame_rate_numerator: u32,
pub frame_rate_denominator: u32,
}
impl Default for VideoEncodeRateControlLayerInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR,
next: ptr::null(),
average_bitrate: u64::default(),
max_bitrate: u64::default(),
frame_rate_numerator: u32::default(),
frame_rate_denominator: u32::default(),
}
}
}
unsafe impl Send for VideoEncodeRateControlLayerInfoKHR {}
unsafe impl Sync for VideoEncodeRateControlLayerInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeRgbConversionCapabilitiesVALVE.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeRgbConversionCapabilitiesVALVE {
pub s_type: StructureType,
pub next: *mut c_void,
pub rgb_models: VideoEncodeRgbModelConversionFlagsVALVE,
pub rgb_ranges: VideoEncodeRgbRangeCompressionFlagsVALVE,
pub x_chroma_offsets: VideoEncodeRgbChromaOffsetFlagsVALVE,
pub y_chroma_offsets: VideoEncodeRgbChromaOffsetFlagsVALVE,
}
impl Default for VideoEncodeRgbConversionCapabilitiesVALVE {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_RGB_CONVERSION_CAPABILITIES_VALVE,
next: ptr::null_mut(),
rgb_models: VideoEncodeRgbModelConversionFlagsVALVE::default(),
rgb_ranges: VideoEncodeRgbRangeCompressionFlagsVALVE::default(),
x_chroma_offsets: VideoEncodeRgbChromaOffsetFlagsVALVE::default(),
y_chroma_offsets: VideoEncodeRgbChromaOffsetFlagsVALVE::default(),
}
}
}
unsafe impl Send for VideoEncodeRgbConversionCapabilitiesVALVE {}
unsafe impl Sync for VideoEncodeRgbConversionCapabilitiesVALVE {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeSessionIntraRefreshCreateInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeSessionIntraRefreshCreateInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub intra_refresh_mode: VideoEncodeIntraRefreshModeFlagsKHR,
}
impl Default for VideoEncodeSessionIntraRefreshCreateInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_SESSION_INTRA_REFRESH_CREATE_INFO_KHR,
next: ptr::null(),
intra_refresh_mode: VideoEncodeIntraRefreshModeFlagsKHR::default(),
}
}
}
unsafe impl Send for VideoEncodeSessionIntraRefreshCreateInfoKHR {}
unsafe impl Sync for VideoEncodeSessionIntraRefreshCreateInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeSessionParametersFeedbackInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeSessionParametersFeedbackInfoKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub has_overrides: Bool32,
}
impl Default for VideoEncodeSessionParametersFeedbackInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_SESSION_PARAMETERS_FEEDBACK_INFO_KHR,
next: ptr::null_mut(),
has_overrides: Bool32::default(),
}
}
}
unsafe impl Send for VideoEncodeSessionParametersFeedbackInfoKHR {}
unsafe impl Sync for VideoEncodeSessionParametersFeedbackInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeSessionParametersGetInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeSessionParametersGetInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub video_session_parameters: VideoSessionParametersKHR,
}
impl Default for VideoEncodeSessionParametersGetInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_SESSION_PARAMETERS_GET_INFO_KHR,
next: ptr::null(),
video_session_parameters: VideoSessionParametersKHR::default(),
}
}
}
unsafe impl Send for VideoEncodeSessionParametersGetInfoKHR {}
unsafe impl Sync for VideoEncodeSessionParametersGetInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeSessionRgbConversionCreateInfoVALVE.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeSessionRgbConversionCreateInfoVALVE {
pub s_type: StructureType,
pub next: *const c_void,
pub rgb_model: VideoEncodeRgbModelConversionFlagsVALVE,
pub rgb_range: VideoEncodeRgbRangeCompressionFlagsVALVE,
pub x_chroma_offset: VideoEncodeRgbChromaOffsetFlagsVALVE,
pub y_chroma_offset: VideoEncodeRgbChromaOffsetFlagsVALVE,
}
impl Default for VideoEncodeSessionRgbConversionCreateInfoVALVE {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_SESSION_RGB_CONVERSION_CREATE_INFO_VALVE,
next: ptr::null(),
rgb_model: VideoEncodeRgbModelConversionFlagsVALVE::default(),
rgb_range: VideoEncodeRgbRangeCompressionFlagsVALVE::default(),
x_chroma_offset: VideoEncodeRgbChromaOffsetFlagsVALVE::default(),
y_chroma_offset: VideoEncodeRgbChromaOffsetFlagsVALVE::default(),
}
}
}
unsafe impl Send for VideoEncodeSessionRgbConversionCreateInfoVALVE {}
unsafe impl Sync for VideoEncodeSessionRgbConversionCreateInfoVALVE {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEncodeUsageInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEncodeUsageInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub video_usage_hints: VideoEncodeUsageFlagsKHR,
pub video_content_hints: VideoEncodeContentFlagsKHR,
pub tuning_mode: VideoEncodeTuningModeKHR,
}
impl Default for VideoEncodeUsageInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_ENCODE_USAGE_INFO_KHR,
next: ptr::null(),
video_usage_hints: VideoEncodeUsageFlagsKHR::default(),
video_content_hints: VideoEncodeContentFlagsKHR::default(),
tuning_mode: VideoEncodeTuningModeKHR::default(),
}
}
}
unsafe impl Send for VideoEncodeUsageInfoKHR {}
unsafe impl Sync for VideoEncodeUsageInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoEndCodingInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoEndCodingInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: VideoEndCodingFlagsKHR,
}
impl Default for VideoEndCodingInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_END_CODING_INFO_KHR,
next: ptr::null(),
flags: VideoEndCodingFlagsKHR::default(),
}
}
}
unsafe impl Send for VideoEndCodingInfoKHR {}
unsafe impl Sync for VideoEndCodingInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoFormatAV1QuantizationMapPropertiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoFormatAV1QuantizationMapPropertiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub compatible_superblock_sizes: VideoEncodeAV1SuperblockSizeFlagsKHR,
}
impl Default for VideoFormatAV1QuantizationMapPropertiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_FORMAT_AV1_QUANTIZATION_MAP_PROPERTIES_KHR,
next: ptr::null_mut(),
compatible_superblock_sizes: VideoEncodeAV1SuperblockSizeFlagsKHR::default(),
}
}
}
unsafe impl Send for VideoFormatAV1QuantizationMapPropertiesKHR {}
unsafe impl Sync for VideoFormatAV1QuantizationMapPropertiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoFormatH265QuantizationMapPropertiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoFormatH265QuantizationMapPropertiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub compatible_ctb_sizes: VideoEncodeH265CtbSizeFlagsKHR,
}
impl Default for VideoFormatH265QuantizationMapPropertiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_FORMAT_H265_QUANTIZATION_MAP_PROPERTIES_KHR,
next: ptr::null_mut(),
compatible_ctb_sizes: VideoEncodeH265CtbSizeFlagsKHR::default(),
}
}
}
unsafe impl Send for VideoFormatH265QuantizationMapPropertiesKHR {}
unsafe impl Sync for VideoFormatH265QuantizationMapPropertiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoFormatPropertiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoFormatPropertiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub format: Format,
pub component_mapping: ComponentMapping,
pub image_create_flags: ImageCreateFlags,
pub image_type: ImageType,
pub image_tiling: ImageTiling,
pub image_usage_flags: ImageUsageFlags,
}
impl Default for VideoFormatPropertiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_FORMAT_PROPERTIES_KHR,
next: ptr::null_mut(),
format: Format::default(),
component_mapping: ComponentMapping::default(),
image_create_flags: ImageCreateFlags::default(),
image_type: ImageType::default(),
image_tiling: ImageTiling::default(),
image_usage_flags: ImageUsageFlags::default(),
}
}
}
unsafe impl Send for VideoFormatPropertiesKHR {}
unsafe impl Sync for VideoFormatPropertiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoFormatQuantizationMapPropertiesKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoFormatQuantizationMapPropertiesKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub quantization_map_texel_size: Extent2D,
}
impl Default for VideoFormatQuantizationMapPropertiesKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_FORMAT_QUANTIZATION_MAP_PROPERTIES_KHR,
next: ptr::null_mut(),
quantization_map_texel_size: Extent2D::default(),
}
}
}
unsafe impl Send for VideoFormatQuantizationMapPropertiesKHR {}
unsafe impl Sync for VideoFormatQuantizationMapPropertiesKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoInlineQueryInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoInlineQueryInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub query_pool: QueryPool,
pub first_query: u32,
pub query_count: u32,
}
impl Default for VideoInlineQueryInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_INLINE_QUERY_INFO_KHR,
next: ptr::null(),
query_pool: QueryPool::default(),
first_query: u32::default(),
query_count: u32::default(),
}
}
}
unsafe impl Send for VideoInlineQueryInfoKHR {}
unsafe impl Sync for VideoInlineQueryInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoPictureResourceInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoPictureResourceInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub coded_offset: Offset2D,
pub coded_extent: Extent2D,
pub base_array_layer: u32,
pub image_view_binding: ImageView,
}
impl Default for VideoPictureResourceInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_PICTURE_RESOURCE_INFO_KHR,
next: ptr::null(),
coded_offset: Offset2D::default(),
coded_extent: Extent2D::default(),
base_array_layer: u32::default(),
image_view_binding: ImageView::default(),
}
}
}
unsafe impl Send for VideoPictureResourceInfoKHR {}
unsafe impl Sync for VideoPictureResourceInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoProfileInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoProfileInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub video_codec_operation: VideoCodecOperationFlagsKHR,
pub chroma_subsampling: VideoChromaSubsamplingFlagsKHR,
pub luma_bit_depth: VideoComponentBitDepthFlagsKHR,
pub chroma_bit_depth: VideoComponentBitDepthFlagsKHR,
}
impl Default for VideoProfileInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_PROFILE_INFO_KHR,
next: ptr::null(),
video_codec_operation: VideoCodecOperationFlagsKHR::default(),
chroma_subsampling: VideoChromaSubsamplingFlagsKHR::default(),
luma_bit_depth: VideoComponentBitDepthFlagsKHR::default(),
chroma_bit_depth: VideoComponentBitDepthFlagsKHR::default(),
}
}
}
unsafe impl Send for VideoProfileInfoKHR {}
unsafe impl Sync for VideoProfileInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoProfileListInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoProfileListInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub profile_count: u32,
pub profiles: *const VideoProfileInfoKHR,
}
impl Default for VideoProfileListInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_PROFILE_LIST_INFO_KHR,
next: ptr::null(),
profile_count: u32::default(),
profiles: ptr::null(),
}
}
}
unsafe impl Send for VideoProfileListInfoKHR {}
unsafe impl Sync for VideoProfileListInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoReferenceIntraRefreshInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoReferenceIntraRefreshInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub dirty_intra_refresh_regions: u32,
}
impl Default for VideoReferenceIntraRefreshInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_REFERENCE_INTRA_REFRESH_INFO_KHR,
next: ptr::null(),
dirty_intra_refresh_regions: u32::default(),
}
}
}
unsafe impl Send for VideoReferenceIntraRefreshInfoKHR {}
unsafe impl Sync for VideoReferenceIntraRefreshInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoReferenceSlotInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoReferenceSlotInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub slot_index: i32,
pub picture_resource: *const VideoPictureResourceInfoKHR,
}
impl Default for VideoReferenceSlotInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_REFERENCE_SLOT_INFO_KHR,
next: ptr::null(),
slot_index: i32::default(),
picture_resource: ptr::null(),
}
}
}
unsafe impl Send for VideoReferenceSlotInfoKHR {}
unsafe impl Sync for VideoReferenceSlotInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoSessionCreateInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoSessionCreateInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub queue_family_index: u32,
pub flags: VideoSessionCreateFlagsKHR,
pub video_profile: *const VideoProfileInfoKHR,
pub picture_format: Format,
pub max_coded_extent: Extent2D,
pub reference_picture_format: Format,
pub max_dpb_slots: u32,
pub max_active_reference_pictures: u32,
pub std_header_version: *const ExtensionProperties,
}
impl Default for VideoSessionCreateInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_SESSION_CREATE_INFO_KHR,
next: ptr::null(),
queue_family_index: u32::default(),
flags: VideoSessionCreateFlagsKHR::default(),
video_profile: ptr::null(),
picture_format: Format::default(),
max_coded_extent: Extent2D::default(),
reference_picture_format: Format::default(),
max_dpb_slots: u32::default(),
max_active_reference_pictures: u32::default(),
std_header_version: ptr::null(),
}
}
}
unsafe impl Send for VideoSessionCreateInfoKHR {}
unsafe impl Sync for VideoSessionCreateInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoSessionMemoryRequirementsKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoSessionMemoryRequirementsKHR {
pub s_type: StructureType,
pub next: *mut c_void,
pub memory_bind_index: u32,
pub memory_requirements: MemoryRequirements,
}
impl Default for VideoSessionMemoryRequirementsKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_SESSION_MEMORY_REQUIREMENTS_KHR,
next: ptr::null_mut(),
memory_bind_index: u32::default(),
memory_requirements: MemoryRequirements::default(),
}
}
}
unsafe impl Send for VideoSessionMemoryRequirementsKHR {}
unsafe impl Sync for VideoSessionMemoryRequirementsKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoSessionParametersCreateInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoSessionParametersCreateInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: VideoSessionParametersCreateFlagsKHR,
pub video_session_parameters_template: VideoSessionParametersKHR,
pub video_session: VideoSessionKHR,
}
impl Default for VideoSessionParametersCreateInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR,
next: ptr::null(),
flags: VideoSessionParametersCreateFlagsKHR::default(),
video_session_parameters_template: VideoSessionParametersKHR::default(),
video_session: VideoSessionKHR::default(),
}
}
}
unsafe impl Send for VideoSessionParametersCreateInfoKHR {}
unsafe impl Sync for VideoSessionParametersCreateInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVideoSessionParametersUpdateInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct VideoSessionParametersUpdateInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub update_sequence_count: u32,
}
impl Default for VideoSessionParametersUpdateInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR,
next: ptr::null(),
update_sequence_count: u32::default(),
}
}
}
unsafe impl Send for VideoSessionParametersUpdateInfoKHR {}
unsafe impl Sync for VideoSessionParametersUpdateInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkViewport.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, PartialEq)]
pub struct Viewport {
pub x: f32,
pub y: f32,
pub width: f32,
pub height: f32,
pub min_depth: f32,
pub max_depth: f32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkViewportSwizzleNV.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, Eq, Hash, PartialEq)]
pub struct ViewportSwizzleNV {
pub x: ViewportCoordinateSwizzleNV,
pub y: ViewportCoordinateSwizzleNV,
pub z: ViewportCoordinateSwizzleNV,
pub w: ViewportCoordinateSwizzleNV,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkViewportWScalingNV.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, PartialEq)]
pub struct ViewportWScalingNV {
pub xcoeff: f32,
pub ycoeff: f32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkWaylandSurfaceCreateInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct WaylandSurfaceCreateInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: WaylandSurfaceCreateFlagsKHR,
pub display: *mut wl_display,
pub surface: *mut wl_surface,
}
impl Default for WaylandSurfaceCreateInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::WAYLAND_SURFACE_CREATE_INFO_KHR,
next: ptr::null(),
flags: WaylandSurfaceCreateFlagsKHR::default(),
display: ptr::null_mut(),
surface: ptr::null_mut(),
}
}
}
unsafe impl Send for WaylandSurfaceCreateInfoKHR {}
unsafe impl Sync for WaylandSurfaceCreateInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkWin32KeyedMutexAcquireReleaseInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct Win32KeyedMutexAcquireReleaseInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub acquire_count: u32,
pub acquire_syncs: *const DeviceMemory,
pub acquire_keys: *const u64,
pub acquire_timeouts: *const u32,
pub release_count: u32,
pub release_syncs: *const DeviceMemory,
pub release_keys: *const u64,
}
impl Default for Win32KeyedMutexAcquireReleaseInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR,
next: ptr::null(),
acquire_count: u32::default(),
acquire_syncs: ptr::null(),
acquire_keys: ptr::null(),
acquire_timeouts: ptr::null(),
release_count: u32::default(),
release_syncs: ptr::null(),
release_keys: ptr::null(),
}
}
}
unsafe impl Send for Win32KeyedMutexAcquireReleaseInfoKHR {}
unsafe impl Sync for Win32KeyedMutexAcquireReleaseInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkWin32KeyedMutexAcquireReleaseInfoNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct Win32KeyedMutexAcquireReleaseInfoNV {
pub s_type: StructureType,
pub next: *const c_void,
pub acquire_count: u32,
pub acquire_syncs: *const DeviceMemory,
pub acquire_keys: *const u64,
pub acquire_timeout_milliseconds: *const u32,
pub release_count: u32,
pub release_syncs: *const DeviceMemory,
pub release_keys: *const u64,
}
impl Default for Win32KeyedMutexAcquireReleaseInfoNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV,
next: ptr::null(),
acquire_count: u32::default(),
acquire_syncs: ptr::null(),
acquire_keys: ptr::null(),
acquire_timeout_milliseconds: ptr::null(),
release_count: u32::default(),
release_syncs: ptr::null(),
release_keys: ptr::null(),
}
}
}
unsafe impl Send for Win32KeyedMutexAcquireReleaseInfoNV {}
unsafe impl Sync for Win32KeyedMutexAcquireReleaseInfoNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkWin32SurfaceCreateInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct Win32SurfaceCreateInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: Win32SurfaceCreateFlagsKHR,
pub hinstance: HINSTANCE,
pub hwnd: HWND,
}
impl Default for Win32SurfaceCreateInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::WIN32_SURFACE_CREATE_INFO_KHR,
next: ptr::null(),
flags: Win32SurfaceCreateFlagsKHR::default(),
hinstance: ptr::null_mut(),
hwnd: ptr::null_mut(),
}
}
}
unsafe impl Send for Win32SurfaceCreateInfoKHR {}
unsafe impl Sync for Win32SurfaceCreateInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkWriteDescriptorSet.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct WriteDescriptorSet {
pub s_type: StructureType,
pub next: *const c_void,
pub dst_set: DescriptorSet,
pub dst_binding: u32,
pub dst_array_element: u32,
pub descriptor_count: u32,
pub descriptor_type: DescriptorType,
pub image_info: *const DescriptorImageInfo,
pub buffer_info: *const DescriptorBufferInfo,
pub texel_buffer_view: *const BufferView,
}
impl Default for WriteDescriptorSet {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::WRITE_DESCRIPTOR_SET,
next: ptr::null(),
dst_set: DescriptorSet::default(),
dst_binding: u32::default(),
dst_array_element: u32::default(),
descriptor_count: u32::default(),
descriptor_type: DescriptorType::default(),
image_info: ptr::null(),
buffer_info: ptr::null(),
texel_buffer_view: ptr::null(),
}
}
}
unsafe impl Send for WriteDescriptorSet {}
unsafe impl Sync for WriteDescriptorSet {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkWriteDescriptorSetAccelerationStructureKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct WriteDescriptorSetAccelerationStructureKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub acceleration_structure_count: u32,
pub acceleration_structures: *const AccelerationStructureKHR,
}
impl Default for WriteDescriptorSetAccelerationStructureKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR,
next: ptr::null(),
acceleration_structure_count: u32::default(),
acceleration_structures: ptr::null(),
}
}
}
unsafe impl Send for WriteDescriptorSetAccelerationStructureKHR {}
unsafe impl Sync for WriteDescriptorSetAccelerationStructureKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkWriteDescriptorSetAccelerationStructureNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct WriteDescriptorSetAccelerationStructureNV {
pub s_type: StructureType,
pub next: *const c_void,
pub acceleration_structure_count: u32,
pub acceleration_structures: *const AccelerationStructureNV,
}
impl Default for WriteDescriptorSetAccelerationStructureNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV,
next: ptr::null(),
acceleration_structure_count: u32::default(),
acceleration_structures: ptr::null(),
}
}
}
unsafe impl Send for WriteDescriptorSetAccelerationStructureNV {}
unsafe impl Sync for WriteDescriptorSetAccelerationStructureNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkWriteDescriptorSetInlineUniformBlock.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct WriteDescriptorSetInlineUniformBlock {
pub s_type: StructureType,
pub next: *const c_void,
pub data_size: u32,
pub data: *const c_void,
}
impl Default for WriteDescriptorSetInlineUniformBlock {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK,
next: ptr::null(),
data_size: u32::default(),
data: ptr::null(),
}
}
}
unsafe impl Send for WriteDescriptorSetInlineUniformBlock {}
unsafe impl Sync for WriteDescriptorSetInlineUniformBlock {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkWriteDescriptorSetPartitionedAccelerationStructureNV.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct WriteDescriptorSetPartitionedAccelerationStructureNV {
pub s_type: StructureType,
pub next: *mut c_void,
pub acceleration_structure_count: u32,
pub acceleration_structures: *const DeviceAddress,
}
impl Default for WriteDescriptorSetPartitionedAccelerationStructureNV {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::WRITE_DESCRIPTOR_SET_PARTITIONED_ACCELERATION_STRUCTURE_NV,
next: ptr::null_mut(),
acceleration_structure_count: u32::default(),
acceleration_structures: ptr::null(),
}
}
}
unsafe impl Send for WriteDescriptorSetPartitionedAccelerationStructureNV {}
unsafe impl Sync for WriteDescriptorSetPartitionedAccelerationStructureNV {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkWriteDescriptorSetTensorARM.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct WriteDescriptorSetTensorARM {
pub s_type: StructureType,
pub next: *const c_void,
pub tensor_view_count: u32,
pub tensor_views: *const TensorViewARM,
}
impl Default for WriteDescriptorSetTensorARM {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::WRITE_DESCRIPTOR_SET_TENSOR_ARM,
next: ptr::null(),
tensor_view_count: u32::default(),
tensor_views: ptr::null(),
}
}
}
unsafe impl Send for WriteDescriptorSetTensorARM {}
unsafe impl Sync for WriteDescriptorSetTensorARM {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkWriteIndirectExecutionSetPipelineEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct WriteIndirectExecutionSetPipelineEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub index: u32,
pub pipeline: Pipeline,
}
impl Default for WriteIndirectExecutionSetPipelineEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::WRITE_INDIRECT_EXECUTION_SET_PIPELINE_EXT,
next: ptr::null(),
index: u32::default(),
pipeline: Pipeline::default(),
}
}
}
unsafe impl Send for WriteIndirectExecutionSetPipelineEXT {}
unsafe impl Sync for WriteIndirectExecutionSetPipelineEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkWriteIndirectExecutionSetShaderEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct WriteIndirectExecutionSetShaderEXT {
pub s_type: StructureType,
pub next: *const c_void,
pub index: u32,
pub shader: ShaderEXT,
}
impl Default for WriteIndirectExecutionSetShaderEXT {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::WRITE_INDIRECT_EXECUTION_SET_SHADER_EXT,
next: ptr::null(),
index: u32::default(),
shader: ShaderEXT::default(),
}
}
}
unsafe impl Send for WriteIndirectExecutionSetShaderEXT {}
unsafe impl Sync for WriteIndirectExecutionSetShaderEXT {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkXYColorEXT.html>
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, PartialEq)]
pub struct XYColorEXT {
pub x: f32,
pub y: f32,
}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkXcbSurfaceCreateInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct XcbSurfaceCreateInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: XcbSurfaceCreateFlagsKHR,
pub connection: *mut xcb_connection_t,
pub window: xcb_window_t,
}
impl Default for XcbSurfaceCreateInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::XCB_SURFACE_CREATE_INFO_KHR,
next: ptr::null(),
flags: XcbSurfaceCreateFlagsKHR::default(),
connection: ptr::null_mut(),
window: xcb_window_t::default(),
}
}
}
unsafe impl Send for XcbSurfaceCreateInfoKHR {}
unsafe impl Sync for XcbSurfaceCreateInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkXlibSurfaceCreateInfoKHR.html>
#[repr(C)]
#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)]
pub struct XlibSurfaceCreateInfoKHR {
pub s_type: StructureType,
pub next: *const c_void,
pub flags: XlibSurfaceCreateFlagsKHR,
pub dpy: *mut Display,
pub window: Window,
}
impl Default for XlibSurfaceCreateInfoKHR {
#[inline]
fn default() -> Self {
Self {
s_type: StructureType::XLIB_SURFACE_CREATE_INFO_KHR,
next: ptr::null(),
flags: XlibSurfaceCreateFlagsKHR::default(),
dpy: ptr::null_mut(),
window: Window::default(),
}
}
}
unsafe impl Send for XlibSurfaceCreateInfoKHR {}
unsafe impl Sync for XlibSurfaceCreateInfoKHR {}
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAabbPositionsNV.html>
pub type AabbPositionsNV = AabbPositionsKHR;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAccelerationStructureInstanceNV.html>
pub type AccelerationStructureInstanceNV = AccelerationStructureInstanceKHR;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAttachmentDescription2KHR.html>
pub type AttachmentDescription2KHR = AttachmentDescription2;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAttachmentDescriptionStencilLayoutKHR.html>
pub type AttachmentDescriptionStencilLayoutKHR = AttachmentDescriptionStencilLayout;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAttachmentReference2KHR.html>
pub type AttachmentReference2KHR = AttachmentReference2;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAttachmentReferenceStencilLayoutKHR.html>
pub type AttachmentReferenceStencilLayoutKHR = AttachmentReferenceStencilLayout;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkAttachmentSampleCountInfoNV.html>
pub type AttachmentSampleCountInfoNV = AttachmentSampleCountInfoAMD;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBindBufferMemoryDeviceGroupInfoKHR.html>
pub type BindBufferMemoryDeviceGroupInfoKHR = BindBufferMemoryDeviceGroupInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBindBufferMemoryInfoKHR.html>
pub type BindBufferMemoryInfoKHR = BindBufferMemoryInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBindDescriptorSetsInfoKHR.html>
pub type BindDescriptorSetsInfoKHR = BindDescriptorSetsInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBindImageMemoryDeviceGroupInfoKHR.html>
pub type BindImageMemoryDeviceGroupInfoKHR = BindImageMemoryDeviceGroupInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBindImageMemoryInfoKHR.html>
pub type BindImageMemoryInfoKHR = BindImageMemoryInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBindImagePlaneMemoryInfoKHR.html>
pub type BindImagePlaneMemoryInfoKHR = BindImagePlaneMemoryInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBindMemoryStatusKHR.html>
pub type BindMemoryStatusKHR = BindMemoryStatus;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBlitImageInfo2KHR.html>
pub type BlitImageInfo2KHR = BlitImageInfo2;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBufferCopy2KHR.html>
pub type BufferCopy2KHR = BufferCopy2;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBufferDeviceAddressInfoEXT.html>
pub type BufferDeviceAddressInfoEXT = BufferDeviceAddressInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBufferDeviceAddressInfoKHR.html>
pub type BufferDeviceAddressInfoKHR = BufferDeviceAddressInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBufferImageCopy2KHR.html>
pub type BufferImageCopy2KHR = BufferImageCopy2;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBufferMemoryBarrier2KHR.html>
pub type BufferMemoryBarrier2KHR = BufferMemoryBarrier2;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBufferMemoryRequirementsInfo2KHR.html>
pub type BufferMemoryRequirementsInfo2KHR = BufferMemoryRequirementsInfo2;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBufferOpaqueCaptureAddressCreateInfoKHR.html>
pub type BufferOpaqueCaptureAddressCreateInfoKHR = BufferOpaqueCaptureAddressCreateInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBufferUsageFlags2CreateInfoKHR.html>
pub type BufferUsageFlags2CreateInfoKHR = BufferUsageFlags2CreateInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCalibratedTimestampInfoEXT.html>
pub type CalibratedTimestampInfoEXT = CalibratedTimestampInfoKHR;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCommandBufferInheritanceRenderingInfoKHR.html>
pub type CommandBufferInheritanceRenderingInfoKHR = CommandBufferInheritanceRenderingInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCommandBufferSubmitInfoKHR.html>
pub type CommandBufferSubmitInfoKHR = CommandBufferSubmitInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkConformanceVersionKHR.html>
pub type ConformanceVersionKHR = ConformanceVersion;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCopyBufferInfo2KHR.html>
pub type CopyBufferInfo2KHR = CopyBufferInfo2;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCopyBufferToImageInfo2KHR.html>
pub type CopyBufferToImageInfo2KHR = CopyBufferToImageInfo2;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCopyImageInfo2KHR.html>
pub type CopyImageInfo2KHR = CopyImageInfo2;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCopyImageToBufferInfo2KHR.html>
pub type CopyImageToBufferInfo2KHR = CopyImageToBufferInfo2;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCopyImageToImageInfoEXT.html>
pub type CopyImageToImageInfoEXT = CopyImageToImageInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCopyImageToMemoryInfoEXT.html>
pub type CopyImageToMemoryInfoEXT = CopyImageToMemoryInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCopyMemoryIndirectCommandNV.html>
pub type CopyMemoryIndirectCommandNV = CopyMemoryIndirectCommandKHR;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCopyMemoryToImageIndirectCommandNV.html>
pub type CopyMemoryToImageIndirectCommandNV = CopyMemoryToImageIndirectCommandKHR;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkCopyMemoryToImageInfoEXT.html>
pub type CopyMemoryToImageInfoEXT = CopyMemoryToImageInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDependencyInfoKHR.html>
pub type DependencyInfoKHR = DependencyInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDescriptorPoolInlineUniformBlockCreateInfoEXT.html>
pub type DescriptorPoolInlineUniformBlockCreateInfoEXT = DescriptorPoolInlineUniformBlockCreateInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDescriptorSetLayoutBindingFlagsCreateInfoEXT.html>
pub type DescriptorSetLayoutBindingFlagsCreateInfoEXT = DescriptorSetLayoutBindingFlagsCreateInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDescriptorSetLayoutSupportKHR.html>
pub type DescriptorSetLayoutSupportKHR = DescriptorSetLayoutSupport;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDescriptorSetVariableDescriptorCountAllocateInfoEXT.html>
pub type DescriptorSetVariableDescriptorCountAllocateInfoEXT =
DescriptorSetVariableDescriptorCountAllocateInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDescriptorSetVariableDescriptorCountLayoutSupportEXT.html>
pub type DescriptorSetVariableDescriptorCountLayoutSupportEXT =
DescriptorSetVariableDescriptorCountLayoutSupport;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDescriptorUpdateTemplateCreateInfoKHR.html>
pub type DescriptorUpdateTemplateCreateInfoKHR = DescriptorUpdateTemplateCreateInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDescriptorUpdateTemplateEntryKHR.html>
pub type DescriptorUpdateTemplateEntryKHR = DescriptorUpdateTemplateEntry;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDeviceBufferMemoryRequirementsKHR.html>
pub type DeviceBufferMemoryRequirementsKHR = DeviceBufferMemoryRequirements;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDeviceGroupBindSparseInfoKHR.html>
pub type DeviceGroupBindSparseInfoKHR = DeviceGroupBindSparseInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDeviceGroupCommandBufferBeginInfoKHR.html>
pub type DeviceGroupCommandBufferBeginInfoKHR = DeviceGroupCommandBufferBeginInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDeviceGroupDeviceCreateInfoKHR.html>
pub type DeviceGroupDeviceCreateInfoKHR = DeviceGroupDeviceCreateInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDeviceGroupRenderPassBeginInfoKHR.html>
pub type DeviceGroupRenderPassBeginInfoKHR = DeviceGroupRenderPassBeginInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDeviceGroupSubmitInfoKHR.html>
pub type DeviceGroupSubmitInfoKHR = DeviceGroupSubmitInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDeviceImageMemoryRequirementsKHR.html>
pub type DeviceImageMemoryRequirementsKHR = DeviceImageMemoryRequirements;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDeviceImageSubresourceInfoKHR.html>
pub type DeviceImageSubresourceInfoKHR = DeviceImageSubresourceInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDeviceMemoryOpaqueCaptureAddressInfoKHR.html>
pub type DeviceMemoryOpaqueCaptureAddressInfoKHR = DeviceMemoryOpaqueCaptureAddressInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDevicePrivateDataCreateInfoEXT.html>
pub type DevicePrivateDataCreateInfoEXT = DevicePrivateDataCreateInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDeviceQueueGlobalPriorityCreateInfoEXT.html>
pub type DeviceQueueGlobalPriorityCreateInfoEXT = DeviceQueueGlobalPriorityCreateInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDeviceQueueGlobalPriorityCreateInfoKHR.html>
pub type DeviceQueueGlobalPriorityCreateInfoKHR = DeviceQueueGlobalPriorityCreateInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExportFenceCreateInfoKHR.html>
pub type ExportFenceCreateInfoKHR = ExportFenceCreateInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExportMemoryAllocateInfoKHR.html>
pub type ExportMemoryAllocateInfoKHR = ExportMemoryAllocateInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExportSemaphoreCreateInfoKHR.html>
pub type ExportSemaphoreCreateInfoKHR = ExportSemaphoreCreateInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExternalBufferPropertiesKHR.html>
pub type ExternalBufferPropertiesKHR = ExternalBufferProperties;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExternalFencePropertiesKHR.html>
pub type ExternalFencePropertiesKHR = ExternalFenceProperties;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExternalImageFormatPropertiesKHR.html>
pub type ExternalImageFormatPropertiesKHR = ExternalImageFormatProperties;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExternalMemoryBufferCreateInfoKHR.html>
pub type ExternalMemoryBufferCreateInfoKHR = ExternalMemoryBufferCreateInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExternalMemoryImageCreateInfoKHR.html>
pub type ExternalMemoryImageCreateInfoKHR = ExternalMemoryImageCreateInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExternalMemoryPropertiesKHR.html>
pub type ExternalMemoryPropertiesKHR = ExternalMemoryProperties;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkExternalSemaphorePropertiesKHR.html>
pub type ExternalSemaphorePropertiesKHR = ExternalSemaphoreProperties;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkFormatProperties2KHR.html>
pub type FormatProperties2KHR = FormatProperties2;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkFormatProperties3KHR.html>
pub type FormatProperties3KHR = FormatProperties3;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkFramebufferAttachmentImageInfoKHR.html>
pub type FramebufferAttachmentImageInfoKHR = FramebufferAttachmentImageInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkFramebufferAttachmentsCreateInfoKHR.html>
pub type FramebufferAttachmentsCreateInfoKHR = FramebufferAttachmentsCreateInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkHostImageCopyDevicePerformanceQueryEXT.html>
pub type HostImageCopyDevicePerformanceQueryEXT = HostImageCopyDevicePerformanceQuery;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkHostImageLayoutTransitionInfoEXT.html>
pub type HostImageLayoutTransitionInfoEXT = HostImageLayoutTransitionInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageBlit2KHR.html>
pub type ImageBlit2KHR = ImageBlit2;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageCopy2KHR.html>
pub type ImageCopy2KHR = ImageCopy2;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageFormatListCreateInfoKHR.html>
pub type ImageFormatListCreateInfoKHR = ImageFormatListCreateInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageFormatProperties2KHR.html>
pub type ImageFormatProperties2KHR = ImageFormatProperties2;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageMemoryBarrier2KHR.html>
pub type ImageMemoryBarrier2KHR = ImageMemoryBarrier2;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageMemoryRequirementsInfo2KHR.html>
pub type ImageMemoryRequirementsInfo2KHR = ImageMemoryRequirementsInfo2;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImagePlaneMemoryRequirementsInfoKHR.html>
pub type ImagePlaneMemoryRequirementsInfoKHR = ImagePlaneMemoryRequirementsInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageResolve2KHR.html>
pub type ImageResolve2KHR = ImageResolve2;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageSparseMemoryRequirementsInfo2KHR.html>
pub type ImageSparseMemoryRequirementsInfo2KHR = ImageSparseMemoryRequirementsInfo2;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageStencilUsageCreateInfoEXT.html>
pub type ImageStencilUsageCreateInfoEXT = ImageStencilUsageCreateInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageSubresource2EXT.html>
pub type ImageSubresource2EXT = ImageSubresource2;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageSubresource2KHR.html>
pub type ImageSubresource2KHR = ImageSubresource2;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageToMemoryCopyEXT.html>
pub type ImageToMemoryCopyEXT = ImageToMemoryCopy;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkImageViewUsageCreateInfoKHR.html>
pub type ImageViewUsageCreateInfoKHR = ImageViewUsageCreateInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkInputAttachmentAspectReferenceKHR.html>
pub type InputAttachmentAspectReferenceKHR = InputAttachmentAspectReference;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMemoryAllocateFlagsInfoKHR.html>
pub type MemoryAllocateFlagsInfoKHR = MemoryAllocateFlagsInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMemoryBarrier2KHR.html>
pub type MemoryBarrier2KHR = MemoryBarrier2;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMemoryDedicatedAllocateInfoKHR.html>
pub type MemoryDedicatedAllocateInfoKHR = MemoryDedicatedAllocateInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMemoryDedicatedRequirementsKHR.html>
pub type MemoryDedicatedRequirementsKHR = MemoryDedicatedRequirements;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMemoryMapInfoKHR.html>
pub type MemoryMapInfoKHR = MemoryMapInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMemoryOpaqueCaptureAddressAllocateInfoKHR.html>
pub type MemoryOpaqueCaptureAddressAllocateInfoKHR = MemoryOpaqueCaptureAddressAllocateInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMemoryRequirements2KHR.html>
pub type MemoryRequirements2KHR = MemoryRequirements2;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMemoryToImageCopyEXT.html>
pub type MemoryToImageCopyEXT = MemoryToImageCopy;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMemoryUnmapInfoKHR.html>
pub type MemoryUnmapInfoKHR = MemoryUnmapInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMutableDescriptorTypeCreateInfoVALVE.html>
pub type MutableDescriptorTypeCreateInfoVALVE = MutableDescriptorTypeCreateInfoEXT;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkMutableDescriptorTypeListVALVE.html>
pub type MutableDescriptorTypeListVALVE = MutableDescriptorTypeListEXT;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevice16BitStorageFeaturesKHR.html>
pub type PhysicalDevice16BitStorageFeaturesKHR = PhysicalDevice16BitStorageFeatures;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevice8BitStorageFeaturesKHR.html>
pub type PhysicalDevice8BitStorageFeaturesKHR = PhysicalDevice8BitStorageFeatures;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceBufferAddressFeaturesEXT.html>
pub type PhysicalDeviceBufferAddressFeaturesEXT = PhysicalDeviceBufferDeviceAddressFeaturesEXT;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceBufferDeviceAddressFeaturesKHR.html>
pub type PhysicalDeviceBufferDeviceAddressFeaturesKHR = PhysicalDeviceBufferDeviceAddressFeatures;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceComputeShaderDerivativesFeaturesNV.html>
pub type PhysicalDeviceComputeShaderDerivativesFeaturesNV =
PhysicalDeviceComputeShaderDerivativesFeaturesKHR;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceCopyMemoryIndirectPropertiesNV.html>
pub type PhysicalDeviceCopyMemoryIndirectPropertiesNV =
PhysicalDeviceCopyMemoryIndirectPropertiesKHR;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceDepthClampZeroOneFeaturesEXT.html>
pub type PhysicalDeviceDepthClampZeroOneFeaturesEXT = PhysicalDeviceDepthClampZeroOneFeaturesKHR;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceDepthStencilResolvePropertiesKHR.html>
pub type PhysicalDeviceDepthStencilResolvePropertiesKHR =
PhysicalDeviceDepthStencilResolveProperties;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceDescriptorIndexingFeaturesEXT.html>
pub type PhysicalDeviceDescriptorIndexingFeaturesEXT = PhysicalDeviceDescriptorIndexingFeatures;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceDescriptorIndexingPropertiesEXT.html>
pub type PhysicalDeviceDescriptorIndexingPropertiesEXT = PhysicalDeviceDescriptorIndexingProperties;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceDriverPropertiesKHR.html>
pub type PhysicalDeviceDriverPropertiesKHR = PhysicalDeviceDriverProperties;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceDynamicRenderingFeaturesKHR.html>
pub type PhysicalDeviceDynamicRenderingFeaturesKHR = PhysicalDeviceDynamicRenderingFeatures;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR.html>
pub type PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR =
PhysicalDeviceDynamicRenderingLocalReadFeatures;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceExternalBufferInfoKHR.html>
pub type PhysicalDeviceExternalBufferInfoKHR = PhysicalDeviceExternalBufferInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceExternalFenceInfoKHR.html>
pub type PhysicalDeviceExternalFenceInfoKHR = PhysicalDeviceExternalFenceInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceExternalImageFormatInfoKHR.html>
pub type PhysicalDeviceExternalImageFormatInfoKHR = PhysicalDeviceExternalImageFormatInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceExternalSciBufFeaturesNV.html>
pub type PhysicalDeviceExternalSciBufFeaturesNV = PhysicalDeviceExternalMemorySciBufFeaturesNV;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceExternalSemaphoreInfoKHR.html>
pub type PhysicalDeviceExternalSemaphoreInfoKHR = PhysicalDeviceExternalSemaphoreInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceFeatures2KHR.html>
pub type PhysicalDeviceFeatures2KHR = PhysicalDeviceFeatures2;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceFloat16Int8FeaturesKHR.html>
pub type PhysicalDeviceFloat16Int8FeaturesKHR = PhysicalDeviceShaderFloat16Int8Features;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceFloatControlsPropertiesKHR.html>
pub type PhysicalDeviceFloatControlsPropertiesKHR = PhysicalDeviceFloatControlsProperties;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM.html>
pub type PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM =
PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM.html>
pub type PhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM =
PhysicalDeviceFragmentDensityMapOffsetPropertiesEXT;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV.html>
pub type PhysicalDeviceFragmentShaderBarycentricFeaturesNV =
PhysicalDeviceFragmentShaderBarycentricFeaturesKHR;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT.html>
pub type PhysicalDeviceGlobalPriorityQueryFeaturesEXT = PhysicalDeviceGlobalPriorityQueryFeatures;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR.html>
pub type PhysicalDeviceGlobalPriorityQueryFeaturesKHR = PhysicalDeviceGlobalPriorityQueryFeatures;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceGroupPropertiesKHR.html>
pub type PhysicalDeviceGroupPropertiesKHR = PhysicalDeviceGroupProperties;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceHostImageCopyFeaturesEXT.html>
pub type PhysicalDeviceHostImageCopyFeaturesEXT = PhysicalDeviceHostImageCopyFeatures;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceHostImageCopyPropertiesEXT.html>
pub type PhysicalDeviceHostImageCopyPropertiesEXT = PhysicalDeviceHostImageCopyProperties;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceHostQueryResetFeaturesEXT.html>
pub type PhysicalDeviceHostQueryResetFeaturesEXT = PhysicalDeviceHostQueryResetFeatures;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceIDPropertiesKHR.html>
pub type PhysicalDeviceIDPropertiesKHR = PhysicalDeviceIDProperties;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceImageFormatInfo2KHR.html>
pub type PhysicalDeviceImageFormatInfo2KHR = PhysicalDeviceImageFormatInfo2;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceImageRobustnessFeaturesEXT.html>
pub type PhysicalDeviceImageRobustnessFeaturesEXT = PhysicalDeviceImageRobustnessFeatures;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceImagelessFramebufferFeaturesKHR.html>
pub type PhysicalDeviceImagelessFramebufferFeaturesKHR = PhysicalDeviceImagelessFramebufferFeatures;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceIndexTypeUint8FeaturesEXT.html>
pub type PhysicalDeviceIndexTypeUint8FeaturesEXT = PhysicalDeviceIndexTypeUint8Features;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceIndexTypeUint8FeaturesKHR.html>
pub type PhysicalDeviceIndexTypeUint8FeaturesKHR = PhysicalDeviceIndexTypeUint8Features;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceInlineUniformBlockFeaturesEXT.html>
pub type PhysicalDeviceInlineUniformBlockFeaturesEXT = PhysicalDeviceInlineUniformBlockFeatures;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceInlineUniformBlockPropertiesEXT.html>
pub type PhysicalDeviceInlineUniformBlockPropertiesEXT = PhysicalDeviceInlineUniformBlockProperties;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceLineRasterizationFeaturesEXT.html>
pub type PhysicalDeviceLineRasterizationFeaturesEXT = PhysicalDeviceLineRasterizationFeatures;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceLineRasterizationFeaturesKHR.html>
pub type PhysicalDeviceLineRasterizationFeaturesKHR = PhysicalDeviceLineRasterizationFeatures;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceLineRasterizationPropertiesEXT.html>
pub type PhysicalDeviceLineRasterizationPropertiesEXT = PhysicalDeviceLineRasterizationProperties;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceLineRasterizationPropertiesKHR.html>
pub type PhysicalDeviceLineRasterizationPropertiesKHR = PhysicalDeviceLineRasterizationProperties;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMaintenance3PropertiesKHR.html>
pub type PhysicalDeviceMaintenance3PropertiesKHR = PhysicalDeviceMaintenance3Properties;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMaintenance4FeaturesKHR.html>
pub type PhysicalDeviceMaintenance4FeaturesKHR = PhysicalDeviceMaintenance4Features;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMaintenance4PropertiesKHR.html>
pub type PhysicalDeviceMaintenance4PropertiesKHR = PhysicalDeviceMaintenance4Properties;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMaintenance5FeaturesKHR.html>
pub type PhysicalDeviceMaintenance5FeaturesKHR = PhysicalDeviceMaintenance5Features;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMaintenance5PropertiesKHR.html>
pub type PhysicalDeviceMaintenance5PropertiesKHR = PhysicalDeviceMaintenance5Properties;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMaintenance6FeaturesKHR.html>
pub type PhysicalDeviceMaintenance6FeaturesKHR = PhysicalDeviceMaintenance6Features;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMaintenance6PropertiesKHR.html>
pub type PhysicalDeviceMaintenance6PropertiesKHR = PhysicalDeviceMaintenance6Properties;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMemoryDecompressionFeaturesNV.html>
pub type PhysicalDeviceMemoryDecompressionFeaturesNV = PhysicalDeviceMemoryDecompressionFeaturesEXT;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMemoryDecompressionPropertiesNV.html>
pub type PhysicalDeviceMemoryDecompressionPropertiesNV =
PhysicalDeviceMemoryDecompressionPropertiesEXT;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMemoryProperties2KHR.html>
pub type PhysicalDeviceMemoryProperties2KHR = PhysicalDeviceMemoryProperties2;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMultiviewFeaturesKHR.html>
pub type PhysicalDeviceMultiviewFeaturesKHR = PhysicalDeviceMultiviewFeatures;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMultiviewPropertiesKHR.html>
pub type PhysicalDeviceMultiviewPropertiesKHR = PhysicalDeviceMultiviewProperties;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE.html>
pub type PhysicalDeviceMutableDescriptorTypeFeaturesVALVE =
PhysicalDeviceMutableDescriptorTypeFeaturesEXT;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT.html>
pub type PhysicalDevicePipelineCreationCacheControlFeaturesEXT =
PhysicalDevicePipelineCreationCacheControlFeatures;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevicePipelineProtectedAccessFeaturesEXT.html>
pub type PhysicalDevicePipelineProtectedAccessFeaturesEXT =
PhysicalDevicePipelineProtectedAccessFeatures;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevicePipelineRobustnessFeaturesEXT.html>
pub type PhysicalDevicePipelineRobustnessFeaturesEXT = PhysicalDevicePipelineRobustnessFeatures;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevicePipelineRobustnessPropertiesEXT.html>
pub type PhysicalDevicePipelineRobustnessPropertiesEXT = PhysicalDevicePipelineRobustnessProperties;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevicePointClippingPropertiesKHR.html>
pub type PhysicalDevicePointClippingPropertiesKHR = PhysicalDevicePointClippingProperties;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT.html>
pub type PhysicalDevicePresentModeFifoLatestReadyFeaturesEXT =
PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevicePrivateDataFeaturesEXT.html>
pub type PhysicalDevicePrivateDataFeaturesEXT = PhysicalDevicePrivateDataFeatures;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceProperties2KHR.html>
pub type PhysicalDeviceProperties2KHR = PhysicalDeviceProperties2;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDevicePushDescriptorPropertiesKHR.html>
pub type PhysicalDevicePushDescriptorPropertiesKHR = PhysicalDevicePushDescriptorProperties;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM.html>
pub type PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM =
PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceRobustness2FeaturesEXT.html>
pub type PhysicalDeviceRobustness2FeaturesEXT = PhysicalDeviceRobustness2FeaturesKHR;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceRobustness2PropertiesEXT.html>
pub type PhysicalDeviceRobustness2PropertiesEXT = PhysicalDeviceRobustness2PropertiesKHR;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT.html>
pub type PhysicalDeviceSamplerFilterMinmaxPropertiesEXT =
PhysicalDeviceSamplerFilterMinmaxProperties;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR.html>
pub type PhysicalDeviceSamplerYcbcrConversionFeaturesKHR =
PhysicalDeviceSamplerYcbcrConversionFeatures;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceScalarBlockLayoutFeaturesEXT.html>
pub type PhysicalDeviceScalarBlockLayoutFeaturesEXT = PhysicalDeviceScalarBlockLayoutFeatures;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR.html>
pub type PhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR =
PhysicalDeviceSeparateDepthStencilLayoutsFeatures;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderAtomicInt64FeaturesKHR.html>
pub type PhysicalDeviceShaderAtomicInt64FeaturesKHR = PhysicalDeviceShaderAtomicInt64Features;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT.html>
pub type PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT =
PhysicalDeviceShaderDemoteToHelperInvocationFeatures;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderDrawParameterFeatures.html>
pub type PhysicalDeviceShaderDrawParameterFeatures = PhysicalDeviceShaderDrawParametersFeatures;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderExpectAssumeFeaturesKHR.html>
pub type PhysicalDeviceShaderExpectAssumeFeaturesKHR = PhysicalDeviceShaderExpectAssumeFeatures;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderFloat16Int8FeaturesKHR.html>
pub type PhysicalDeviceShaderFloat16Int8FeaturesKHR = PhysicalDeviceShaderFloat16Int8Features;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderFloatControls2FeaturesKHR.html>
pub type PhysicalDeviceShaderFloatControls2FeaturesKHR = PhysicalDeviceShaderFloatControls2Features;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR.html>
pub type PhysicalDeviceShaderIntegerDotProductFeaturesKHR =
PhysicalDeviceShaderIntegerDotProductFeatures;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR.html>
pub type PhysicalDeviceShaderIntegerDotProductPropertiesKHR =
PhysicalDeviceShaderIntegerDotProductProperties;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR.html>
pub type PhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR =
PhysicalDeviceShaderSubgroupExtendedTypesFeatures;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR.html>
pub type PhysicalDeviceShaderSubgroupRotateFeaturesKHR = PhysicalDeviceShaderSubgroupRotateFeatures;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR.html>
pub type PhysicalDeviceShaderTerminateInvocationFeaturesKHR =
PhysicalDeviceShaderTerminateInvocationFeatures;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceSparseImageFormatInfo2KHR.html>
pub type PhysicalDeviceSparseImageFormatInfo2KHR = PhysicalDeviceSparseImageFormatInfo2;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceSubgroupSizeControlFeaturesEXT.html>
pub type PhysicalDeviceSubgroupSizeControlFeaturesEXT = PhysicalDeviceSubgroupSizeControlFeatures;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceSubgroupSizeControlPropertiesEXT.html>
pub type PhysicalDeviceSubgroupSizeControlPropertiesEXT =
PhysicalDeviceSubgroupSizeControlProperties;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT.html>
pub type PhysicalDeviceSwapchainMaintenance1FeaturesEXT =
PhysicalDeviceSwapchainMaintenance1FeaturesKHR;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceSynchronization2FeaturesKHR.html>
pub type PhysicalDeviceSynchronization2FeaturesKHR = PhysicalDeviceSynchronization2Features;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT.html>
pub type PhysicalDeviceTexelBufferAlignmentPropertiesEXT =
PhysicalDeviceTexelBufferAlignmentProperties;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT.html>
pub type PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT =
PhysicalDeviceTextureCompressionASTCHDRFeatures;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceTimelineSemaphoreFeaturesKHR.html>
pub type PhysicalDeviceTimelineSemaphoreFeaturesKHR = PhysicalDeviceTimelineSemaphoreFeatures;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceTimelineSemaphorePropertiesKHR.html>
pub type PhysicalDeviceTimelineSemaphorePropertiesKHR = PhysicalDeviceTimelineSemaphoreProperties;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceToolPropertiesEXT.html>
pub type PhysicalDeviceToolPropertiesEXT = PhysicalDeviceToolProperties;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR.html>
pub type PhysicalDeviceUniformBufferStandardLayoutFeaturesKHR =
PhysicalDeviceUniformBufferStandardLayoutFeatures;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceVariablePointerFeatures.html>
pub type PhysicalDeviceVariablePointerFeatures = PhysicalDeviceVariablePointersFeatures;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceVariablePointerFeaturesKHR.html>
pub type PhysicalDeviceVariablePointerFeaturesKHR = PhysicalDeviceVariablePointersFeatures;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceVariablePointersFeaturesKHR.html>
pub type PhysicalDeviceVariablePointersFeaturesKHR = PhysicalDeviceVariablePointersFeatures;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT.html>
pub type PhysicalDeviceVertexAttributeDivisorFeaturesEXT =
PhysicalDeviceVertexAttributeDivisorFeatures;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR.html>
pub type PhysicalDeviceVertexAttributeDivisorFeaturesKHR =
PhysicalDeviceVertexAttributeDivisorFeatures;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR.html>
pub type PhysicalDeviceVertexAttributeDivisorPropertiesKHR =
PhysicalDeviceVertexAttributeDivisorProperties;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceVulkanMemoryModelFeaturesKHR.html>
pub type PhysicalDeviceVulkanMemoryModelFeaturesKHR = PhysicalDeviceVulkanMemoryModelFeatures;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR.html>
pub type PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR =
PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineCreateFlags2CreateInfoKHR.html>
pub type PipelineCreateFlags2CreateInfoKHR = PipelineCreateFlags2CreateInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineCreationFeedbackCreateInfoEXT.html>
pub type PipelineCreationFeedbackCreateInfoEXT = PipelineCreationFeedbackCreateInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineCreationFeedbackEXT.html>
pub type PipelineCreationFeedbackEXT = PipelineCreationFeedback;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineInfoEXT.html>
pub type PipelineInfoEXT = PipelineInfoKHR;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineRasterizationLineStateCreateInfoEXT.html>
pub type PipelineRasterizationLineStateCreateInfoEXT = PipelineRasterizationLineStateCreateInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineRasterizationLineStateCreateInfoKHR.html>
pub type PipelineRasterizationLineStateCreateInfoKHR = PipelineRasterizationLineStateCreateInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineRenderingCreateInfoKHR.html>
pub type PipelineRenderingCreateInfoKHR = PipelineRenderingCreateInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineRobustnessCreateInfoEXT.html>
pub type PipelineRobustnessCreateInfoEXT = PipelineRobustnessCreateInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT.html>
pub type PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT =
PipelineShaderStageRequiredSubgroupSizeCreateInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineTessellationDomainOriginStateCreateInfoKHR.html>
pub type PipelineTessellationDomainOriginStateCreateInfoKHR =
PipelineTessellationDomainOriginStateCreateInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineVertexInputDivisorStateCreateInfoEXT.html>
pub type PipelineVertexInputDivisorStateCreateInfoEXT = PipelineVertexInputDivisorStateCreateInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPipelineVertexInputDivisorStateCreateInfoKHR.html>
pub type PipelineVertexInputDivisorStateCreateInfoKHR = PipelineVertexInputDivisorStateCreateInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPrivateDataSlotCreateInfoEXT.html>
pub type PrivateDataSlotCreateInfoEXT = PrivateDataSlotCreateInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPushConstantsInfoKHR.html>
pub type PushConstantsInfoKHR = PushConstantsInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPushDescriptorSetInfoKHR.html>
pub type PushDescriptorSetInfoKHR = PushDescriptorSetInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkPushDescriptorSetWithTemplateInfoKHR.html>
pub type PushDescriptorSetWithTemplateInfoKHR = PushDescriptorSetWithTemplateInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkQueryPoolCreateInfoINTEL.html>
pub type QueryPoolCreateInfoINTEL = QueryPoolPerformanceQueryCreateInfoINTEL;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkQueueFamilyGlobalPriorityPropertiesEXT.html>
pub type QueueFamilyGlobalPriorityPropertiesEXT = QueueFamilyGlobalPriorityProperties;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkQueueFamilyGlobalPriorityPropertiesKHR.html>
pub type QueueFamilyGlobalPriorityPropertiesKHR = QueueFamilyGlobalPriorityProperties;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkQueueFamilyProperties2KHR.html>
pub type QueueFamilyProperties2KHR = QueueFamilyProperties2;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkReleaseSwapchainImagesInfoEXT.html>
pub type ReleaseSwapchainImagesInfoEXT = ReleaseSwapchainImagesInfoKHR;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRenderPassAttachmentBeginInfoKHR.html>
pub type RenderPassAttachmentBeginInfoKHR = RenderPassAttachmentBeginInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRenderPassCreateInfo2KHR.html>
pub type RenderPassCreateInfo2KHR = RenderPassCreateInfo2;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRenderPassInputAttachmentAspectCreateInfoKHR.html>
pub type RenderPassInputAttachmentAspectCreateInfoKHR = RenderPassInputAttachmentAspectCreateInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRenderPassMultiviewCreateInfoKHR.html>
pub type RenderPassMultiviewCreateInfoKHR = RenderPassMultiviewCreateInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRenderingAreaInfoKHR.html>
pub type RenderingAreaInfoKHR = RenderingAreaInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRenderingAttachmentInfoKHR.html>
pub type RenderingAttachmentInfoKHR = RenderingAttachmentInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRenderingAttachmentLocationInfoKHR.html>
pub type RenderingAttachmentLocationInfoKHR = RenderingAttachmentLocationInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRenderingEndInfoEXT.html>
pub type RenderingEndInfoEXT = RenderingEndInfoKHR;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRenderingInfoKHR.html>
pub type RenderingInfoKHR = RenderingInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRenderingInputAttachmentIndexInfoKHR.html>
pub type RenderingInputAttachmentIndexInfoKHR = RenderingInputAttachmentIndexInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkResolveImageInfo2KHR.html>
pub type ResolveImageInfo2KHR = ResolveImageInfo2;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSamplerReductionModeCreateInfoEXT.html>
pub type SamplerReductionModeCreateInfoEXT = SamplerReductionModeCreateInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSamplerYcbcrConversionCreateInfoKHR.html>
pub type SamplerYcbcrConversionCreateInfoKHR = SamplerYcbcrConversionCreateInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSamplerYcbcrConversionImageFormatPropertiesKHR.html>
pub type SamplerYcbcrConversionImageFormatPropertiesKHR =
SamplerYcbcrConversionImageFormatProperties;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSamplerYcbcrConversionInfoKHR.html>
pub type SamplerYcbcrConversionInfoKHR = SamplerYcbcrConversionInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSemaphoreSignalInfoKHR.html>
pub type SemaphoreSignalInfoKHR = SemaphoreSignalInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSemaphoreSubmitInfoKHR.html>
pub type SemaphoreSubmitInfoKHR = SemaphoreSubmitInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSemaphoreTypeCreateInfoKHR.html>
pub type SemaphoreTypeCreateInfoKHR = SemaphoreTypeCreateInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSemaphoreWaitInfoKHR.html>
pub type SemaphoreWaitInfoKHR = SemaphoreWaitInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkShaderRequiredSubgroupSizeCreateInfoEXT.html>
pub type ShaderRequiredSubgroupSizeCreateInfoEXT =
PipelineShaderStageRequiredSubgroupSizeCreateInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSparseImageFormatProperties2KHR.html>
pub type SparseImageFormatProperties2KHR = SparseImageFormatProperties2;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSparseImageMemoryRequirements2KHR.html>
pub type SparseImageMemoryRequirements2KHR = SparseImageMemoryRequirements2;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSubmitInfo2KHR.html>
pub type SubmitInfo2KHR = SubmitInfo2;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSubpassBeginInfoKHR.html>
pub type SubpassBeginInfoKHR = SubpassBeginInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSubpassDependency2KHR.html>
pub type SubpassDependency2KHR = SubpassDependency2;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSubpassDescription2KHR.html>
pub type SubpassDescription2KHR = SubpassDescription2;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSubpassDescriptionDepthStencilResolveKHR.html>
pub type SubpassDescriptionDepthStencilResolveKHR = SubpassDescriptionDepthStencilResolve;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSubpassEndInfoKHR.html>
pub type SubpassEndInfoKHR = SubpassEndInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSubpassFragmentDensityMapOffsetEndInfoQCOM.html>
pub type SubpassFragmentDensityMapOffsetEndInfoQCOM = RenderPassFragmentDensityMapOffsetEndInfoEXT;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSubresourceHostMemcpySizeEXT.html>
pub type SubresourceHostMemcpySizeEXT = SubresourceHostMemcpySize;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSubresourceLayout2EXT.html>
pub type SubresourceLayout2EXT = SubresourceLayout2;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSubresourceLayout2KHR.html>
pub type SubresourceLayout2KHR = SubresourceLayout2;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSurfacePresentModeCompatibilityEXT.html>
pub type SurfacePresentModeCompatibilityEXT = SurfacePresentModeCompatibilityKHR;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSurfacePresentModeEXT.html>
pub type SurfacePresentModeEXT = SurfacePresentModeKHR;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSurfacePresentScalingCapabilitiesEXT.html>
pub type SurfacePresentScalingCapabilitiesEXT = SurfacePresentScalingCapabilitiesKHR;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSwapchainPresentFenceInfoEXT.html>
pub type SwapchainPresentFenceInfoEXT = SwapchainPresentFenceInfoKHR;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSwapchainPresentModeInfoEXT.html>
pub type SwapchainPresentModeInfoEXT = SwapchainPresentModeInfoKHR;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSwapchainPresentModesCreateInfoEXT.html>
pub type SwapchainPresentModesCreateInfoEXT = SwapchainPresentModesCreateInfoKHR;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSwapchainPresentScalingCreateInfoEXT.html>
pub type SwapchainPresentScalingCreateInfoEXT = SwapchainPresentScalingCreateInfoKHR;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkTimelineSemaphoreSubmitInfoKHR.html>
pub type TimelineSemaphoreSubmitInfoKHR = TimelineSemaphoreSubmitInfo;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkTransformMatrixNV.html>
pub type TransformMatrixNV = TransformMatrixKHR;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVertexInputBindingDivisorDescriptionEXT.html>
pub type VertexInputBindingDivisorDescriptionEXT = VertexInputBindingDivisorDescription;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkVertexInputBindingDivisorDescriptionKHR.html>
pub type VertexInputBindingDivisorDescriptionKHR = VertexInputBindingDivisorDescription;
/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkWriteDescriptorSetInlineUniformBlockEXT.html>
pub type WriteDescriptorSetInlineUniformBlockEXT = WriteDescriptorSetInlineUniformBlock;