// generated file, do not modify manually
use crate::vk::*;
use ::core::ptr::NonNull;
use ::core::num::NonZeroU64 ;
use crate::sys::ffi::*;
use crate::sys::ffi;
use crate::sys;
/// `VkAccelerationStructureBuildTypeKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct AccelerationStructureBuildTypeKHR(pub i32);
from_into_transparent!(AccelerationStructureBuildTypeKHR : i32);
from_by_transmute!(AccelerationStructureBuildTypeKHR => sys::VkAccelerationStructureBuildTypeKHR);
from_by_transmute!(sys::VkAccelerationStructureBuildTypeKHR => AccelerationStructureBuildTypeKHR);
impl_to_sys!(AccelerationStructureBuildTypeKHR => sys::VkAccelerationStructureBuildTypeKHR);
impl_enum!(AccelerationStructureBuildTypeKHR => sys::VkAccelerationStructureBuildTypeKHR);
impl AccelerationStructureBuildTypeKHR {
/// `VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR` = `0`
pub const HostKhr: Self = Self(sys::VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR.0);
/// `VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR` = `1`
pub const DeviceKhr: Self = Self(sys::VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR.0);
/// `VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR` = `2`
pub const HostOrDeviceKhr: Self = Self(sys::VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR.0);
}
impl_enum_display!(AccelerationStructureBuildTypeKHR = VkAccelerationStructureBuildTypeKHR { HostKhr, DeviceKhr, HostOrDeviceKhr });
/// `VkAccelerationStructureCompatibilityKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct AccelerationStructureCompatibilityKHR(pub i32);
from_into_transparent!(AccelerationStructureCompatibilityKHR : i32);
from_by_transmute!(AccelerationStructureCompatibilityKHR => sys::VkAccelerationStructureCompatibilityKHR);
from_by_transmute!(sys::VkAccelerationStructureCompatibilityKHR => AccelerationStructureCompatibilityKHR);
impl_to_sys!(AccelerationStructureCompatibilityKHR => sys::VkAccelerationStructureCompatibilityKHR);
impl_enum!(AccelerationStructureCompatibilityKHR => sys::VkAccelerationStructureCompatibilityKHR);
impl AccelerationStructureCompatibilityKHR {
/// `VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR` = `0`
pub const CompatibleKhr: Self = Self(sys::VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR.0);
/// `VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR` = `1`
pub const IncompatibleKhr: Self = Self(sys::VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR.0);
}
impl_enum_display!(AccelerationStructureCompatibilityKHR = VkAccelerationStructureCompatibilityKHR { CompatibleKhr, IncompatibleKhr });
/// `VkAccelerationStructureCreateFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct AccelerationStructureCreateFlagsKHR(pub i32);
flags!(AccelerationStructureCreateFlagsKHR);
from_into_transparent!(AccelerationStructureCreateFlagsKHR : i32);
from_by_transmute!(AccelerationStructureCreateFlagsKHR => sys::VkAccelerationStructureCreateFlagsKHR);
from_by_transmute!(sys::VkAccelerationStructureCreateFlagsKHR => AccelerationStructureCreateFlagsKHR);
impl_to_sys!(AccelerationStructureCreateFlagsKHR => sys::VkAccelerationStructureCreateFlagsKHR);
impl_enum!(AccelerationStructureCreateFlagsKHR => sys::VkAccelerationStructureCreateFlagsKHR);
impl AccelerationStructureCreateFlagsKHR {
/// `VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR` = `1 << 0`
pub const DeviceAddressCaptureReplayKhr: Self = Self(sys::VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR.0);
/// `VK_ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT` = `1 << 3`
pub const DescriptorBufferCaptureReplayExt: Self = Self(sys::VK_ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT.0);
/// `VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV` = `1 << 2`
pub const MotionNv: Self = Self(sys::VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV.0);
}
impl_flags_display!(AccelerationStructureCreateFlagsKHR = VkAccelerationStructureCreateFlagsKHR { DeviceAddressCaptureReplayKhr, DescriptorBufferCaptureReplayExt, MotionNv });
/// `VkAccelerationStructureMemoryRequirementsTypeNV`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct AccelerationStructureMemoryRequirementsTypeNV(pub i32);
from_into_transparent!(AccelerationStructureMemoryRequirementsTypeNV : i32);
from_by_transmute!(AccelerationStructureMemoryRequirementsTypeNV => sys::VkAccelerationStructureMemoryRequirementsTypeNV);
from_by_transmute!(sys::VkAccelerationStructureMemoryRequirementsTypeNV => AccelerationStructureMemoryRequirementsTypeNV);
impl_to_sys!(AccelerationStructureMemoryRequirementsTypeNV => sys::VkAccelerationStructureMemoryRequirementsTypeNV);
impl_enum!(AccelerationStructureMemoryRequirementsTypeNV => sys::VkAccelerationStructureMemoryRequirementsTypeNV);
impl AccelerationStructureMemoryRequirementsTypeNV {
/// `VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV` = `0`
pub const ObjectNv: Self = Self(sys::VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV.0);
/// `VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV` = `1`
pub const BuildScratchNv: Self = Self(sys::VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV.0);
/// `VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV` = `2`
pub const UpdateScratchNv: Self = Self(sys::VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV.0);
}
impl_enum_display!(AccelerationStructureMemoryRequirementsTypeNV = VkAccelerationStructureMemoryRequirementsTypeNV { ObjectNv, BuildScratchNv, UpdateScratchNv });
/// `VkAccelerationStructureMotionInfoFlagsNV`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct AccelerationStructureMotionInfoFlagsNV(pub i32);
flags!(AccelerationStructureMotionInfoFlagsNV);
from_into_transparent!(AccelerationStructureMotionInfoFlagsNV : i32);
from_by_transmute!(AccelerationStructureMotionInfoFlagsNV => sys::VkAccelerationStructureMotionInfoFlagsNV);
from_by_transmute!(sys::VkAccelerationStructureMotionInfoFlagsNV => AccelerationStructureMotionInfoFlagsNV);
impl_to_sys!(AccelerationStructureMotionInfoFlagsNV => sys::VkAccelerationStructureMotionInfoFlagsNV);
impl_enum!(AccelerationStructureMotionInfoFlagsNV => sys::VkAccelerationStructureMotionInfoFlagsNV);
impl_flags_display!(AccelerationStructureMotionInfoFlagsNV = VkAccelerationStructureMotionInfoFlagsNV { });
/// `VkAccelerationStructureMotionInstanceFlagsNV`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct AccelerationStructureMotionInstanceFlagsNV(pub i32);
flags!(AccelerationStructureMotionInstanceFlagsNV);
from_into_transparent!(AccelerationStructureMotionInstanceFlagsNV : i32);
from_by_transmute!(AccelerationStructureMotionInstanceFlagsNV => sys::VkAccelerationStructureMotionInstanceFlagsNV);
from_by_transmute!(sys::VkAccelerationStructureMotionInstanceFlagsNV => AccelerationStructureMotionInstanceFlagsNV);
impl_to_sys!(AccelerationStructureMotionInstanceFlagsNV => sys::VkAccelerationStructureMotionInstanceFlagsNV);
impl_enum!(AccelerationStructureMotionInstanceFlagsNV => sys::VkAccelerationStructureMotionInstanceFlagsNV);
impl_flags_display!(AccelerationStructureMotionInstanceFlagsNV = VkAccelerationStructureMotionInstanceFlagsNV { });
/// `VkAccelerationStructureMotionInstanceTypeNV`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct AccelerationStructureMotionInstanceTypeNV(pub i32);
from_into_transparent!(AccelerationStructureMotionInstanceTypeNV : i32);
from_by_transmute!(AccelerationStructureMotionInstanceTypeNV => sys::VkAccelerationStructureMotionInstanceTypeNV);
from_by_transmute!(sys::VkAccelerationStructureMotionInstanceTypeNV => AccelerationStructureMotionInstanceTypeNV);
impl_to_sys!(AccelerationStructureMotionInstanceTypeNV => sys::VkAccelerationStructureMotionInstanceTypeNV);
impl_enum!(AccelerationStructureMotionInstanceTypeNV => sys::VkAccelerationStructureMotionInstanceTypeNV);
impl AccelerationStructureMotionInstanceTypeNV {
/// `VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV` = `0`
pub const StaticNv: Self = Self(sys::VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV.0);
/// `VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV` = `1`
pub const MatrixMotionNv: Self = Self(sys::VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV.0);
/// `VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV` = `2`
pub const SrtMotionNv: Self = Self(sys::VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV.0);
}
impl_enum_display!(AccelerationStructureMotionInstanceTypeNV = VkAccelerationStructureMotionInstanceTypeNV { StaticNv, MatrixMotionNv, SrtMotionNv });
/// `VkAccelerationStructureTypeKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct AccelerationStructureTypeKHR(pub i32);
from_into_transparent!(AccelerationStructureTypeKHR : i32);
from_by_transmute!(AccelerationStructureTypeKHR => sys::VkAccelerationStructureTypeKHR);
from_by_transmute!(sys::VkAccelerationStructureTypeKHR => AccelerationStructureTypeKHR);
impl_to_sys!(AccelerationStructureTypeKHR => sys::VkAccelerationStructureTypeKHR);
impl_enum!(AccelerationStructureTypeKHR => sys::VkAccelerationStructureTypeKHR);
impl AccelerationStructureTypeKHR {
/// `VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR` = `0`
pub const TopLevelKhr: Self = Self(sys::VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR.0);
/// `VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR` = `1`
pub const BottomLevelKhr: Self = Self(sys::VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR.0);
/// `VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR` = `2`
pub const GenericKhr: Self = Self(sys::VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR.0);
/// `VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV` = `VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR`
pub const TopLevelNv: Self = Self(sys::VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV.0);
/// `VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV` = `VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR`
pub const BottomLevelNv: Self = Self(sys::VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV.0);
}
impl_enum_display!(AccelerationStructureTypeKHR = VkAccelerationStructureTypeKHR { TopLevelKhr, BottomLevelKhr, GenericKhr, TopLevelNv, BottomLevelNv });
/// `VkAccelerationStructureTypeNV` = `VkAccelerationStructureTypeKHR`
pub type AccelerationStructureTypeNV = AccelerationStructureTypeKHR;
/// `VkAccessFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct AccessFlags(pub i32);
flags!(AccessFlags);
from_into_transparent!(AccessFlags : i32);
from_by_transmute!(AccessFlags => sys::VkAccessFlags);
from_by_transmute!(sys::VkAccessFlags => AccessFlags);
impl_to_sys!(AccessFlags => sys::VkAccessFlags);
impl_enum!(AccessFlags => sys::VkAccessFlags);
impl AccessFlags {
/// `VK_ACCESS_INDIRECT_COMMAND_READ_BIT` = `1 << 0`
///
/// Controls coherency of indirect command reads
pub const IndirectCommandRead: Self = Self(sys::VK_ACCESS_INDIRECT_COMMAND_READ_BIT.0);
/// `VK_ACCESS_INDEX_READ_BIT` = `1 << 1`
///
/// Controls coherency of index reads
pub const IndexRead: Self = Self(sys::VK_ACCESS_INDEX_READ_BIT.0);
/// `VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT` = `1 << 2`
///
/// Controls coherency of vertex attribute reads
pub const VertexAttributeRead: Self = Self(sys::VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT.0);
/// `VK_ACCESS_UNIFORM_READ_BIT` = `1 << 3`
///
/// Controls coherency of uniform buffer reads
pub const UniformRead: Self = Self(sys::VK_ACCESS_UNIFORM_READ_BIT.0);
/// `VK_ACCESS_INPUT_ATTACHMENT_READ_BIT` = `1 << 4`
///
/// Controls coherency of input attachment reads
pub const InputAttachmentRead: Self = Self(sys::VK_ACCESS_INPUT_ATTACHMENT_READ_BIT.0);
/// `VK_ACCESS_SHADER_READ_BIT` = `1 << 5`
///
/// Controls coherency of shader reads
pub const ShaderRead: Self = Self(sys::VK_ACCESS_SHADER_READ_BIT.0);
/// `VK_ACCESS_SHADER_WRITE_BIT` = `1 << 6`
///
/// Controls coherency of shader writes
pub const ShaderWrite: Self = Self(sys::VK_ACCESS_SHADER_WRITE_BIT.0);
/// `VK_ACCESS_COLOR_ATTACHMENT_READ_BIT` = `1 << 7`
///
/// Controls coherency of color attachment reads
pub const ColorAttachmentRead: Self = Self(sys::VK_ACCESS_COLOR_ATTACHMENT_READ_BIT.0);
/// `VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT` = `1 << 8`
///
/// Controls coherency of color attachment writes
pub const ColorAttachmentWrite: Self = Self(sys::VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT.0);
/// `VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT` = `1 << 9`
///
/// Controls coherency of depth/stencil attachment reads
pub const DepthStencilAttachmentRead: Self = Self(sys::VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT.0);
/// `VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT` = `1 << 10`
///
/// Controls coherency of depth/stencil attachment writes
pub const DepthStencilAttachmentWrite: Self = Self(sys::VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT.0);
/// `VK_ACCESS_TRANSFER_READ_BIT` = `1 << 11`
///
/// Controls coherency of transfer reads
pub const TransferRead: Self = Self(sys::VK_ACCESS_TRANSFER_READ_BIT.0);
/// `VK_ACCESS_TRANSFER_WRITE_BIT` = `1 << 12`
///
/// Controls coherency of transfer writes
pub const TransferWrite: Self = Self(sys::VK_ACCESS_TRANSFER_WRITE_BIT.0);
/// `VK_ACCESS_HOST_READ_BIT` = `1 << 13`
///
/// Controls coherency of host reads
pub const HostRead: Self = Self(sys::VK_ACCESS_HOST_READ_BIT.0);
/// `VK_ACCESS_HOST_WRITE_BIT` = `1 << 14`
///
/// Controls coherency of host writes
pub const HostWrite: Self = Self(sys::VK_ACCESS_HOST_WRITE_BIT.0);
/// `VK_ACCESS_MEMORY_READ_BIT` = `1 << 15`
///
/// Controls coherency of memory reads
pub const MemoryRead: Self = Self(sys::VK_ACCESS_MEMORY_READ_BIT.0);
/// `VK_ACCESS_MEMORY_WRITE_BIT` = `1 << 16`
///
/// Controls coherency of memory writes
pub const MemoryWrite: Self = Self(sys::VK_ACCESS_MEMORY_WRITE_BIT.0);
/// `VK_ACCESS_NONE` = `0`
pub const None: Self = Self(sys::VK_ACCESS_NONE.0);
/// `VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT` = `1 << 25`
pub const TransformFeedbackWriteExt: Self = Self(sys::VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT.0);
/// `VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT` = `1 << 26`
pub const TransformFeedbackCounterReadExt: Self = Self(sys::VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT.0);
/// `VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT` = `1 << 27`
pub const TransformFeedbackCounterWriteExt: Self = Self(sys::VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT.0);
/// `VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT` = `1 << 20`
///
/// read access flag for reading conditional rendering predicate
pub const ConditionalRenderingReadExt: Self = Self(sys::VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT.0);
/// `VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT` = `1 << 19`
pub const ColorAttachmentReadNoncoherentExt: Self = Self(sys::VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT.0);
/// `VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR` = `1 << 21`
pub const AccelerationStructureReadKhr: Self = Self(sys::VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR.0);
/// `VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR` = `1 << 22`
pub const AccelerationStructureWriteKhr: Self = Self(sys::VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR.0);
/// `VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV` = `VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR`
pub const ShadingRateImageReadNv: Self = Self(sys::VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV.0);
/// `VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV` = `VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR`
pub const AccelerationStructureReadNv: Self = Self(sys::VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_NV.0);
/// `VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV` = `VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR`
pub const AccelerationStructureWriteNv: Self = Self(sys::VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_NV.0);
/// `VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT` = `1 << 24`
pub const FragmentDensityMapReadExt: Self = Self(sys::VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT.0);
/// `VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR` = `1 << 23`
pub const FragmentShadingRateAttachmentReadKhr: Self = Self(sys::VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR.0);
/// `VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV` = `VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_EXT`
pub const CommandPreprocessReadNv: Self = Self(sys::VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV.0);
/// `VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV` = `VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_EXT`
pub const CommandPreprocessWriteNv: Self = Self(sys::VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV.0);
/// `VK_ACCESS_NONE_KHR` = `VK_ACCESS_NONE`
pub const NoneKhr: Self = Self(sys::VK_ACCESS_NONE_KHR.0);
/// `VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_EXT` = `1 << 17`
pub const CommandPreprocessReadExt: Self = Self(sys::VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_EXT.0);
/// `VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_EXT` = `1 << 18`
pub const CommandPreprocessWriteExt: Self = Self(sys::VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_EXT.0);
}
impl_flags_display!(AccessFlags = VkAccessFlags { IndirectCommandRead, IndexRead, VertexAttributeRead, UniformRead, InputAttachmentRead, ShaderRead, ShaderWrite, ColorAttachmentRead, ColorAttachmentWrite, DepthStencilAttachmentRead, DepthStencilAttachmentWrite, TransferRead, TransferWrite, HostRead, HostWrite, MemoryRead, MemoryWrite, None, TransformFeedbackWriteExt, TransformFeedbackCounterReadExt, TransformFeedbackCounterWriteExt, ConditionalRenderingReadExt, ColorAttachmentReadNoncoherentExt, AccelerationStructureReadKhr, AccelerationStructureWriteKhr, ShadingRateImageReadNv, AccelerationStructureReadNv, AccelerationStructureWriteNv, FragmentDensityMapReadExt, FragmentShadingRateAttachmentReadKhr, CommandPreprocessReadNv, CommandPreprocessWriteNv, NoneKhr, CommandPreprocessReadExt, CommandPreprocessWriteExt });
/// `VkAccessFlags2`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct AccessFlags2(pub i64);
flags!(AccessFlags2);
from_into_transparent!(AccessFlags2 : i64);
from_by_transmute!(AccessFlags2 => sys::VkAccessFlags2);
from_by_transmute!(sys::VkAccessFlags2 => AccessFlags2);
impl_to_sys!(AccessFlags2 => sys::VkAccessFlags2);
impl_enum!(AccessFlags2 => sys::VkAccessFlags2);
impl AccessFlags2 {
/// `VK_ACCESS_2_NONE` = `0`
pub const None: Self = Self(sys::VK_ACCESS_2_NONE.0);
/// `VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT` = `1 << 0`
pub const IndirectCommandRead: Self = Self(sys::VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT.0);
/// `VK_ACCESS_2_INDEX_READ_BIT` = `1 << 1`
pub const IndexRead: Self = Self(sys::VK_ACCESS_2_INDEX_READ_BIT.0);
/// `VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT` = `1 << 2`
pub const VertexAttributeRead: Self = Self(sys::VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT.0);
/// `VK_ACCESS_2_UNIFORM_READ_BIT` = `1 << 3`
pub const UniformRead: Self = Self(sys::VK_ACCESS_2_UNIFORM_READ_BIT.0);
/// `VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT` = `1 << 4`
pub const InputAttachmentRead: Self = Self(sys::VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT.0);
/// `VK_ACCESS_2_SHADER_READ_BIT` = `1 << 5`
pub const ShaderRead: Self = Self(sys::VK_ACCESS_2_SHADER_READ_BIT.0);
/// `VK_ACCESS_2_SHADER_WRITE_BIT` = `1 << 6`
pub const ShaderWrite: Self = Self(sys::VK_ACCESS_2_SHADER_WRITE_BIT.0);
/// `VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT` = `1 << 7`
pub const ColorAttachmentRead: Self = Self(sys::VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT.0);
/// `VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT` = `1 << 8`
pub const ColorAttachmentWrite: Self = Self(sys::VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT.0);
/// `VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT` = `1 << 9`
pub const DepthStencilAttachmentRead: Self = Self(sys::VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT.0);
/// `VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT` = `1 << 10`
pub const DepthStencilAttachmentWrite: Self = Self(sys::VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT.0);
/// `VK_ACCESS_2_TRANSFER_READ_BIT` = `1 << 11`
pub const TransferRead: Self = Self(sys::VK_ACCESS_2_TRANSFER_READ_BIT.0);
/// `VK_ACCESS_2_TRANSFER_WRITE_BIT` = `1 << 12`
pub const TransferWrite: Self = Self(sys::VK_ACCESS_2_TRANSFER_WRITE_BIT.0);
/// `VK_ACCESS_2_HOST_READ_BIT` = `1 << 13`
pub const HostRead: Self = Self(sys::VK_ACCESS_2_HOST_READ_BIT.0);
/// `VK_ACCESS_2_HOST_WRITE_BIT` = `1 << 14`
pub const HostWrite: Self = Self(sys::VK_ACCESS_2_HOST_WRITE_BIT.0);
/// `VK_ACCESS_2_MEMORY_READ_BIT` = `1 << 15`
pub const MemoryRead: Self = Self(sys::VK_ACCESS_2_MEMORY_READ_BIT.0);
/// `VK_ACCESS_2_MEMORY_WRITE_BIT` = `1 << 16`
pub const MemoryWrite: Self = Self(sys::VK_ACCESS_2_MEMORY_WRITE_BIT.0);
/// `VK_ACCESS_2_SHADER_SAMPLED_READ_BIT` = `1 << 32`
pub const ShaderSampledRead: Self = Self(sys::VK_ACCESS_2_SHADER_SAMPLED_READ_BIT.0);
/// `VK_ACCESS_2_SHADER_STORAGE_READ_BIT` = `1 << 33`
pub const ShaderStorageRead: Self = Self(sys::VK_ACCESS_2_SHADER_STORAGE_READ_BIT.0);
/// `VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT` = `1 << 34`
pub const ShaderStorageWrite: Self = Self(sys::VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT.0);
/// `VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR` = `1 << 35`
pub const VideoDecodeReadKhr: Self = Self(sys::VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR.0);
/// `VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR` = `1 << 36`
pub const VideoDecodeWriteKhr: Self = Self(sys::VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR.0);
/// `VK_ACCESS_2_SAMPLER_HEAP_READ_BIT_EXT` = `1 << 57`
pub const SamplerHeapReadExt: Self = Self(sys::VK_ACCESS_2_SAMPLER_HEAP_READ_BIT_EXT.0);
/// `VK_ACCESS_2_RESOURCE_HEAP_READ_BIT_EXT` = `1 << 58`
pub const ResourceHeapReadExt: Self = Self(sys::VK_ACCESS_2_RESOURCE_HEAP_READ_BIT_EXT.0);
/// `VK_ACCESS_2_RESERVED_46_BIT_INTEL` = `1 << 46`
pub const Reserved46Intel: Self = Self(sys::VK_ACCESS_2_RESERVED_46_BIT_INTEL.0);
/// `VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR` = `1 << 37`
pub const VideoEncodeReadKhr: Self = Self(sys::VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR.0);
/// `VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR` = `1 << 38`
pub const VideoEncodeWriteKhr: Self = Self(sys::VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR.0);
/// `VK_ACCESS_2_SHADER_TILE_ATTACHMENT_READ_BIT_QCOM` = `1 << 51`
pub const ShaderTileAttachmentReadQcom: Self = Self(sys::VK_ACCESS_2_SHADER_TILE_ATTACHMENT_READ_BIT_QCOM.0);
/// `VK_ACCESS_2_SHADER_TILE_ATTACHMENT_WRITE_BIT_QCOM` = `1 << 52`
pub const ShaderTileAttachmentWriteQcom: Self = Self(sys::VK_ACCESS_2_SHADER_TILE_ATTACHMENT_WRITE_BIT_QCOM.0);
/// `VK_ACCESS_2_NONE_KHR` = `VK_ACCESS_2_NONE`
pub const NoneKhr: Self = Self(sys::VK_ACCESS_2_NONE_KHR.0);
/// `VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR` = `VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT`
pub const IndirectCommandReadKhr: Self = Self(sys::VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR.0);
/// `VK_ACCESS_2_INDEX_READ_BIT_KHR` = `VK_ACCESS_2_INDEX_READ_BIT`
pub const IndexReadKhr: Self = Self(sys::VK_ACCESS_2_INDEX_READ_BIT_KHR.0);
/// `VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR` = `VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT`
pub const VertexAttributeReadKhr: Self = Self(sys::VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR.0);
/// `VK_ACCESS_2_UNIFORM_READ_BIT_KHR` = `VK_ACCESS_2_UNIFORM_READ_BIT`
pub const UniformReadKhr: Self = Self(sys::VK_ACCESS_2_UNIFORM_READ_BIT_KHR.0);
/// `VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR` = `VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT`
pub const InputAttachmentReadKhr: Self = Self(sys::VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR.0);
/// `VK_ACCESS_2_SHADER_READ_BIT_KHR` = `VK_ACCESS_2_SHADER_READ_BIT`
pub const ShaderReadKhr: Self = Self(sys::VK_ACCESS_2_SHADER_READ_BIT_KHR.0);
/// `VK_ACCESS_2_SHADER_WRITE_BIT_KHR` = `VK_ACCESS_2_SHADER_WRITE_BIT`
pub const ShaderWriteKhr: Self = Self(sys::VK_ACCESS_2_SHADER_WRITE_BIT_KHR.0);
/// `VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR` = `VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT`
pub const ColorAttachmentReadKhr: Self = Self(sys::VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR.0);
/// `VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR` = `VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT`
pub const ColorAttachmentWriteKhr: Self = Self(sys::VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR.0);
/// `VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR` = `VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT`
pub const DepthStencilAttachmentReadKhr: Self = Self(sys::VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR.0);
/// `VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR` = `VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT`
pub const DepthStencilAttachmentWriteKhr: Self = Self(sys::VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR.0);
/// `VK_ACCESS_2_TRANSFER_READ_BIT_KHR` = `VK_ACCESS_2_TRANSFER_READ_BIT`
pub const TransferReadKhr: Self = Self(sys::VK_ACCESS_2_TRANSFER_READ_BIT_KHR.0);
/// `VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR` = `VK_ACCESS_2_TRANSFER_WRITE_BIT`
pub const TransferWriteKhr: Self = Self(sys::VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR.0);
/// `VK_ACCESS_2_HOST_READ_BIT_KHR` = `VK_ACCESS_2_HOST_READ_BIT`
pub const HostReadKhr: Self = Self(sys::VK_ACCESS_2_HOST_READ_BIT_KHR.0);
/// `VK_ACCESS_2_HOST_WRITE_BIT_KHR` = `VK_ACCESS_2_HOST_WRITE_BIT`
pub const HostWriteKhr: Self = Self(sys::VK_ACCESS_2_HOST_WRITE_BIT_KHR.0);
/// `VK_ACCESS_2_MEMORY_READ_BIT_KHR` = `VK_ACCESS_2_MEMORY_READ_BIT`
pub const MemoryReadKhr: Self = Self(sys::VK_ACCESS_2_MEMORY_READ_BIT_KHR.0);
/// `VK_ACCESS_2_MEMORY_WRITE_BIT_KHR` = `VK_ACCESS_2_MEMORY_WRITE_BIT`
pub const MemoryWriteKhr: Self = Self(sys::VK_ACCESS_2_MEMORY_WRITE_BIT_KHR.0);
/// `VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR` = `VK_ACCESS_2_SHADER_SAMPLED_READ_BIT`
pub const ShaderSampledReadKhr: Self = Self(sys::VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR.0);
/// `VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR` = `VK_ACCESS_2_SHADER_STORAGE_READ_BIT`
pub const ShaderStorageReadKhr: Self = Self(sys::VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR.0);
/// `VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR` = `VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT`
pub const ShaderStorageWriteKhr: Self = Self(sys::VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR.0);
/// `VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT` = `1 << 25`
pub const TransformFeedbackWriteExt: Self = Self(sys::VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT.0);
/// `VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT` = `1 << 26`
pub const TransformFeedbackCounterReadExt: Self = Self(sys::VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT.0);
/// `VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT` = `1 << 27`
pub const TransformFeedbackCounterWriteExt: Self = Self(sys::VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT.0);
/// `VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT` = `1 << 20`
///
/// read access flag for reading conditional rendering predicate
pub const ConditionalRenderingReadExt: Self = Self(sys::VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT.0);
/// `VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV` = `VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_EXT`
pub const CommandPreprocessReadNv: Self = Self(sys::VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV.0);
/// `VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV` = `VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_EXT`
pub const CommandPreprocessWriteNv: Self = Self(sys::VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV.0);
/// `VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_EXT` = `1 << 17`
pub const CommandPreprocessReadExt: Self = Self(sys::VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_EXT.0);
/// `VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_EXT` = `1 << 18`
pub const CommandPreprocessWriteExt: Self = Self(sys::VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_EXT.0);
/// `VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR` = `1 << 23`
pub const FragmentShadingRateAttachmentReadKhr: Self = Self(sys::VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR.0);
/// `VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV` = `VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR`
pub const ShadingRateImageReadNv: Self = Self(sys::VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV.0);
/// `VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR` = `1 << 21`
pub const AccelerationStructureReadKhr: Self = Self(sys::VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR.0);
/// `VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR` = `1 << 22`
pub const AccelerationStructureWriteKhr: Self = Self(sys::VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR.0);
/// `VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV` = `VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR`
pub const AccelerationStructureReadNv: Self = Self(sys::VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV.0);
/// `VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV` = `VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR`
pub const AccelerationStructureWriteNv: Self = Self(sys::VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV.0);
/// `VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT` = `1 << 24`
pub const FragmentDensityMapReadExt: Self = Self(sys::VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT.0);
/// `VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT` = `1 << 19`
pub const ColorAttachmentReadNoncoherentExt: Self = Self(sys::VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT.0);
/// `VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT` = `1 << 41`
pub const DescriptorBufferReadExt: Self = Self(sys::VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT.0);
/// `VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI` = `1 << 39`
pub const InvocationMaskReadHuawei: Self = Self(sys::VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI.0);
/// `VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR` = `1 << 40`
pub const ShaderBindingTableReadKhr: Self = Self(sys::VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR.0);
/// `VK_ACCESS_2_MICROMAP_READ_BIT_EXT` = `1 << 44`
pub const MicromapReadExt: Self = Self(sys::VK_ACCESS_2_MICROMAP_READ_BIT_EXT.0);
/// `VK_ACCESS_2_MICROMAP_WRITE_BIT_EXT` = `1 << 45`
pub const MicromapWriteExt: Self = Self(sys::VK_ACCESS_2_MICROMAP_WRITE_BIT_EXT.0);
/// `VK_ACCESS_2_OPTICAL_FLOW_READ_BIT_NV` = `1 << 42`
pub const OpticalFlowReadNv: Self = Self(sys::VK_ACCESS_2_OPTICAL_FLOW_READ_BIT_NV.0);
/// `VK_ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV` = `1 << 43`
pub const OpticalFlowWriteNv: Self = Self(sys::VK_ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV.0);
/// `VK_ACCESS_2_DATA_GRAPH_READ_BIT_ARM` = `1 << 47`
pub const DataGraphReadArm: Self = Self(sys::VK_ACCESS_2_DATA_GRAPH_READ_BIT_ARM.0);
/// `VK_ACCESS_2_DATA_GRAPH_WRITE_BIT_ARM` = `1 << 48`
pub const DataGraphWriteArm: Self = Self(sys::VK_ACCESS_2_DATA_GRAPH_WRITE_BIT_ARM.0);
/// `VK_ACCESS_2_MEMORY_DECOMPRESSION_READ_BIT_EXT` = `1 << 55`
pub const MemoryDecompressionReadExt: Self = Self(sys::VK_ACCESS_2_MEMORY_DECOMPRESSION_READ_BIT_EXT.0);
/// `VK_ACCESS_2_MEMORY_DECOMPRESSION_WRITE_BIT_EXT` = `1 << 56`
pub const MemoryDecompressionWriteExt: Self = Self(sys::VK_ACCESS_2_MEMORY_DECOMPRESSION_WRITE_BIT_EXT.0);
/// `VK_ACCESS_2_RESERVED_62_BIT_EXT` = `1 << 62`
pub const Reserved62Ext: Self = Self(sys::VK_ACCESS_2_RESERVED_62_BIT_EXT.0);
/// `VK_ACCESS_2_RESERVED_63_BIT_EXT` = `1 << 63`
pub const Reserved63Ext: Self = Self(sys::VK_ACCESS_2_RESERVED_63_BIT_EXT.0);
/// `VK_ACCESS_2_RESERVED_60_BIT_KHR` = `1 << 60`
pub const Reserved60Khr: Self = Self(sys::VK_ACCESS_2_RESERVED_60_BIT_KHR.0);
/// `VK_ACCESS_2_RESERVED_61_BIT_KHR` = `1 << 61`
pub const Reserved61Khr: Self = Self(sys::VK_ACCESS_2_RESERVED_61_BIT_KHR.0);
/// `VK_ACCESS_2_RESERVED_49_BIT_ARM` = `1 << 49`
pub const Reserved49Arm: Self = Self(sys::VK_ACCESS_2_RESERVED_49_BIT_ARM.0);
/// `VK_ACCESS_2_RESERVED_50_BIT_ARM` = `1 << 50`
pub const Reserved50Arm: Self = Self(sys::VK_ACCESS_2_RESERVED_50_BIT_ARM.0);
}
impl_flags_display!(AccessFlags2 = VkAccessFlags2 { None, IndirectCommandRead, IndexRead, VertexAttributeRead, UniformRead, InputAttachmentRead, ShaderRead, ShaderWrite, ColorAttachmentRead, ColorAttachmentWrite, DepthStencilAttachmentRead, DepthStencilAttachmentWrite, TransferRead, TransferWrite, HostRead, HostWrite, MemoryRead, MemoryWrite, ShaderSampledRead, ShaderStorageRead, ShaderStorageWrite, VideoDecodeReadKhr, VideoDecodeWriteKhr, SamplerHeapReadExt, ResourceHeapReadExt, Reserved46Intel, VideoEncodeReadKhr, VideoEncodeWriteKhr, ShaderTileAttachmentReadQcom, ShaderTileAttachmentWriteQcom, NoneKhr, IndirectCommandReadKhr, IndexReadKhr, VertexAttributeReadKhr, UniformReadKhr, InputAttachmentReadKhr, ShaderReadKhr, ShaderWriteKhr, ColorAttachmentReadKhr, ColorAttachmentWriteKhr, DepthStencilAttachmentReadKhr, DepthStencilAttachmentWriteKhr, TransferReadKhr, TransferWriteKhr, HostReadKhr, HostWriteKhr, MemoryReadKhr, MemoryWriteKhr, ShaderSampledReadKhr, ShaderStorageReadKhr, ShaderStorageWriteKhr, TransformFeedbackWriteExt, TransformFeedbackCounterReadExt, TransformFeedbackCounterWriteExt, ConditionalRenderingReadExt, CommandPreprocessReadNv, CommandPreprocessWriteNv, CommandPreprocessReadExt, CommandPreprocessWriteExt, FragmentShadingRateAttachmentReadKhr, ShadingRateImageReadNv, AccelerationStructureReadKhr, AccelerationStructureWriteKhr, AccelerationStructureReadNv, AccelerationStructureWriteNv, FragmentDensityMapReadExt, ColorAttachmentReadNoncoherentExt, DescriptorBufferReadExt, InvocationMaskReadHuawei, ShaderBindingTableReadKhr, MicromapReadExt, MicromapWriteExt, OpticalFlowReadNv, OpticalFlowWriteNv, DataGraphReadArm, DataGraphWriteArm, MemoryDecompressionReadExt, MemoryDecompressionWriteExt, Reserved62Ext, Reserved63Ext, Reserved60Khr, Reserved61Khr, Reserved49Arm, Reserved50Arm });
/// `VkAccessFlags2KHR` = `VkAccessFlags2`
pub type AccessFlags2KHR = AccessFlags2;
/// `VkAccessFlags3KHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct AccessFlags3KHR(pub i64);
flags!(AccessFlags3KHR);
from_into_transparent!(AccessFlags3KHR : i64);
from_by_transmute!(AccessFlags3KHR => sys::VkAccessFlags3KHR);
from_by_transmute!(sys::VkAccessFlags3KHR => AccessFlags3KHR);
impl_to_sys!(AccessFlags3KHR => sys::VkAccessFlags3KHR);
impl_enum!(AccessFlags3KHR => sys::VkAccessFlags3KHR);
impl AccessFlags3KHR {
/// `VK_ACCESS_3_NONE_KHR` = `0`
pub const _3NoneKhr: Self = Self(sys::VK_ACCESS_3_NONE_KHR.0);
}
impl_flags_display!(AccessFlags3KHR = VkAccessFlags3KHR { _3NoneKhr });
/// `VkAcquireProfilingLockFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct AcquireProfilingLockFlagsKHR(pub i32);
flags!(AcquireProfilingLockFlagsKHR);
from_into_transparent!(AcquireProfilingLockFlagsKHR : i32);
from_by_transmute!(AcquireProfilingLockFlagsKHR => sys::VkAcquireProfilingLockFlagsKHR);
from_by_transmute!(sys::VkAcquireProfilingLockFlagsKHR => AcquireProfilingLockFlagsKHR);
impl_to_sys!(AcquireProfilingLockFlagsKHR => sys::VkAcquireProfilingLockFlagsKHR);
impl_enum!(AcquireProfilingLockFlagsKHR => sys::VkAcquireProfilingLockFlagsKHR);
impl_flags_display!(AcquireProfilingLockFlagsKHR = VkAcquireProfilingLockFlagsKHR { });
/// `VkAddressCommandFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct AddressCommandFlagsKHR(pub i32);
flags!(AddressCommandFlagsKHR);
from_into_transparent!(AddressCommandFlagsKHR : i32);
from_by_transmute!(AddressCommandFlagsKHR => sys::VkAddressCommandFlagsKHR);
from_by_transmute!(sys::VkAddressCommandFlagsKHR => AddressCommandFlagsKHR);
impl_to_sys!(AddressCommandFlagsKHR => sys::VkAddressCommandFlagsKHR);
impl_enum!(AddressCommandFlagsKHR => sys::VkAddressCommandFlagsKHR);
impl AddressCommandFlagsKHR {
/// `VK_ADDRESS_COMMAND_PROTECTED_BIT_KHR` = `1 << 0`
pub const ProtectedKhr: Self = Self(sys::VK_ADDRESS_COMMAND_PROTECTED_BIT_KHR.0);
/// `VK_ADDRESS_COMMAND_FULLY_BOUND_BIT_KHR` = `1 << 1`
pub const FullyBoundKhr: Self = Self(sys::VK_ADDRESS_COMMAND_FULLY_BOUND_BIT_KHR.0);
/// `VK_ADDRESS_COMMAND_STORAGE_BUFFER_USAGE_BIT_KHR` = `1 << 2`
pub const StorageBufferUsageKhr: Self = Self(sys::VK_ADDRESS_COMMAND_STORAGE_BUFFER_USAGE_BIT_KHR.0);
/// `VK_ADDRESS_COMMAND_UNKNOWN_STORAGE_BUFFER_USAGE_BIT_KHR` = `1 << 3`
pub const UnknownStorageBufferUsageKhr: Self = Self(sys::VK_ADDRESS_COMMAND_UNKNOWN_STORAGE_BUFFER_USAGE_BIT_KHR.0);
/// `VK_ADDRESS_COMMAND_TRANSFORM_FEEDBACK_BUFFER_USAGE_BIT_KHR` = `1 << 4`
pub const TransformFeedbackBufferUsageKhr: Self = Self(sys::VK_ADDRESS_COMMAND_TRANSFORM_FEEDBACK_BUFFER_USAGE_BIT_KHR.0);
/// `VK_ADDRESS_COMMAND_UNKNOWN_TRANSFORM_FEEDBACK_BUFFER_USAGE_BIT_KHR` = `1 << 5`
pub const UnknownTransformFeedbackBufferUsageKhr: Self = Self(sys::VK_ADDRESS_COMMAND_UNKNOWN_TRANSFORM_FEEDBACK_BUFFER_USAGE_BIT_KHR.0);
}
impl_flags_display!(AddressCommandFlagsKHR = VkAddressCommandFlagsKHR { ProtectedKhr, FullyBoundKhr, StorageBufferUsageKhr, UnknownStorageBufferUsageKhr, TransformFeedbackBufferUsageKhr, UnknownTransformFeedbackBufferUsageKhr });
/// `VkAddressCopyFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct AddressCopyFlagsKHR(pub i32);
flags!(AddressCopyFlagsKHR);
from_into_transparent!(AddressCopyFlagsKHR : i32);
from_by_transmute!(AddressCopyFlagsKHR => sys::VkAddressCopyFlagsKHR);
from_by_transmute!(sys::VkAddressCopyFlagsKHR => AddressCopyFlagsKHR);
impl_to_sys!(AddressCopyFlagsKHR => sys::VkAddressCopyFlagsKHR);
impl_enum!(AddressCopyFlagsKHR => sys::VkAddressCopyFlagsKHR);
impl AddressCopyFlagsKHR {
/// `VK_ADDRESS_COPY_DEVICE_LOCAL_BIT_KHR` = `1 << 0`
pub const DeviceLocalKhr: Self = Self(sys::VK_ADDRESS_COPY_DEVICE_LOCAL_BIT_KHR.0);
/// `VK_ADDRESS_COPY_SPARSE_BIT_KHR` = `1 << 1`
pub const SparseKhr: Self = Self(sys::VK_ADDRESS_COPY_SPARSE_BIT_KHR.0);
/// `VK_ADDRESS_COPY_PROTECTED_BIT_KHR` = `1 << 2`
pub const ProtectedKhr: Self = Self(sys::VK_ADDRESS_COPY_PROTECTED_BIT_KHR.0);
}
impl_flags_display!(AddressCopyFlagsKHR = VkAddressCopyFlagsKHR { DeviceLocalKhr, SparseKhr, ProtectedKhr });
/// `VkAndroidSurfaceCreateFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct AndroidSurfaceCreateFlagsKHR(pub i32);
flags!(AndroidSurfaceCreateFlagsKHR);
from_into_transparent!(AndroidSurfaceCreateFlagsKHR : i32);
from_by_transmute!(AndroidSurfaceCreateFlagsKHR => sys::VkAndroidSurfaceCreateFlagsKHR);
from_by_transmute!(sys::VkAndroidSurfaceCreateFlagsKHR => AndroidSurfaceCreateFlagsKHR);
impl_to_sys!(AndroidSurfaceCreateFlagsKHR => sys::VkAndroidSurfaceCreateFlagsKHR);
impl_enum!(AndroidSurfaceCreateFlagsKHR => sys::VkAndroidSurfaceCreateFlagsKHR);
impl_flags_display!(AndroidSurfaceCreateFlagsKHR = VkAndroidSurfaceCreateFlagsKHR { });
/// `VkAntiLagModeAMD`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct AntiLagModeAMD(pub i32);
from_into_transparent!(AntiLagModeAMD : i32);
from_by_transmute!(AntiLagModeAMD => sys::VkAntiLagModeAMD);
from_by_transmute!(sys::VkAntiLagModeAMD => AntiLagModeAMD);
impl_to_sys!(AntiLagModeAMD => sys::VkAntiLagModeAMD);
impl_enum!(AntiLagModeAMD => sys::VkAntiLagModeAMD);
impl AntiLagModeAMD {
/// `VK_ANTI_LAG_MODE_DRIVER_CONTROL_AMD` = `0`
pub const DriverControlAmd: Self = Self(sys::VK_ANTI_LAG_MODE_DRIVER_CONTROL_AMD.0);
/// `VK_ANTI_LAG_MODE_ON_AMD` = `1`
pub const OnAmd: Self = Self(sys::VK_ANTI_LAG_MODE_ON_AMD.0);
/// `VK_ANTI_LAG_MODE_OFF_AMD` = `2`
pub const OffAmd: Self = Self(sys::VK_ANTI_LAG_MODE_OFF_AMD.0);
}
impl_enum_display!(AntiLagModeAMD = VkAntiLagModeAMD { DriverControlAmd, OnAmd, OffAmd });
/// `VkAntiLagStageAMD`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct AntiLagStageAMD(pub i32);
from_into_transparent!(AntiLagStageAMD : i32);
from_by_transmute!(AntiLagStageAMD => sys::VkAntiLagStageAMD);
from_by_transmute!(sys::VkAntiLagStageAMD => AntiLagStageAMD);
impl_to_sys!(AntiLagStageAMD => sys::VkAntiLagStageAMD);
impl_enum!(AntiLagStageAMD => sys::VkAntiLagStageAMD);
impl AntiLagStageAMD {
/// `VK_ANTI_LAG_STAGE_INPUT_AMD` = `0`
pub const InputAmd: Self = Self(sys::VK_ANTI_LAG_STAGE_INPUT_AMD.0);
/// `VK_ANTI_LAG_STAGE_PRESENT_AMD` = `1`
pub const PresentAmd: Self = Self(sys::VK_ANTI_LAG_STAGE_PRESENT_AMD.0);
}
impl_enum_display!(AntiLagStageAMD = VkAntiLagStageAMD { InputAmd, PresentAmd });
/// `VkAttachmentDescriptionFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct AttachmentDescriptionFlags(pub i32);
flags!(AttachmentDescriptionFlags);
from_into_transparent!(AttachmentDescriptionFlags : i32);
from_by_transmute!(AttachmentDescriptionFlags => sys::VkAttachmentDescriptionFlags);
from_by_transmute!(sys::VkAttachmentDescriptionFlags => AttachmentDescriptionFlags);
impl_to_sys!(AttachmentDescriptionFlags => sys::VkAttachmentDescriptionFlags);
impl_enum!(AttachmentDescriptionFlags => sys::VkAttachmentDescriptionFlags);
impl AttachmentDescriptionFlags {
/// `VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT` = `1 << 0`
///
/// The attachment may alias physical memory of another attachment in the same render pass
pub const MayAlias: Self = Self(sys::VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT.0);
/// `VK_ATTACHMENT_DESCRIPTION_RESOLVE_SKIP_TRANSFER_FUNCTION_BIT_KHR` = `1 << 1`
pub const ResolveSkipTransferFunctionKhr: Self = Self(sys::VK_ATTACHMENT_DESCRIPTION_RESOLVE_SKIP_TRANSFER_FUNCTION_BIT_KHR.0);
/// `VK_ATTACHMENT_DESCRIPTION_RESOLVE_ENABLE_TRANSFER_FUNCTION_BIT_KHR` = `1 << 2`
pub const ResolveEnableTransferFunctionKhr: Self = Self(sys::VK_ATTACHMENT_DESCRIPTION_RESOLVE_ENABLE_TRANSFER_FUNCTION_BIT_KHR.0);
}
impl_flags_display!(AttachmentDescriptionFlags = VkAttachmentDescriptionFlags { MayAlias, ResolveSkipTransferFunctionKhr, ResolveEnableTransferFunctionKhr });
/// `VkAttachmentLoadOp`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct AttachmentLoadOp(pub i32);
from_into_transparent!(AttachmentLoadOp : i32);
from_by_transmute!(AttachmentLoadOp => sys::VkAttachmentLoadOp);
from_by_transmute!(sys::VkAttachmentLoadOp => AttachmentLoadOp);
impl_to_sys!(AttachmentLoadOp => sys::VkAttachmentLoadOp);
impl_enum!(AttachmentLoadOp => sys::VkAttachmentLoadOp);
impl AttachmentLoadOp {
/// `VK_ATTACHMENT_LOAD_OP_LOAD` = `0`
pub const Load: Self = Self(sys::VK_ATTACHMENT_LOAD_OP_LOAD.0);
/// `VK_ATTACHMENT_LOAD_OP_CLEAR` = `1`
pub const Clear: Self = Self(sys::VK_ATTACHMENT_LOAD_OP_CLEAR.0);
/// `VK_ATTACHMENT_LOAD_OP_DONT_CARE` = `2`
pub const DontCare: Self = Self(sys::VK_ATTACHMENT_LOAD_OP_DONT_CARE.0);
/// `VK_ATTACHMENT_LOAD_OP_NONE` = `1000400000`
pub const None: Self = Self(sys::VK_ATTACHMENT_LOAD_OP_NONE.0);
/// `VK_ATTACHMENT_LOAD_OP_NONE_EXT` = `VK_ATTACHMENT_LOAD_OP_NONE`
pub const NoneExt: Self = Self(sys::VK_ATTACHMENT_LOAD_OP_NONE_EXT.0);
/// `VK_ATTACHMENT_LOAD_OP_NONE_KHR` = `VK_ATTACHMENT_LOAD_OP_NONE`
pub const NoneKhr: Self = Self(sys::VK_ATTACHMENT_LOAD_OP_NONE_KHR.0);
}
impl_enum_display!(AttachmentLoadOp = VkAttachmentLoadOp { Load, Clear, DontCare, None, NoneExt, NoneKhr });
/// `VkAttachmentStoreOp`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct AttachmentStoreOp(pub i32);
from_into_transparent!(AttachmentStoreOp : i32);
from_by_transmute!(AttachmentStoreOp => sys::VkAttachmentStoreOp);
from_by_transmute!(sys::VkAttachmentStoreOp => AttachmentStoreOp);
impl_to_sys!(AttachmentStoreOp => sys::VkAttachmentStoreOp);
impl_enum!(AttachmentStoreOp => sys::VkAttachmentStoreOp);
impl AttachmentStoreOp {
/// `VK_ATTACHMENT_STORE_OP_STORE` = `0`
pub const Store: Self = Self(sys::VK_ATTACHMENT_STORE_OP_STORE.0);
/// `VK_ATTACHMENT_STORE_OP_DONT_CARE` = `1`
pub const DontCare: Self = Self(sys::VK_ATTACHMENT_STORE_OP_DONT_CARE.0);
/// `VK_ATTACHMENT_STORE_OP_NONE` = `1000301000`
pub const None: Self = Self(sys::VK_ATTACHMENT_STORE_OP_NONE.0);
/// `VK_ATTACHMENT_STORE_OP_NONE_KHR` = `VK_ATTACHMENT_STORE_OP_NONE`
pub const NoneKhr: Self = Self(sys::VK_ATTACHMENT_STORE_OP_NONE_KHR.0);
/// `VK_ATTACHMENT_STORE_OP_NONE_QCOM` = `VK_ATTACHMENT_STORE_OP_NONE`
pub const NoneQcom: Self = Self(sys::VK_ATTACHMENT_STORE_OP_NONE_QCOM.0);
/// `VK_ATTACHMENT_STORE_OP_NONE_EXT` = `VK_ATTACHMENT_STORE_OP_NONE`
pub const NoneExt: Self = Self(sys::VK_ATTACHMENT_STORE_OP_NONE_EXT.0);
}
impl_enum_display!(AttachmentStoreOp = VkAttachmentStoreOp { Store, DontCare, None, NoneKhr, NoneQcom, NoneExt });
/// `VkBlendFactor`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct BlendFactor(pub i32);
from_into_transparent!(BlendFactor : i32);
from_by_transmute!(BlendFactor => sys::VkBlendFactor);
from_by_transmute!(sys::VkBlendFactor => BlendFactor);
impl_to_sys!(BlendFactor => sys::VkBlendFactor);
impl_enum!(BlendFactor => sys::VkBlendFactor);
impl BlendFactor {
/// `VK_BLEND_FACTOR_ZERO` = `0`
pub const Zero: Self = Self(sys::VK_BLEND_FACTOR_ZERO.0);
/// `VK_BLEND_FACTOR_ONE` = `1`
pub const One: Self = Self(sys::VK_BLEND_FACTOR_ONE.0);
/// `VK_BLEND_FACTOR_SRC_COLOR` = `2`
pub const SrcColor: Self = Self(sys::VK_BLEND_FACTOR_SRC_COLOR.0);
/// `VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR` = `3`
pub const OneMinusSrcColor: Self = Self(sys::VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR.0);
/// `VK_BLEND_FACTOR_DST_COLOR` = `4`
pub const DstColor: Self = Self(sys::VK_BLEND_FACTOR_DST_COLOR.0);
/// `VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR` = `5`
pub const OneMinusDstColor: Self = Self(sys::VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR.0);
/// `VK_BLEND_FACTOR_SRC_ALPHA` = `6`
pub const SrcAlpha: Self = Self(sys::VK_BLEND_FACTOR_SRC_ALPHA.0);
/// `VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA` = `7`
pub const OneMinusSrcAlpha: Self = Self(sys::VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA.0);
/// `VK_BLEND_FACTOR_DST_ALPHA` = `8`
pub const DstAlpha: Self = Self(sys::VK_BLEND_FACTOR_DST_ALPHA.0);
/// `VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA` = `9`
pub const OneMinusDstAlpha: Self = Self(sys::VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA.0);
/// `VK_BLEND_FACTOR_CONSTANT_COLOR` = `10`
pub const ConstantColor: Self = Self(sys::VK_BLEND_FACTOR_CONSTANT_COLOR.0);
/// `VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR` = `11`
pub const OneMinusConstantColor: Self = Self(sys::VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR.0);
/// `VK_BLEND_FACTOR_CONSTANT_ALPHA` = `12`
pub const ConstantAlpha: Self = Self(sys::VK_BLEND_FACTOR_CONSTANT_ALPHA.0);
/// `VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA` = `13`
pub const OneMinusConstantAlpha: Self = Self(sys::VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA.0);
/// `VK_BLEND_FACTOR_SRC_ALPHA_SATURATE` = `14`
pub const SrcAlphaSaturate: Self = Self(sys::VK_BLEND_FACTOR_SRC_ALPHA_SATURATE.0);
/// `VK_BLEND_FACTOR_SRC1_COLOR` = `15`
pub const Src1Color: Self = Self(sys::VK_BLEND_FACTOR_SRC1_COLOR.0);
/// `VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR` = `16`
pub const OneMinusSrc1Color: Self = Self(sys::VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR.0);
/// `VK_BLEND_FACTOR_SRC1_ALPHA` = `17`
pub const Src1Alpha: Self = Self(sys::VK_BLEND_FACTOR_SRC1_ALPHA.0);
/// `VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA` = `18`
pub const OneMinusSrc1Alpha: Self = Self(sys::VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA.0);
}
impl_enum_display!(BlendFactor = VkBlendFactor { Zero, One, SrcColor, OneMinusSrcColor, DstColor, OneMinusDstColor, SrcAlpha, OneMinusSrcAlpha, DstAlpha, OneMinusDstAlpha, ConstantColor, OneMinusConstantColor, ConstantAlpha, OneMinusConstantAlpha, SrcAlphaSaturate, Src1Color, OneMinusSrc1Color, Src1Alpha, OneMinusSrc1Alpha });
/// `VkBlendOp`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct BlendOp(pub i32);
from_into_transparent!(BlendOp : i32);
from_by_transmute!(BlendOp => sys::VkBlendOp);
from_by_transmute!(sys::VkBlendOp => BlendOp);
impl_to_sys!(BlendOp => sys::VkBlendOp);
impl_enum!(BlendOp => sys::VkBlendOp);
impl BlendOp {
/// `VK_BLEND_OP_ADD` = `0`
pub const Add: Self = Self(sys::VK_BLEND_OP_ADD.0);
/// `VK_BLEND_OP_SUBTRACT` = `1`
pub const Subtract: Self = Self(sys::VK_BLEND_OP_SUBTRACT.0);
/// `VK_BLEND_OP_REVERSE_SUBTRACT` = `2`
pub const ReverseSubtract: Self = Self(sys::VK_BLEND_OP_REVERSE_SUBTRACT.0);
/// `VK_BLEND_OP_MIN` = `3`
pub const Min: Self = Self(sys::VK_BLEND_OP_MIN.0);
/// `VK_BLEND_OP_MAX` = `4`
pub const Max: Self = Self(sys::VK_BLEND_OP_MAX.0);
/// `VK_BLEND_OP_ZERO_EXT` = `1000148000`
pub const ZeroExt: Self = Self(sys::VK_BLEND_OP_ZERO_EXT.0);
/// `VK_BLEND_OP_SRC_EXT` = `1000148001`
pub const SrcExt: Self = Self(sys::VK_BLEND_OP_SRC_EXT.0);
/// `VK_BLEND_OP_DST_EXT` = `1000148002`
pub const DstExt: Self = Self(sys::VK_BLEND_OP_DST_EXT.0);
/// `VK_BLEND_OP_SRC_OVER_EXT` = `1000148003`
pub const SrcOverExt: Self = Self(sys::VK_BLEND_OP_SRC_OVER_EXT.0);
/// `VK_BLEND_OP_DST_OVER_EXT` = `1000148004`
pub const DstOverExt: Self = Self(sys::VK_BLEND_OP_DST_OVER_EXT.0);
/// `VK_BLEND_OP_SRC_IN_EXT` = `1000148005`
pub const SrcInExt: Self = Self(sys::VK_BLEND_OP_SRC_IN_EXT.0);
/// `VK_BLEND_OP_DST_IN_EXT` = `1000148006`
pub const DstInExt: Self = Self(sys::VK_BLEND_OP_DST_IN_EXT.0);
/// `VK_BLEND_OP_SRC_OUT_EXT` = `1000148007`
pub const SrcOutExt: Self = Self(sys::VK_BLEND_OP_SRC_OUT_EXT.0);
/// `VK_BLEND_OP_DST_OUT_EXT` = `1000148008`
pub const DstOutExt: Self = Self(sys::VK_BLEND_OP_DST_OUT_EXT.0);
/// `VK_BLEND_OP_SRC_ATOP_EXT` = `1000148009`
pub const SrcAtopExt: Self = Self(sys::VK_BLEND_OP_SRC_ATOP_EXT.0);
/// `VK_BLEND_OP_DST_ATOP_EXT` = `1000148010`
pub const DstAtopExt: Self = Self(sys::VK_BLEND_OP_DST_ATOP_EXT.0);
/// `VK_BLEND_OP_XOR_EXT` = `1000148011`
pub const XorExt: Self = Self(sys::VK_BLEND_OP_XOR_EXT.0);
/// `VK_BLEND_OP_MULTIPLY_EXT` = `1000148012`
pub const MultiplyExt: Self = Self(sys::VK_BLEND_OP_MULTIPLY_EXT.0);
/// `VK_BLEND_OP_SCREEN_EXT` = `1000148013`
pub const ScreenExt: Self = Self(sys::VK_BLEND_OP_SCREEN_EXT.0);
/// `VK_BLEND_OP_OVERLAY_EXT` = `1000148014`
pub const OverlayExt: Self = Self(sys::VK_BLEND_OP_OVERLAY_EXT.0);
/// `VK_BLEND_OP_DARKEN_EXT` = `1000148015`
pub const DarkenExt: Self = Self(sys::VK_BLEND_OP_DARKEN_EXT.0);
/// `VK_BLEND_OP_LIGHTEN_EXT` = `1000148016`
pub const LightenExt: Self = Self(sys::VK_BLEND_OP_LIGHTEN_EXT.0);
/// `VK_BLEND_OP_COLORDODGE_EXT` = `1000148017`
pub const ColordodgeExt: Self = Self(sys::VK_BLEND_OP_COLORDODGE_EXT.0);
/// `VK_BLEND_OP_COLORBURN_EXT` = `1000148018`
pub const ColorburnExt: Self = Self(sys::VK_BLEND_OP_COLORBURN_EXT.0);
/// `VK_BLEND_OP_HARDLIGHT_EXT` = `1000148019`
pub const HardlightExt: Self = Self(sys::VK_BLEND_OP_HARDLIGHT_EXT.0);
/// `VK_BLEND_OP_SOFTLIGHT_EXT` = `1000148020`
pub const SoftlightExt: Self = Self(sys::VK_BLEND_OP_SOFTLIGHT_EXT.0);
/// `VK_BLEND_OP_DIFFERENCE_EXT` = `1000148021`
pub const DifferenceExt: Self = Self(sys::VK_BLEND_OP_DIFFERENCE_EXT.0);
/// `VK_BLEND_OP_EXCLUSION_EXT` = `1000148022`
pub const ExclusionExt: Self = Self(sys::VK_BLEND_OP_EXCLUSION_EXT.0);
/// `VK_BLEND_OP_INVERT_EXT` = `1000148023`
pub const InvertExt: Self = Self(sys::VK_BLEND_OP_INVERT_EXT.0);
/// `VK_BLEND_OP_INVERT_RGB_EXT` = `1000148024`
pub const InvertRgbExt: Self = Self(sys::VK_BLEND_OP_INVERT_RGB_EXT.0);
/// `VK_BLEND_OP_LINEARDODGE_EXT` = `1000148025`
pub const LineardodgeExt: Self = Self(sys::VK_BLEND_OP_LINEARDODGE_EXT.0);
/// `VK_BLEND_OP_LINEARBURN_EXT` = `1000148026`
pub const LinearburnExt: Self = Self(sys::VK_BLEND_OP_LINEARBURN_EXT.0);
/// `VK_BLEND_OP_VIVIDLIGHT_EXT` = `1000148027`
pub const VividlightExt: Self = Self(sys::VK_BLEND_OP_VIVIDLIGHT_EXT.0);
/// `VK_BLEND_OP_LINEARLIGHT_EXT` = `1000148028`
pub const LinearlightExt: Self = Self(sys::VK_BLEND_OP_LINEARLIGHT_EXT.0);
/// `VK_BLEND_OP_PINLIGHT_EXT` = `1000148029`
pub const PinlightExt: Self = Self(sys::VK_BLEND_OP_PINLIGHT_EXT.0);
/// `VK_BLEND_OP_HARDMIX_EXT` = `1000148030`
pub const HardmixExt: Self = Self(sys::VK_BLEND_OP_HARDMIX_EXT.0);
/// `VK_BLEND_OP_HSL_HUE_EXT` = `1000148031`
pub const HslHueExt: Self = Self(sys::VK_BLEND_OP_HSL_HUE_EXT.0);
/// `VK_BLEND_OP_HSL_SATURATION_EXT` = `1000148032`
pub const HslSaturationExt: Self = Self(sys::VK_BLEND_OP_HSL_SATURATION_EXT.0);
/// `VK_BLEND_OP_HSL_COLOR_EXT` = `1000148033`
pub const HslColorExt: Self = Self(sys::VK_BLEND_OP_HSL_COLOR_EXT.0);
/// `VK_BLEND_OP_HSL_LUMINOSITY_EXT` = `1000148034`
pub const HslLuminosityExt: Self = Self(sys::VK_BLEND_OP_HSL_LUMINOSITY_EXT.0);
/// `VK_BLEND_OP_PLUS_EXT` = `1000148035`
pub const PlusExt: Self = Self(sys::VK_BLEND_OP_PLUS_EXT.0);
/// `VK_BLEND_OP_PLUS_CLAMPED_EXT` = `1000148036`
pub const PlusClampedExt: Self = Self(sys::VK_BLEND_OP_PLUS_CLAMPED_EXT.0);
/// `VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT` = `1000148037`
pub const PlusClampedAlphaExt: Self = Self(sys::VK_BLEND_OP_PLUS_CLAMPED_ALPHA_EXT.0);
/// `VK_BLEND_OP_PLUS_DARKER_EXT` = `1000148038`
pub const PlusDarkerExt: Self = Self(sys::VK_BLEND_OP_PLUS_DARKER_EXT.0);
/// `VK_BLEND_OP_MINUS_EXT` = `1000148039`
pub const MinusExt: Self = Self(sys::VK_BLEND_OP_MINUS_EXT.0);
/// `VK_BLEND_OP_MINUS_CLAMPED_EXT` = `1000148040`
pub const MinusClampedExt: Self = Self(sys::VK_BLEND_OP_MINUS_CLAMPED_EXT.0);
/// `VK_BLEND_OP_CONTRAST_EXT` = `1000148041`
pub const ContrastExt: Self = Self(sys::VK_BLEND_OP_CONTRAST_EXT.0);
/// `VK_BLEND_OP_INVERT_OVG_EXT` = `1000148042`
pub const InvertOvgExt: Self = Self(sys::VK_BLEND_OP_INVERT_OVG_EXT.0);
/// `VK_BLEND_OP_RED_EXT` = `1000148043`
pub const RedExt: Self = Self(sys::VK_BLEND_OP_RED_EXT.0);
/// `VK_BLEND_OP_GREEN_EXT` = `1000148044`
pub const GreenExt: Self = Self(sys::VK_BLEND_OP_GREEN_EXT.0);
/// `VK_BLEND_OP_BLUE_EXT` = `1000148045`
pub const BlueExt: Self = Self(sys::VK_BLEND_OP_BLUE_EXT.0);
}
impl_enum_display!(BlendOp = VkBlendOp { Add, Subtract, ReverseSubtract, Min, Max, ZeroExt, SrcExt, DstExt, SrcOverExt, DstOverExt, SrcInExt, DstInExt, SrcOutExt, DstOutExt, SrcAtopExt, DstAtopExt, XorExt, MultiplyExt, ScreenExt, OverlayExt, DarkenExt, LightenExt, ColordodgeExt, ColorburnExt, HardlightExt, SoftlightExt, DifferenceExt, ExclusionExt, InvertExt, InvertRgbExt, LineardodgeExt, LinearburnExt, VividlightExt, LinearlightExt, PinlightExt, HardmixExt, HslHueExt, HslSaturationExt, HslColorExt, HslLuminosityExt, PlusExt, PlusClampedExt, PlusClampedAlphaExt, PlusDarkerExt, MinusExt, MinusClampedExt, ContrastExt, InvertOvgExt, RedExt, GreenExt, BlueExt });
/// `VkBlendOverlapEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct BlendOverlapEXT(pub i32);
from_into_transparent!(BlendOverlapEXT : i32);
from_by_transmute!(BlendOverlapEXT => sys::VkBlendOverlapEXT);
from_by_transmute!(sys::VkBlendOverlapEXT => BlendOverlapEXT);
impl_to_sys!(BlendOverlapEXT => sys::VkBlendOverlapEXT);
impl_enum!(BlendOverlapEXT => sys::VkBlendOverlapEXT);
impl BlendOverlapEXT {
/// `VK_BLEND_OVERLAP_UNCORRELATED_EXT` = `0`
pub const UncorrelatedExt: Self = Self(sys::VK_BLEND_OVERLAP_UNCORRELATED_EXT.0);
/// `VK_BLEND_OVERLAP_DISJOINT_EXT` = `1`
pub const DisjointExt: Self = Self(sys::VK_BLEND_OVERLAP_DISJOINT_EXT.0);
/// `VK_BLEND_OVERLAP_CONJOINT_EXT` = `2`
pub const ConjointExt: Self = Self(sys::VK_BLEND_OVERLAP_CONJOINT_EXT.0);
}
impl_enum_display!(BlendOverlapEXT = VkBlendOverlapEXT { UncorrelatedExt, DisjointExt, ConjointExt });
/// `VkBlockMatchWindowCompareModeQCOM`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct BlockMatchWindowCompareModeQCOM(pub i32);
from_into_transparent!(BlockMatchWindowCompareModeQCOM : i32);
from_by_transmute!(BlockMatchWindowCompareModeQCOM => sys::VkBlockMatchWindowCompareModeQCOM);
from_by_transmute!(sys::VkBlockMatchWindowCompareModeQCOM => BlockMatchWindowCompareModeQCOM);
impl_to_sys!(BlockMatchWindowCompareModeQCOM => sys::VkBlockMatchWindowCompareModeQCOM);
impl_enum!(BlockMatchWindowCompareModeQCOM => sys::VkBlockMatchWindowCompareModeQCOM);
impl BlockMatchWindowCompareModeQCOM {
/// `VK_BLOCK_MATCH_WINDOW_COMPARE_MODE_MIN_QCOM` = `0`
pub const MinQcom: Self = Self(sys::VK_BLOCK_MATCH_WINDOW_COMPARE_MODE_MIN_QCOM.0);
/// `VK_BLOCK_MATCH_WINDOW_COMPARE_MODE_MAX_QCOM` = `1`
pub const MaxQcom: Self = Self(sys::VK_BLOCK_MATCH_WINDOW_COMPARE_MODE_MAX_QCOM.0);
}
impl_enum_display!(BlockMatchWindowCompareModeQCOM = VkBlockMatchWindowCompareModeQCOM { MinQcom, MaxQcom });
/// `VkBorderColor`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct BorderColor(pub i32);
from_into_transparent!(BorderColor : i32);
from_by_transmute!(BorderColor => sys::VkBorderColor);
from_by_transmute!(sys::VkBorderColor => BorderColor);
impl_to_sys!(BorderColor => sys::VkBorderColor);
impl_enum!(BorderColor => sys::VkBorderColor);
impl BorderColor {
/// `VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK` = `0`
pub const FloatTransparentBlack: Self = Self(sys::VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK.0);
/// `VK_BORDER_COLOR_INT_TRANSPARENT_BLACK` = `1`
pub const IntTransparentBlack: Self = Self(sys::VK_BORDER_COLOR_INT_TRANSPARENT_BLACK.0);
/// `VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK` = `2`
pub const FloatOpaqueBlack: Self = Self(sys::VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK.0);
/// `VK_BORDER_COLOR_INT_OPAQUE_BLACK` = `3`
pub const IntOpaqueBlack: Self = Self(sys::VK_BORDER_COLOR_INT_OPAQUE_BLACK.0);
/// `VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE` = `4`
pub const FloatOpaqueWhite: Self = Self(sys::VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE.0);
/// `VK_BORDER_COLOR_INT_OPAQUE_WHITE` = `5`
pub const IntOpaqueWhite: Self = Self(sys::VK_BORDER_COLOR_INT_OPAQUE_WHITE.0);
/// `VK_BORDER_COLOR_FLOAT_CUSTOM_EXT` = `1000287003`
pub const FloatCustomExt: Self = Self(sys::VK_BORDER_COLOR_FLOAT_CUSTOM_EXT.0);
/// `VK_BORDER_COLOR_INT_CUSTOM_EXT` = `1000287004`
pub const IntCustomExt: Self = Self(sys::VK_BORDER_COLOR_INT_CUSTOM_EXT.0);
}
impl_enum_display!(BorderColor = VkBorderColor { FloatTransparentBlack, IntTransparentBlack, FloatOpaqueBlack, IntOpaqueBlack, FloatOpaqueWhite, IntOpaqueWhite, FloatCustomExt, IntCustomExt });
/// `VkBufferCreateFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct BufferCreateFlags(pub i32);
flags!(BufferCreateFlags);
from_into_transparent!(BufferCreateFlags : i32);
from_by_transmute!(BufferCreateFlags => sys::VkBufferCreateFlags);
from_by_transmute!(sys::VkBufferCreateFlags => BufferCreateFlags);
impl_to_sys!(BufferCreateFlags => sys::VkBufferCreateFlags);
impl_enum!(BufferCreateFlags => sys::VkBufferCreateFlags);
impl BufferCreateFlags {
/// `VK_BUFFER_CREATE_SPARSE_BINDING_BIT` = `1 << 0`
///
/// Buffer should support sparse backing
pub const SparseBinding: Self = Self(sys::VK_BUFFER_CREATE_SPARSE_BINDING_BIT.0);
/// `VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT` = `1 << 1`
///
/// Buffer should support sparse backing with partial residency
pub const SparseResidency: Self = Self(sys::VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT.0);
/// `VK_BUFFER_CREATE_SPARSE_ALIASED_BIT` = `1 << 2`
///
/// Buffer should support constant data access to physical memory ranges mapped into multiple locations of sparse buffers
pub const SparseAliased: Self = Self(sys::VK_BUFFER_CREATE_SPARSE_ALIASED_BIT.0);
/// `VK_BUFFER_CREATE_PROTECTED_BIT` = `1 << 3`
///
/// Buffer requires protected memory
pub const Protected: Self = Self(sys::VK_BUFFER_CREATE_PROTECTED_BIT.0);
/// `VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT` = `1 << 4`
pub const DeviceAddressCaptureReplay: Self = Self(sys::VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT.0);
/// `VK_BUFFER_CREATE_RESERVED_7_BIT_IMG` = `1 << 7`
pub const Reserved7Img: Self = Self(sys::VK_BUFFER_CREATE_RESERVED_7_BIT_IMG.0);
/// `VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT` = `VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT`
pub const DeviceAddressCaptureReplayExt: Self = Self(sys::VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT.0);
/// `VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR` = `VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT`
pub const DeviceAddressCaptureReplayKhr: Self = Self(sys::VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR.0);
/// `VK_BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT` = `1 << 5`
pub const DescriptorBufferCaptureReplayExt: Self = Self(sys::VK_BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT.0);
/// `VK_BUFFER_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR` = `1 << 6`
pub const VideoProfileIndependentKhr: Self = Self(sys::VK_BUFFER_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR.0);
}
impl_flags_display!(BufferCreateFlags = VkBufferCreateFlags { SparseBinding, SparseResidency, SparseAliased, Protected, DeviceAddressCaptureReplay, Reserved7Img, DeviceAddressCaptureReplayExt, DeviceAddressCaptureReplayKhr, DescriptorBufferCaptureReplayExt, VideoProfileIndependentKhr });
/// `VkBufferUsageFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct BufferUsageFlags(pub i32);
flags!(BufferUsageFlags);
from_into_transparent!(BufferUsageFlags : i32);
from_by_transmute!(BufferUsageFlags => sys::VkBufferUsageFlags);
from_by_transmute!(sys::VkBufferUsageFlags => BufferUsageFlags);
impl_to_sys!(BufferUsageFlags => sys::VkBufferUsageFlags);
impl_enum!(BufferUsageFlags => sys::VkBufferUsageFlags);
impl BufferUsageFlags {
/// `VK_BUFFER_USAGE_TRANSFER_SRC_BIT` = `1 << 0`
///
/// Can be used as a source of transfer operations
pub const TransferSrc: Self = Self(sys::VK_BUFFER_USAGE_TRANSFER_SRC_BIT.0);
/// `VK_BUFFER_USAGE_TRANSFER_DST_BIT` = `1 << 1`
///
/// Can be used as a destination of transfer operations
pub const TransferDst: Self = Self(sys::VK_BUFFER_USAGE_TRANSFER_DST_BIT.0);
/// `VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT` = `1 << 2`
///
/// Can be used as TBO
pub const UniformTexelBuffer: Self = Self(sys::VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT.0);
/// `VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT` = `1 << 3`
///
/// Can be used as IBO
pub const StorageTexelBuffer: Self = Self(sys::VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT.0);
/// `VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT` = `1 << 4`
///
/// Can be used as UBO
pub const UniformBuffer: Self = Self(sys::VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT.0);
/// `VK_BUFFER_USAGE_STORAGE_BUFFER_BIT` = `1 << 5`
///
/// Can be used as SSBO
pub const StorageBuffer: Self = Self(sys::VK_BUFFER_USAGE_STORAGE_BUFFER_BIT.0);
/// `VK_BUFFER_USAGE_INDEX_BUFFER_BIT` = `1 << 6`
///
/// Can be used as source of fixed-function index fetch (index buffer)
pub const IndexBuffer: Self = Self(sys::VK_BUFFER_USAGE_INDEX_BUFFER_BIT.0);
/// `VK_BUFFER_USAGE_VERTEX_BUFFER_BIT` = `1 << 7`
///
/// Can be used as source of fixed-function vertex fetch (VBO)
pub const VertexBuffer: Self = Self(sys::VK_BUFFER_USAGE_VERTEX_BUFFER_BIT.0);
/// `VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT` = `1 << 8`
///
/// Can be the source of indirect parameters (e.g. indirect buffer, parameter buffer)
pub const IndirectBuffer: Self = Self(sys::VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT.0);
/// `VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT` = `1 << 17`
pub const ShaderDeviceAddress: Self = Self(sys::VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT.0);
/// `VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR` = `1 << 13`
pub const VideoDecodeSrcKhr: Self = Self(sys::VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR.0);
/// `VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR` = `1 << 14`
pub const VideoDecodeDstKhr: Self = Self(sys::VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR.0);
/// `VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT` = `1 << 11`
pub const TransformFeedbackBufferExt: Self = Self(sys::VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT.0);
/// `VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT` = `1 << 12`
pub const TransformFeedbackCounterBufferExt: Self = Self(sys::VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT.0);
/// `VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT` = `1 << 9`
///
/// Specifies the buffer can be used as predicate in conditional rendering
pub const ConditionalRenderingExt: Self = Self(sys::VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT.0);
/// `VK_BUFFER_USAGE_EXECUTION_GRAPH_SCRATCH_BIT_AMDX` = `1 << 25`
pub const ExecutionGraphScratchAmdx: Self = Self(sys::VK_BUFFER_USAGE_EXECUTION_GRAPH_SCRATCH_BIT_AMDX.0);
/// `VK_BUFFER_USAGE_DESCRIPTOR_HEAP_BIT_EXT` = `1 << 28`
pub const DescriptorHeapExt: Self = Self(sys::VK_BUFFER_USAGE_DESCRIPTOR_HEAP_BIT_EXT.0);
/// `VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR` = `1 << 19`
pub const AccelerationStructureBuildInputReadOnlyKhr: Self = Self(sys::VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR.0);
/// `VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR` = `1 << 20`
pub const AccelerationStructureStorageKhr: Self = Self(sys::VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR.0);
/// `VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR` = `1 << 10`
pub const ShaderBindingTableKhr: Self = Self(sys::VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR.0);
/// `VK_BUFFER_USAGE_RAY_TRACING_BIT_NV` = `VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR`
pub const RayTracingNv: Self = Self(sys::VK_BUFFER_USAGE_RAY_TRACING_BIT_NV.0);
/// `VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT` = `VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT`
pub const ShaderDeviceAddressExt: Self = Self(sys::VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT.0);
/// `VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR` = `VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT`
pub const ShaderDeviceAddressKhr: Self = Self(sys::VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR.0);
/// `VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR` = `1 << 15`
pub const VideoEncodeDstKhr: Self = Self(sys::VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR.0);
/// `VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR` = `1 << 16`
pub const VideoEncodeSrcKhr: Self = Self(sys::VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR.0);
/// `VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT` = `1 << 21`
pub const SamplerDescriptorBufferExt: Self = Self(sys::VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT.0);
/// `VK_BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT` = `1 << 22`
pub const ResourceDescriptorBufferExt: Self = Self(sys::VK_BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT.0);
/// `VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT` = `1 << 26`
pub const PushDescriptorsDescriptorBufferExt: Self = Self(sys::VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT.0);
/// `VK_BUFFER_USAGE_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT` = `1 << 23`
pub const MicromapBuildInputReadOnlyExt: Self = Self(sys::VK_BUFFER_USAGE_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT.0);
/// `VK_BUFFER_USAGE_MICROMAP_STORAGE_BIT_EXT` = `1 << 24`
pub const MicromapStorageExt: Self = Self(sys::VK_BUFFER_USAGE_MICROMAP_STORAGE_BIT_EXT.0);
/// `VK_BUFFER_USAGE_TILE_MEMORY_BIT_QCOM` = `1 << 27`
pub const TileMemoryQcom: Self = Self(sys::VK_BUFFER_USAGE_TILE_MEMORY_BIT_QCOM.0);
}
impl_flags_display!(BufferUsageFlags = VkBufferUsageFlags { TransferSrc, TransferDst, UniformTexelBuffer, StorageTexelBuffer, UniformBuffer, StorageBuffer, IndexBuffer, VertexBuffer, IndirectBuffer, ShaderDeviceAddress, VideoDecodeSrcKhr, VideoDecodeDstKhr, TransformFeedbackBufferExt, TransformFeedbackCounterBufferExt, ConditionalRenderingExt, ExecutionGraphScratchAmdx, DescriptorHeapExt, AccelerationStructureBuildInputReadOnlyKhr, AccelerationStructureStorageKhr, ShaderBindingTableKhr, RayTracingNv, ShaderDeviceAddressExt, ShaderDeviceAddressKhr, VideoEncodeDstKhr, VideoEncodeSrcKhr, SamplerDescriptorBufferExt, ResourceDescriptorBufferExt, PushDescriptorsDescriptorBufferExt, MicromapBuildInputReadOnlyExt, MicromapStorageExt, TileMemoryQcom });
/// `VkBufferUsageFlags2`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct BufferUsageFlags2(pub i64);
flags!(BufferUsageFlags2);
from_into_transparent!(BufferUsageFlags2 : i64);
from_by_transmute!(BufferUsageFlags2 => sys::VkBufferUsageFlags2);
from_by_transmute!(sys::VkBufferUsageFlags2 => BufferUsageFlags2);
impl_to_sys!(BufferUsageFlags2 => sys::VkBufferUsageFlags2);
impl_enum!(BufferUsageFlags2 => sys::VkBufferUsageFlags2);
impl BufferUsageFlags2 {
/// `VK_BUFFER_USAGE_2_TRANSFER_SRC_BIT` = `1 << 0`
pub const TransferSrc: Self = Self(sys::VK_BUFFER_USAGE_2_TRANSFER_SRC_BIT.0);
/// `VK_BUFFER_USAGE_2_TRANSFER_DST_BIT` = `1 << 1`
pub const TransferDst: Self = Self(sys::VK_BUFFER_USAGE_2_TRANSFER_DST_BIT.0);
/// `VK_BUFFER_USAGE_2_UNIFORM_TEXEL_BUFFER_BIT` = `1 << 2`
pub const UniformTexelBuffer: Self = Self(sys::VK_BUFFER_USAGE_2_UNIFORM_TEXEL_BUFFER_BIT.0);
/// `VK_BUFFER_USAGE_2_STORAGE_TEXEL_BUFFER_BIT` = `1 << 3`
pub const StorageTexelBuffer: Self = Self(sys::VK_BUFFER_USAGE_2_STORAGE_TEXEL_BUFFER_BIT.0);
/// `VK_BUFFER_USAGE_2_UNIFORM_BUFFER_BIT` = `1 << 4`
pub const UniformBuffer: Self = Self(sys::VK_BUFFER_USAGE_2_UNIFORM_BUFFER_BIT.0);
/// `VK_BUFFER_USAGE_2_STORAGE_BUFFER_BIT` = `1 << 5`
pub const StorageBuffer: Self = Self(sys::VK_BUFFER_USAGE_2_STORAGE_BUFFER_BIT.0);
/// `VK_BUFFER_USAGE_2_INDEX_BUFFER_BIT` = `1 << 6`
pub const IndexBuffer: Self = Self(sys::VK_BUFFER_USAGE_2_INDEX_BUFFER_BIT.0);
/// `VK_BUFFER_USAGE_2_VERTEX_BUFFER_BIT` = `1 << 7`
pub const VertexBuffer: Self = Self(sys::VK_BUFFER_USAGE_2_VERTEX_BUFFER_BIT.0);
/// `VK_BUFFER_USAGE_2_INDIRECT_BUFFER_BIT` = `1 << 8`
pub const IndirectBuffer: Self = Self(sys::VK_BUFFER_USAGE_2_INDIRECT_BUFFER_BIT.0);
/// `VK_BUFFER_USAGE_2_SHADER_DEVICE_ADDRESS_BIT` = `1 << 17`
pub const ShaderDeviceAddress: Self = Self(sys::VK_BUFFER_USAGE_2_SHADER_DEVICE_ADDRESS_BIT.0);
/// `VK_BUFFER_USAGE_2_EXECUTION_GRAPH_SCRATCH_BIT_AMDX` = `1 << 25`
pub const ExecutionGraphScratchAmdx: Self = Self(sys::VK_BUFFER_USAGE_2_EXECUTION_GRAPH_SCRATCH_BIT_AMDX.0);
/// `VK_BUFFER_USAGE_2_DESCRIPTOR_HEAP_BIT_EXT` = `1 << 28`
pub const DescriptorHeapExt: Self = Self(sys::VK_BUFFER_USAGE_2_DESCRIPTOR_HEAP_BIT_EXT.0);
/// `VK_BUFFER_USAGE_2_TRANSFER_SRC_BIT_KHR` = `VK_BUFFER_USAGE_2_TRANSFER_SRC_BIT`
pub const TransferSrcKhr: Self = Self(sys::VK_BUFFER_USAGE_2_TRANSFER_SRC_BIT_KHR.0);
/// `VK_BUFFER_USAGE_2_TRANSFER_DST_BIT_KHR` = `VK_BUFFER_USAGE_2_TRANSFER_DST_BIT`
pub const TransferDstKhr: Self = Self(sys::VK_BUFFER_USAGE_2_TRANSFER_DST_BIT_KHR.0);
/// `VK_BUFFER_USAGE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR` = `VK_BUFFER_USAGE_2_UNIFORM_TEXEL_BUFFER_BIT`
pub const UniformTexelBufferKhr: Self = Self(sys::VK_BUFFER_USAGE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR.0);
/// `VK_BUFFER_USAGE_2_STORAGE_TEXEL_BUFFER_BIT_KHR` = `VK_BUFFER_USAGE_2_STORAGE_TEXEL_BUFFER_BIT`
pub const StorageTexelBufferKhr: Self = Self(sys::VK_BUFFER_USAGE_2_STORAGE_TEXEL_BUFFER_BIT_KHR.0);
/// `VK_BUFFER_USAGE_2_UNIFORM_BUFFER_BIT_KHR` = `VK_BUFFER_USAGE_2_UNIFORM_BUFFER_BIT`
pub const UniformBufferKhr: Self = Self(sys::VK_BUFFER_USAGE_2_UNIFORM_BUFFER_BIT_KHR.0);
/// `VK_BUFFER_USAGE_2_STORAGE_BUFFER_BIT_KHR` = `VK_BUFFER_USAGE_2_STORAGE_BUFFER_BIT`
pub const StorageBufferKhr: Self = Self(sys::VK_BUFFER_USAGE_2_STORAGE_BUFFER_BIT_KHR.0);
/// `VK_BUFFER_USAGE_2_INDEX_BUFFER_BIT_KHR` = `VK_BUFFER_USAGE_2_INDEX_BUFFER_BIT`
pub const IndexBufferKhr: Self = Self(sys::VK_BUFFER_USAGE_2_INDEX_BUFFER_BIT_KHR.0);
/// `VK_BUFFER_USAGE_2_VERTEX_BUFFER_BIT_KHR` = `VK_BUFFER_USAGE_2_VERTEX_BUFFER_BIT`
pub const VertexBufferKhr: Self = Self(sys::VK_BUFFER_USAGE_2_VERTEX_BUFFER_BIT_KHR.0);
/// `VK_BUFFER_USAGE_2_INDIRECT_BUFFER_BIT_KHR` = `VK_BUFFER_USAGE_2_INDIRECT_BUFFER_BIT`
pub const IndirectBufferKhr: Self = Self(sys::VK_BUFFER_USAGE_2_INDIRECT_BUFFER_BIT_KHR.0);
/// `VK_BUFFER_USAGE_2_CONDITIONAL_RENDERING_BIT_EXT` = `1 << 9`
pub const ConditionalRenderingExt: Self = Self(sys::VK_BUFFER_USAGE_2_CONDITIONAL_RENDERING_BIT_EXT.0);
/// `VK_BUFFER_USAGE_2_SHADER_BINDING_TABLE_BIT_KHR` = `1 << 10`
pub const ShaderBindingTableKhr: Self = Self(sys::VK_BUFFER_USAGE_2_SHADER_BINDING_TABLE_BIT_KHR.0);
/// `VK_BUFFER_USAGE_2_RAY_TRACING_BIT_NV` = `VK_BUFFER_USAGE_2_SHADER_BINDING_TABLE_BIT_KHR`
pub const RayTracingNv: Self = Self(sys::VK_BUFFER_USAGE_2_RAY_TRACING_BIT_NV.0);
/// `VK_BUFFER_USAGE_2_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT` = `1 << 11`
pub const TransformFeedbackBufferExt: Self = Self(sys::VK_BUFFER_USAGE_2_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT.0);
/// `VK_BUFFER_USAGE_2_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT` = `1 << 12`
pub const TransformFeedbackCounterBufferExt: Self = Self(sys::VK_BUFFER_USAGE_2_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT.0);
/// `VK_BUFFER_USAGE_2_VIDEO_DECODE_SRC_BIT_KHR` = `1 << 13`
pub const VideoDecodeSrcKhr: Self = Self(sys::VK_BUFFER_USAGE_2_VIDEO_DECODE_SRC_BIT_KHR.0);
/// `VK_BUFFER_USAGE_2_VIDEO_DECODE_DST_BIT_KHR` = `1 << 14`
pub const VideoDecodeDstKhr: Self = Self(sys::VK_BUFFER_USAGE_2_VIDEO_DECODE_DST_BIT_KHR.0);
/// `VK_BUFFER_USAGE_2_VIDEO_ENCODE_DST_BIT_KHR` = `1 << 15`
pub const VideoEncodeDstKhr: Self = Self(sys::VK_BUFFER_USAGE_2_VIDEO_ENCODE_DST_BIT_KHR.0);
/// `VK_BUFFER_USAGE_2_VIDEO_ENCODE_SRC_BIT_KHR` = `1 << 16`
pub const VideoEncodeSrcKhr: Self = Self(sys::VK_BUFFER_USAGE_2_VIDEO_ENCODE_SRC_BIT_KHR.0);
/// `VK_BUFFER_USAGE_2_SHADER_DEVICE_ADDRESS_BIT_KHR` = `VK_BUFFER_USAGE_2_SHADER_DEVICE_ADDRESS_BIT`
pub const ShaderDeviceAddressKhr: Self = Self(sys::VK_BUFFER_USAGE_2_SHADER_DEVICE_ADDRESS_BIT_KHR.0);
/// `VK_BUFFER_USAGE_2_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR` = `1 << 19`
pub const AccelerationStructureBuildInputReadOnlyKhr: Self = Self(sys::VK_BUFFER_USAGE_2_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR.0);
/// `VK_BUFFER_USAGE_2_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR` = `1 << 20`
pub const AccelerationStructureStorageKhr: Self = Self(sys::VK_BUFFER_USAGE_2_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR.0);
/// `VK_BUFFER_USAGE_2_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT` = `1 << 21`
pub const SamplerDescriptorBufferExt: Self = Self(sys::VK_BUFFER_USAGE_2_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT.0);
/// `VK_BUFFER_USAGE_2_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT` = `1 << 22`
pub const ResourceDescriptorBufferExt: Self = Self(sys::VK_BUFFER_USAGE_2_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT.0);
/// `VK_BUFFER_USAGE_2_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT` = `1 << 26`
pub const PushDescriptorsDescriptorBufferExt: Self = Self(sys::VK_BUFFER_USAGE_2_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT.0);
/// `VK_BUFFER_USAGE_2_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT` = `1 << 23`
pub const MicromapBuildInputReadOnlyExt: Self = Self(sys::VK_BUFFER_USAGE_2_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT.0);
/// `VK_BUFFER_USAGE_2_MICROMAP_STORAGE_BIT_EXT` = `1 << 24`
pub const MicromapStorageExt: Self = Self(sys::VK_BUFFER_USAGE_2_MICROMAP_STORAGE_BIT_EXT.0);
/// `VK_BUFFER_USAGE_2_COMPRESSED_DATA_DGF1_BIT_AMDX` = `1 << 33`
pub const CompressedDataDgf1Amdx: Self = Self(sys::VK_BUFFER_USAGE_2_COMPRESSED_DATA_DGF1_BIT_AMDX.0);
/// `VK_BUFFER_USAGE_2_DATA_GRAPH_FOREIGN_DESCRIPTOR_BIT_ARM` = `1 << 29`
pub const DataGraphForeignDescriptorArm: Self = Self(sys::VK_BUFFER_USAGE_2_DATA_GRAPH_FOREIGN_DESCRIPTOR_BIT_ARM.0);
/// `VK_BUFFER_USAGE_2_RESERVED_34_BIT_EXT` = `1 << 34`
pub const Reserved34Ext: Self = Self(sys::VK_BUFFER_USAGE_2_RESERVED_34_BIT_EXT.0);
/// `VK_BUFFER_USAGE_2_TILE_MEMORY_BIT_QCOM` = `1 << 27`
pub const TileMemoryQcom: Self = Self(sys::VK_BUFFER_USAGE_2_TILE_MEMORY_BIT_QCOM.0);
/// `VK_BUFFER_USAGE_2_MEMORY_DECOMPRESSION_BIT_EXT` = `1 << 32`
pub const MemoryDecompressionExt: Self = Self(sys::VK_BUFFER_USAGE_2_MEMORY_DECOMPRESSION_BIT_EXT.0);
/// `VK_BUFFER_USAGE_2_PREPROCESS_BUFFER_BIT_EXT` = `1 << 31`
pub const PreprocessBufferExt: Self = Self(sys::VK_BUFFER_USAGE_2_PREPROCESS_BUFFER_BIT_EXT.0);
/// `VK_BUFFER_USAGE_2_RESERVED_35_BIT_KHR` = `1 << 35`
pub const Reserved35Khr: Self = Self(sys::VK_BUFFER_USAGE_2_RESERVED_35_BIT_KHR.0);
/// `VK_BUFFER_USAGE_2_RESERVED_36_BIT_KHR` = `1 << 36`
pub const Reserved36Khr: Self = Self(sys::VK_BUFFER_USAGE_2_RESERVED_36_BIT_KHR.0);
/// `VK_BUFFER_USAGE_2_RESERVED_37_BIT_HUAWEI` = `1 << 37`
pub const Reserved37Huawei: Self = Self(sys::VK_BUFFER_USAGE_2_RESERVED_37_BIT_HUAWEI.0);
}
impl_flags_display!(BufferUsageFlags2 = VkBufferUsageFlags2 { TransferSrc, TransferDst, UniformTexelBuffer, StorageTexelBuffer, UniformBuffer, StorageBuffer, IndexBuffer, VertexBuffer, IndirectBuffer, ShaderDeviceAddress, ExecutionGraphScratchAmdx, DescriptorHeapExt, TransferSrcKhr, TransferDstKhr, UniformTexelBufferKhr, StorageTexelBufferKhr, UniformBufferKhr, StorageBufferKhr, IndexBufferKhr, VertexBufferKhr, IndirectBufferKhr, ConditionalRenderingExt, ShaderBindingTableKhr, RayTracingNv, TransformFeedbackBufferExt, TransformFeedbackCounterBufferExt, VideoDecodeSrcKhr, VideoDecodeDstKhr, VideoEncodeDstKhr, VideoEncodeSrcKhr, ShaderDeviceAddressKhr, AccelerationStructureBuildInputReadOnlyKhr, AccelerationStructureStorageKhr, SamplerDescriptorBufferExt, ResourceDescriptorBufferExt, PushDescriptorsDescriptorBufferExt, MicromapBuildInputReadOnlyExt, MicromapStorageExt, CompressedDataDgf1Amdx, DataGraphForeignDescriptorArm, Reserved34Ext, TileMemoryQcom, MemoryDecompressionExt, PreprocessBufferExt, Reserved35Khr, Reserved36Khr, Reserved37Huawei });
/// `VkBufferUsageFlags2KHR` = `VkBufferUsageFlags2`
pub type BufferUsageFlags2KHR = BufferUsageFlags2;
/// `VkBufferViewCreateFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct BufferViewCreateFlags(pub i32);
flags!(BufferViewCreateFlags);
from_into_transparent!(BufferViewCreateFlags : i32);
from_by_transmute!(BufferViewCreateFlags => sys::VkBufferViewCreateFlags);
from_by_transmute!(sys::VkBufferViewCreateFlags => BufferViewCreateFlags);
impl_to_sys!(BufferViewCreateFlags => sys::VkBufferViewCreateFlags);
impl_enum!(BufferViewCreateFlags => sys::VkBufferViewCreateFlags);
impl_flags_display!(BufferViewCreateFlags = VkBufferViewCreateFlags { });
/// `VkBuildAccelerationStructureFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct BuildAccelerationStructureFlagsKHR(pub i32);
flags!(BuildAccelerationStructureFlagsKHR);
from_into_transparent!(BuildAccelerationStructureFlagsKHR : i32);
from_by_transmute!(BuildAccelerationStructureFlagsKHR => sys::VkBuildAccelerationStructureFlagsKHR);
from_by_transmute!(sys::VkBuildAccelerationStructureFlagsKHR => BuildAccelerationStructureFlagsKHR);
impl_to_sys!(BuildAccelerationStructureFlagsKHR => sys::VkBuildAccelerationStructureFlagsKHR);
impl_enum!(BuildAccelerationStructureFlagsKHR => sys::VkBuildAccelerationStructureFlagsKHR);
impl BuildAccelerationStructureFlagsKHR {
/// `VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR` = `1 << 0`
pub const AllowUpdateKhr: Self = Self(sys::VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR.0);
/// `VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR` = `1 << 1`
pub const AllowCompactionKhr: Self = Self(sys::VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR.0);
/// `VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR` = `1 << 2`
pub const PreferFastTraceKhr: Self = Self(sys::VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR.0);
/// `VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR` = `1 << 3`
pub const PreferFastBuildKhr: Self = Self(sys::VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR.0);
/// `VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR` = `1 << 4`
pub const LowMemoryKhr: Self = Self(sys::VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR.0);
/// `VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV` = `VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR`
pub const AllowUpdateNv: Self = Self(sys::VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV.0);
/// `VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV` = `VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR`
pub const AllowCompactionNv: Self = Self(sys::VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV.0);
/// `VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV` = `VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR`
pub const PreferFastTraceNv: Self = Self(sys::VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV.0);
/// `VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV` = `VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR`
pub const PreferFastBuildNv: Self = Self(sys::VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV.0);
/// `VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV` = `VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR`
pub const LowMemoryNv: Self = Self(sys::VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_NV.0);
/// `VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV` = `1 << 5`
pub const MotionNv: Self = Self(sys::VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV.0);
/// `VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_BIT_EXT` = `1 << 6`
pub const AllowOpacityMicromapUpdateExt: Self = Self(sys::VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_BIT_EXT.0);
/// `VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_BIT_EXT` = `1 << 7`
pub const AllowDisableOpacityMicromapsExt: Self = Self(sys::VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_BIT_EXT.0);
/// `VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_DATA_UPDATE_BIT_EXT` = `1 << 8`
pub const AllowOpacityMicromapDataUpdateExt: Self = Self(sys::VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_DATA_UPDATE_BIT_EXT.0);
/// `VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISPLACEMENT_MICROMAP_UPDATE_BIT_NV` = `1 << 9`
pub const AllowDisplacementMicromapUpdateNv: Self = Self(sys::VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISPLACEMENT_MICROMAP_UPDATE_BIT_NV.0);
/// `VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DATA_ACCESS_BIT_KHR` = `1 << 11`
pub const AllowDataAccessKhr: Self = Self(sys::VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DATA_ACCESS_BIT_KHR.0);
/// `VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_CLUSTER_OPACITY_MICROMAPS_BIT_NV` = `1 << 12`
pub const AllowClusterOpacityMicromapsNv: Self = Self(sys::VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_CLUSTER_OPACITY_MICROMAPS_BIT_NV.0);
/// `VK_BUILD_ACCELERATION_STRUCTURE_RESERVED_10_BIT_KHR` = `1 << 10`
pub const Reserved10Khr: Self = Self(sys::VK_BUILD_ACCELERATION_STRUCTURE_RESERVED_10_BIT_KHR.0);
}
impl_flags_display!(BuildAccelerationStructureFlagsKHR = VkBuildAccelerationStructureFlagsKHR { AllowUpdateKhr, AllowCompactionKhr, PreferFastTraceKhr, PreferFastBuildKhr, LowMemoryKhr, AllowUpdateNv, AllowCompactionNv, PreferFastTraceNv, PreferFastBuildNv, LowMemoryNv, MotionNv, AllowOpacityMicromapUpdateExt, AllowDisableOpacityMicromapsExt, AllowOpacityMicromapDataUpdateExt, AllowDisplacementMicromapUpdateNv, AllowDataAccessKhr, AllowClusterOpacityMicromapsNv, Reserved10Khr });
/// `VkBuildAccelerationStructureFlagsNV` = `VkBuildAccelerationStructureFlagsKHR`
pub type BuildAccelerationStructureFlagsNV = BuildAccelerationStructureFlagsKHR;
/// `VkBuildAccelerationStructureModeKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct BuildAccelerationStructureModeKHR(pub i32);
from_into_transparent!(BuildAccelerationStructureModeKHR : i32);
from_by_transmute!(BuildAccelerationStructureModeKHR => sys::VkBuildAccelerationStructureModeKHR);
from_by_transmute!(sys::VkBuildAccelerationStructureModeKHR => BuildAccelerationStructureModeKHR);
impl_to_sys!(BuildAccelerationStructureModeKHR => sys::VkBuildAccelerationStructureModeKHR);
impl_enum!(BuildAccelerationStructureModeKHR => sys::VkBuildAccelerationStructureModeKHR);
impl BuildAccelerationStructureModeKHR {
/// `VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR` = `0`
pub const BuildKhr: Self = Self(sys::VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR.0);
/// `VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR` = `1`
pub const UpdateKhr: Self = Self(sys::VK_BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR.0);
}
impl_enum_display!(BuildAccelerationStructureModeKHR = VkBuildAccelerationStructureModeKHR { BuildKhr, UpdateKhr });
/// `VkBuildMicromapFlagsEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct BuildMicromapFlagsEXT(pub i32);
flags!(BuildMicromapFlagsEXT);
from_into_transparent!(BuildMicromapFlagsEXT : i32);
from_by_transmute!(BuildMicromapFlagsEXT => sys::VkBuildMicromapFlagsEXT);
from_by_transmute!(sys::VkBuildMicromapFlagsEXT => BuildMicromapFlagsEXT);
impl_to_sys!(BuildMicromapFlagsEXT => sys::VkBuildMicromapFlagsEXT);
impl_enum!(BuildMicromapFlagsEXT => sys::VkBuildMicromapFlagsEXT);
impl BuildMicromapFlagsEXT {
/// `VK_BUILD_MICROMAP_PREFER_FAST_TRACE_BIT_EXT` = `1 << 0`
pub const PreferFastTraceExt: Self = Self(sys::VK_BUILD_MICROMAP_PREFER_FAST_TRACE_BIT_EXT.0);
/// `VK_BUILD_MICROMAP_PREFER_FAST_BUILD_BIT_EXT` = `1 << 1`
pub const PreferFastBuildExt: Self = Self(sys::VK_BUILD_MICROMAP_PREFER_FAST_BUILD_BIT_EXT.0);
/// `VK_BUILD_MICROMAP_ALLOW_COMPACTION_BIT_EXT` = `1 << 2`
pub const AllowCompactionExt: Self = Self(sys::VK_BUILD_MICROMAP_ALLOW_COMPACTION_BIT_EXT.0);
}
impl_flags_display!(BuildMicromapFlagsEXT = VkBuildMicromapFlagsEXT { PreferFastTraceExt, PreferFastBuildExt, AllowCompactionExt });
/// `VkBuildMicromapModeEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct BuildMicromapModeEXT(pub i32);
from_into_transparent!(BuildMicromapModeEXT : i32);
from_by_transmute!(BuildMicromapModeEXT => sys::VkBuildMicromapModeEXT);
from_by_transmute!(sys::VkBuildMicromapModeEXT => BuildMicromapModeEXT);
impl_to_sys!(BuildMicromapModeEXT => sys::VkBuildMicromapModeEXT);
impl_enum!(BuildMicromapModeEXT => sys::VkBuildMicromapModeEXT);
impl BuildMicromapModeEXT {
/// `VK_BUILD_MICROMAP_MODE_BUILD_EXT` = `0`
pub const BuildExt: Self = Self(sys::VK_BUILD_MICROMAP_MODE_BUILD_EXT.0);
}
impl_enum_display!(BuildMicromapModeEXT = VkBuildMicromapModeEXT { BuildExt });
/// `VkChromaLocation`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ChromaLocation(pub i32);
from_into_transparent!(ChromaLocation : i32);
from_by_transmute!(ChromaLocation => sys::VkChromaLocation);
from_by_transmute!(sys::VkChromaLocation => ChromaLocation);
impl_to_sys!(ChromaLocation => sys::VkChromaLocation);
impl_enum!(ChromaLocation => sys::VkChromaLocation);
impl ChromaLocation {
/// `VK_CHROMA_LOCATION_COSITED_EVEN` = `0`
pub const CositedEven: Self = Self(sys::VK_CHROMA_LOCATION_COSITED_EVEN.0);
/// `VK_CHROMA_LOCATION_MIDPOINT` = `1`
pub const Midpoint: Self = Self(sys::VK_CHROMA_LOCATION_MIDPOINT.0);
/// `VK_CHROMA_LOCATION_COSITED_EVEN_KHR` = `VK_CHROMA_LOCATION_COSITED_EVEN`
pub const CositedEvenKhr: Self = Self(sys::VK_CHROMA_LOCATION_COSITED_EVEN_KHR.0);
/// `VK_CHROMA_LOCATION_MIDPOINT_KHR` = `VK_CHROMA_LOCATION_MIDPOINT`
pub const MidpointKhr: Self = Self(sys::VK_CHROMA_LOCATION_MIDPOINT_KHR.0);
}
impl_enum_display!(ChromaLocation = VkChromaLocation { CositedEven, Midpoint, CositedEvenKhr, MidpointKhr });
/// `VkChromaLocationKHR` = `VkChromaLocation`
pub type ChromaLocationKHR = ChromaLocation;
/// `VkClusterAccelerationStructureAddressResolutionFlagsNV`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ClusterAccelerationStructureAddressResolutionFlagsNV(pub i32);
flags!(ClusterAccelerationStructureAddressResolutionFlagsNV);
from_into_transparent!(ClusterAccelerationStructureAddressResolutionFlagsNV : i32);
from_by_transmute!(ClusterAccelerationStructureAddressResolutionFlagsNV => sys::VkClusterAccelerationStructureAddressResolutionFlagsNV);
from_by_transmute!(sys::VkClusterAccelerationStructureAddressResolutionFlagsNV => ClusterAccelerationStructureAddressResolutionFlagsNV);
impl_to_sys!(ClusterAccelerationStructureAddressResolutionFlagsNV => sys::VkClusterAccelerationStructureAddressResolutionFlagsNV);
impl_enum!(ClusterAccelerationStructureAddressResolutionFlagsNV => sys::VkClusterAccelerationStructureAddressResolutionFlagsNV);
impl ClusterAccelerationStructureAddressResolutionFlagsNV {
/// `VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_NONE_NV` = `0`
pub const NoneNv: Self = Self(sys::VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_NONE_NV.0);
/// `VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_DST_IMPLICIT_DATA_BIT_NV` = `1 << 0`
pub const IndirectedDstImplicitDataNv: Self = Self(sys::VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_DST_IMPLICIT_DATA_BIT_NV.0);
/// `VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_SCRATCH_DATA_BIT_NV` = `1 << 1`
pub const IndirectedScratchDataNv: Self = Self(sys::VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_SCRATCH_DATA_BIT_NV.0);
/// `VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_DST_ADDRESS_ARRAY_BIT_NV` = `1 << 2`
pub const IndirectedDstAddressArrayNv: Self = Self(sys::VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_DST_ADDRESS_ARRAY_BIT_NV.0);
/// `VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_DST_SIZES_ARRAY_BIT_NV` = `1 << 3`
pub const IndirectedDstSizesArrayNv: Self = Self(sys::VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_DST_SIZES_ARRAY_BIT_NV.0);
/// `VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_SRC_INFOS_ARRAY_BIT_NV` = `1 << 4`
pub const IndirectedSrcInfosArrayNv: Self = Self(sys::VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_SRC_INFOS_ARRAY_BIT_NV.0);
/// `VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_SRC_INFOS_COUNT_BIT_NV` = `1 << 5`
pub const IndirectedSrcInfosCountNv: Self = Self(sys::VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_SRC_INFOS_COUNT_BIT_NV.0);
}
impl_flags_display!(ClusterAccelerationStructureAddressResolutionFlagsNV = VkClusterAccelerationStructureAddressResolutionFlagsNV { NoneNv, IndirectedDstImplicitDataNv, IndirectedScratchDataNv, IndirectedDstAddressArrayNv, IndirectedDstSizesArrayNv, IndirectedSrcInfosArrayNv, IndirectedSrcInfosCountNv });
/// `VkClusterAccelerationStructureClusterFlagsNV`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ClusterAccelerationStructureClusterFlagsNV(pub i32);
flags!(ClusterAccelerationStructureClusterFlagsNV);
from_into_transparent!(ClusterAccelerationStructureClusterFlagsNV : i32);
from_by_transmute!(ClusterAccelerationStructureClusterFlagsNV => sys::VkClusterAccelerationStructureClusterFlagsNV);
from_by_transmute!(sys::VkClusterAccelerationStructureClusterFlagsNV => ClusterAccelerationStructureClusterFlagsNV);
impl_to_sys!(ClusterAccelerationStructureClusterFlagsNV => sys::VkClusterAccelerationStructureClusterFlagsNV);
impl_enum!(ClusterAccelerationStructureClusterFlagsNV => sys::VkClusterAccelerationStructureClusterFlagsNV);
impl ClusterAccelerationStructureClusterFlagsNV {
/// `VK_CLUSTER_ACCELERATION_STRUCTURE_CLUSTER_ALLOW_DISABLE_OPACITY_MICROMAPS_NV` = `1 << 0`
pub const AllowDisableOpacityMicromapsNv: Self = Self(sys::VK_CLUSTER_ACCELERATION_STRUCTURE_CLUSTER_ALLOW_DISABLE_OPACITY_MICROMAPS_NV.0);
}
impl_flags_display!(ClusterAccelerationStructureClusterFlagsNV = VkClusterAccelerationStructureClusterFlagsNV { AllowDisableOpacityMicromapsNv });
/// `VkClusterAccelerationStructureGeometryFlagsNV`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ClusterAccelerationStructureGeometryFlagsNV(pub i32);
flags!(ClusterAccelerationStructureGeometryFlagsNV);
from_into_transparent!(ClusterAccelerationStructureGeometryFlagsNV : i32);
from_by_transmute!(ClusterAccelerationStructureGeometryFlagsNV => sys::VkClusterAccelerationStructureGeometryFlagsNV);
from_by_transmute!(sys::VkClusterAccelerationStructureGeometryFlagsNV => ClusterAccelerationStructureGeometryFlagsNV);
impl_to_sys!(ClusterAccelerationStructureGeometryFlagsNV => sys::VkClusterAccelerationStructureGeometryFlagsNV);
impl_enum!(ClusterAccelerationStructureGeometryFlagsNV => sys::VkClusterAccelerationStructureGeometryFlagsNV);
impl ClusterAccelerationStructureGeometryFlagsNV {
/// `VK_CLUSTER_ACCELERATION_STRUCTURE_GEOMETRY_CULL_DISABLE_BIT_NV` = `1 << 0`
pub const CullDisableNv: Self = Self(sys::VK_CLUSTER_ACCELERATION_STRUCTURE_GEOMETRY_CULL_DISABLE_BIT_NV.0);
/// `VK_CLUSTER_ACCELERATION_STRUCTURE_GEOMETRY_NO_DUPLICATE_ANYHIT_INVOCATION_BIT_NV` = `1 << 1`
pub const NoDuplicateAnyhitInvocationNv: Self = Self(sys::VK_CLUSTER_ACCELERATION_STRUCTURE_GEOMETRY_NO_DUPLICATE_ANYHIT_INVOCATION_BIT_NV.0);
/// `VK_CLUSTER_ACCELERATION_STRUCTURE_GEOMETRY_OPAQUE_BIT_NV` = `1 << 2`
pub const OpaqueNv: Self = Self(sys::VK_CLUSTER_ACCELERATION_STRUCTURE_GEOMETRY_OPAQUE_BIT_NV.0);
}
impl_flags_display!(ClusterAccelerationStructureGeometryFlagsNV = VkClusterAccelerationStructureGeometryFlagsNV { CullDisableNv, NoDuplicateAnyhitInvocationNv, OpaqueNv });
/// `VkClusterAccelerationStructureIndexFormatFlagsNV`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ClusterAccelerationStructureIndexFormatFlagsNV(pub i32);
flags!(ClusterAccelerationStructureIndexFormatFlagsNV);
from_into_transparent!(ClusterAccelerationStructureIndexFormatFlagsNV : i32);
from_by_transmute!(ClusterAccelerationStructureIndexFormatFlagsNV => sys::VkClusterAccelerationStructureIndexFormatFlagsNV);
from_by_transmute!(sys::VkClusterAccelerationStructureIndexFormatFlagsNV => ClusterAccelerationStructureIndexFormatFlagsNV);
impl_to_sys!(ClusterAccelerationStructureIndexFormatFlagsNV => sys::VkClusterAccelerationStructureIndexFormatFlagsNV);
impl_enum!(ClusterAccelerationStructureIndexFormatFlagsNV => sys::VkClusterAccelerationStructureIndexFormatFlagsNV);
impl ClusterAccelerationStructureIndexFormatFlagsNV {
/// `VK_CLUSTER_ACCELERATION_STRUCTURE_INDEX_FORMAT_8BIT_NV` = `1 << 0`
pub const _8bitNv: Self = Self(sys::VK_CLUSTER_ACCELERATION_STRUCTURE_INDEX_FORMAT_8BIT_NV.0);
/// `VK_CLUSTER_ACCELERATION_STRUCTURE_INDEX_FORMAT_16BIT_NV` = `1 << 1`
pub const _16bitNv: Self = Self(sys::VK_CLUSTER_ACCELERATION_STRUCTURE_INDEX_FORMAT_16BIT_NV.0);
/// `VK_CLUSTER_ACCELERATION_STRUCTURE_INDEX_FORMAT_32BIT_NV` = `1 << 2`
pub const _32bitNv: Self = Self(sys::VK_CLUSTER_ACCELERATION_STRUCTURE_INDEX_FORMAT_32BIT_NV.0);
}
impl_flags_display!(ClusterAccelerationStructureIndexFormatFlagsNV = VkClusterAccelerationStructureIndexFormatFlagsNV { _8bitNv, _16bitNv, _32bitNv });
/// `VkClusterAccelerationStructureOpModeNV`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ClusterAccelerationStructureOpModeNV(pub i32);
from_into_transparent!(ClusterAccelerationStructureOpModeNV : i32);
from_by_transmute!(ClusterAccelerationStructureOpModeNV => sys::VkClusterAccelerationStructureOpModeNV);
from_by_transmute!(sys::VkClusterAccelerationStructureOpModeNV => ClusterAccelerationStructureOpModeNV);
impl_to_sys!(ClusterAccelerationStructureOpModeNV => sys::VkClusterAccelerationStructureOpModeNV);
impl_enum!(ClusterAccelerationStructureOpModeNV => sys::VkClusterAccelerationStructureOpModeNV);
impl ClusterAccelerationStructureOpModeNV {
/// `VK_CLUSTER_ACCELERATION_STRUCTURE_OP_MODE_IMPLICIT_DESTINATIONS_NV` = `0`
pub const ImplicitDestinationsNv: Self = Self(sys::VK_CLUSTER_ACCELERATION_STRUCTURE_OP_MODE_IMPLICIT_DESTINATIONS_NV.0);
/// `VK_CLUSTER_ACCELERATION_STRUCTURE_OP_MODE_EXPLICIT_DESTINATIONS_NV` = `1`
pub const ExplicitDestinationsNv: Self = Self(sys::VK_CLUSTER_ACCELERATION_STRUCTURE_OP_MODE_EXPLICIT_DESTINATIONS_NV.0);
/// `VK_CLUSTER_ACCELERATION_STRUCTURE_OP_MODE_COMPUTE_SIZES_NV` = `2`
pub const ComputeSizesNv: Self = Self(sys::VK_CLUSTER_ACCELERATION_STRUCTURE_OP_MODE_COMPUTE_SIZES_NV.0);
}
impl_enum_display!(ClusterAccelerationStructureOpModeNV = VkClusterAccelerationStructureOpModeNV { ImplicitDestinationsNv, ExplicitDestinationsNv, ComputeSizesNv });
/// `VkClusterAccelerationStructureOpTypeNV`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ClusterAccelerationStructureOpTypeNV(pub i32);
from_into_transparent!(ClusterAccelerationStructureOpTypeNV : i32);
from_by_transmute!(ClusterAccelerationStructureOpTypeNV => sys::VkClusterAccelerationStructureOpTypeNV);
from_by_transmute!(sys::VkClusterAccelerationStructureOpTypeNV => ClusterAccelerationStructureOpTypeNV);
impl_to_sys!(ClusterAccelerationStructureOpTypeNV => sys::VkClusterAccelerationStructureOpTypeNV);
impl_enum!(ClusterAccelerationStructureOpTypeNV => sys::VkClusterAccelerationStructureOpTypeNV);
impl ClusterAccelerationStructureOpTypeNV {
/// `VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_MOVE_OBJECTS_NV` = `0`
pub const MoveObjectsNv: Self = Self(sys::VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_MOVE_OBJECTS_NV.0);
/// `VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_BUILD_CLUSTERS_BOTTOM_LEVEL_NV` = `1`
pub const BuildClustersBottomLevelNv: Self = Self(sys::VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_BUILD_CLUSTERS_BOTTOM_LEVEL_NV.0);
/// `VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_BUILD_TRIANGLE_CLUSTER_NV` = `2`
pub const BuildTriangleClusterNv: Self = Self(sys::VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_BUILD_TRIANGLE_CLUSTER_NV.0);
/// `VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_BUILD_TRIANGLE_CLUSTER_TEMPLATE_NV` = `3`
pub const BuildTriangleClusterTemplateNv: Self = Self(sys::VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_BUILD_TRIANGLE_CLUSTER_TEMPLATE_NV.0);
/// `VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_INSTANTIATE_TRIANGLE_CLUSTER_NV` = `4`
pub const InstantiateTriangleClusterNv: Self = Self(sys::VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_INSTANTIATE_TRIANGLE_CLUSTER_NV.0);
/// `VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_GET_CLUSTER_TEMPLATE_INDICES_NV` = `5`
pub const GetClusterTemplateIndicesNv: Self = Self(sys::VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_GET_CLUSTER_TEMPLATE_INDICES_NV.0);
}
impl_enum_display!(ClusterAccelerationStructureOpTypeNV = VkClusterAccelerationStructureOpTypeNV { MoveObjectsNv, BuildClustersBottomLevelNv, BuildTriangleClusterNv, BuildTriangleClusterTemplateNv, InstantiateTriangleClusterNv, GetClusterTemplateIndicesNv });
/// `VkClusterAccelerationStructureTypeNV`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ClusterAccelerationStructureTypeNV(pub i32);
from_into_transparent!(ClusterAccelerationStructureTypeNV : i32);
from_by_transmute!(ClusterAccelerationStructureTypeNV => sys::VkClusterAccelerationStructureTypeNV);
from_by_transmute!(sys::VkClusterAccelerationStructureTypeNV => ClusterAccelerationStructureTypeNV);
impl_to_sys!(ClusterAccelerationStructureTypeNV => sys::VkClusterAccelerationStructureTypeNV);
impl_enum!(ClusterAccelerationStructureTypeNV => sys::VkClusterAccelerationStructureTypeNV);
impl ClusterAccelerationStructureTypeNV {
/// `VK_CLUSTER_ACCELERATION_STRUCTURE_TYPE_CLUSTERS_BOTTOM_LEVEL_NV` = `0`
pub const ClustersBottomLevelNv: Self = Self(sys::VK_CLUSTER_ACCELERATION_STRUCTURE_TYPE_CLUSTERS_BOTTOM_LEVEL_NV.0);
/// `VK_CLUSTER_ACCELERATION_STRUCTURE_TYPE_TRIANGLE_CLUSTER_NV` = `1`
pub const TriangleClusterNv: Self = Self(sys::VK_CLUSTER_ACCELERATION_STRUCTURE_TYPE_TRIANGLE_CLUSTER_NV.0);
/// `VK_CLUSTER_ACCELERATION_STRUCTURE_TYPE_TRIANGLE_CLUSTER_TEMPLATE_NV` = `2`
pub const TriangleClusterTemplateNv: Self = Self(sys::VK_CLUSTER_ACCELERATION_STRUCTURE_TYPE_TRIANGLE_CLUSTER_TEMPLATE_NV.0);
}
impl_enum_display!(ClusterAccelerationStructureTypeNV = VkClusterAccelerationStructureTypeNV { ClustersBottomLevelNv, TriangleClusterNv, TriangleClusterTemplateNv });
/// `VkCoarseSampleOrderTypeNV`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct CoarseSampleOrderTypeNV(pub i32);
from_into_transparent!(CoarseSampleOrderTypeNV : i32);
from_by_transmute!(CoarseSampleOrderTypeNV => sys::VkCoarseSampleOrderTypeNV);
from_by_transmute!(sys::VkCoarseSampleOrderTypeNV => CoarseSampleOrderTypeNV);
impl_to_sys!(CoarseSampleOrderTypeNV => sys::VkCoarseSampleOrderTypeNV);
impl_enum!(CoarseSampleOrderTypeNV => sys::VkCoarseSampleOrderTypeNV);
impl CoarseSampleOrderTypeNV {
/// `VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV` = `0`
pub const DefaultNv: Self = Self(sys::VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV.0);
/// `VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV` = `1`
pub const CustomNv: Self = Self(sys::VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV.0);
/// `VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV` = `2`
pub const PixelMajorNv: Self = Self(sys::VK_COARSE_SAMPLE_ORDER_TYPE_PIXEL_MAJOR_NV.0);
/// `VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV` = `3`
pub const SampleMajorNv: Self = Self(sys::VK_COARSE_SAMPLE_ORDER_TYPE_SAMPLE_MAJOR_NV.0);
}
impl_enum_display!(CoarseSampleOrderTypeNV = VkCoarseSampleOrderTypeNV { DefaultNv, CustomNv, PixelMajorNv, SampleMajorNv });
/// `VkColorComponentFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ColorComponentFlags(pub i32);
flags!(ColorComponentFlags);
from_into_transparent!(ColorComponentFlags : i32);
from_by_transmute!(ColorComponentFlags => sys::VkColorComponentFlags);
from_by_transmute!(sys::VkColorComponentFlags => ColorComponentFlags);
impl_to_sys!(ColorComponentFlags => sys::VkColorComponentFlags);
impl_enum!(ColorComponentFlags => sys::VkColorComponentFlags);
impl ColorComponentFlags {
/// `VK_COLOR_COMPONENT_R_BIT` = `1 << 0`
pub const R: Self = Self(sys::VK_COLOR_COMPONENT_R_BIT.0);
/// `VK_COLOR_COMPONENT_G_BIT` = `1 << 1`
pub const G: Self = Self(sys::VK_COLOR_COMPONENT_G_BIT.0);
/// `VK_COLOR_COMPONENT_B_BIT` = `1 << 2`
pub const B: Self = Self(sys::VK_COLOR_COMPONENT_B_BIT.0);
/// `VK_COLOR_COMPONENT_A_BIT` = `1 << 3`
pub const A: Self = Self(sys::VK_COLOR_COMPONENT_A_BIT.0);
}
impl_flags_display!(ColorComponentFlags = VkColorComponentFlags { R, G, B, A });
/// `VkColorSpaceKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ColorSpaceKHR(pub i32);
from_into_transparent!(ColorSpaceKHR : i32);
from_by_transmute!(ColorSpaceKHR => sys::VkColorSpaceKHR);
from_by_transmute!(sys::VkColorSpaceKHR => ColorSpaceKHR);
impl_to_sys!(ColorSpaceKHR => sys::VkColorSpaceKHR);
impl_enum!(ColorSpaceKHR => sys::VkColorSpaceKHR);
impl ColorSpaceKHR {
/// `VK_COLOR_SPACE_SRGB_NONLINEAR_KHR` = `0`
pub const ColorSpaceSrgbNonlinearKhr: Self = Self(sys::VK_COLOR_SPACE_SRGB_NONLINEAR_KHR.0);
/// `VK_COLORSPACE_SRGB_NONLINEAR_KHR` = `VK_COLOR_SPACE_SRGB_NONLINEAR_KHR`
pub const ColorspaceSrgbNonlinearKhr: Self = Self(sys::VK_COLORSPACE_SRGB_NONLINEAR_KHR.0);
/// `VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT` = `1000104001`
pub const ColorSpaceDisplayP3NonlinearExt: Self = Self(sys::VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT.0);
/// `VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT` = `1000104002`
pub const ColorSpaceExtendedSrgbLinearExt: Self = Self(sys::VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT.0);
/// `VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT` = `1000104003`
pub const ColorSpaceDisplayP3LinearExt: Self = Self(sys::VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT.0);
/// `VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT` = `1000104004`
pub const ColorSpaceDciP3NonlinearExt: Self = Self(sys::VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT.0);
/// `VK_COLOR_SPACE_BT709_LINEAR_EXT` = `1000104005`
pub const ColorSpaceBt709LinearExt: Self = Self(sys::VK_COLOR_SPACE_BT709_LINEAR_EXT.0);
/// `VK_COLOR_SPACE_BT709_NONLINEAR_EXT` = `1000104006`
pub const ColorSpaceBt709NonlinearExt: Self = Self(sys::VK_COLOR_SPACE_BT709_NONLINEAR_EXT.0);
/// `VK_COLOR_SPACE_BT2020_LINEAR_EXT` = `1000104007`
pub const ColorSpaceBt2020LinearExt: Self = Self(sys::VK_COLOR_SPACE_BT2020_LINEAR_EXT.0);
/// `VK_COLOR_SPACE_HDR10_ST2084_EXT` = `1000104008`
pub const ColorSpaceHdr10St2084Ext: Self = Self(sys::VK_COLOR_SPACE_HDR10_ST2084_EXT.0);
/// `VK_COLOR_SPACE_DOLBYVISION_EXT` = `1000104009`
pub const ColorSpaceDolbyvisionExt: Self = Self(sys::VK_COLOR_SPACE_DOLBYVISION_EXT.0);
/// `VK_COLOR_SPACE_HDR10_HLG_EXT` = `1000104010`
pub const ColorSpaceHdr10HlgExt: Self = Self(sys::VK_COLOR_SPACE_HDR10_HLG_EXT.0);
/// `VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT` = `1000104011`
pub const ColorSpaceAdobergbLinearExt: Self = Self(sys::VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT.0);
/// `VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT` = `1000104012`
pub const ColorSpaceAdobergbNonlinearExt: Self = Self(sys::VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT.0);
/// `VK_COLOR_SPACE_PASS_THROUGH_EXT` = `1000104013`
pub const ColorSpacePassThroughExt: Self = Self(sys::VK_COLOR_SPACE_PASS_THROUGH_EXT.0);
/// `VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT` = `1000104014`
pub const ColorSpaceExtendedSrgbNonlinearExt: Self = Self(sys::VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT.0);
/// `VK_COLOR_SPACE_DCI_P3_LINEAR_EXT` = `VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT`
pub const ColorSpaceDciP3LinearExt: Self = Self(sys::VK_COLOR_SPACE_DCI_P3_LINEAR_EXT.0);
/// `VK_COLOR_SPACE_DISPLAY_NATIVE_AMD` = `1000213000`
pub const ColorSpaceDisplayNativeAmd: Self = Self(sys::VK_COLOR_SPACE_DISPLAY_NATIVE_AMD.0);
}
impl_enum_display!(ColorSpaceKHR = VkColorSpaceKHR { ColorSpaceSrgbNonlinearKhr, ColorspaceSrgbNonlinearKhr, ColorSpaceDisplayP3NonlinearExt, ColorSpaceExtendedSrgbLinearExt, ColorSpaceDisplayP3LinearExt, ColorSpaceDciP3NonlinearExt, ColorSpaceBt709LinearExt, ColorSpaceBt709NonlinearExt, ColorSpaceBt2020LinearExt, ColorSpaceHdr10St2084Ext, ColorSpaceDolbyvisionExt, ColorSpaceHdr10HlgExt, ColorSpaceAdobergbLinearExt, ColorSpaceAdobergbNonlinearExt, ColorSpacePassThroughExt, ColorSpaceExtendedSrgbNonlinearExt, ColorSpaceDciP3LinearExt, ColorSpaceDisplayNativeAmd });
/// `VkCommandBufferLevel`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct CommandBufferLevel(pub i32);
from_into_transparent!(CommandBufferLevel : i32);
from_by_transmute!(CommandBufferLevel => sys::VkCommandBufferLevel);
from_by_transmute!(sys::VkCommandBufferLevel => CommandBufferLevel);
impl_to_sys!(CommandBufferLevel => sys::VkCommandBufferLevel);
impl_enum!(CommandBufferLevel => sys::VkCommandBufferLevel);
impl CommandBufferLevel {
/// `VK_COMMAND_BUFFER_LEVEL_PRIMARY` = `0`
pub const Primary: Self = Self(sys::VK_COMMAND_BUFFER_LEVEL_PRIMARY.0);
/// `VK_COMMAND_BUFFER_LEVEL_SECONDARY` = `1`
pub const Secondary: Self = Self(sys::VK_COMMAND_BUFFER_LEVEL_SECONDARY.0);
}
impl_enum_display!(CommandBufferLevel = VkCommandBufferLevel { Primary, Secondary });
/// `VkCommandBufferResetFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct CommandBufferResetFlags(pub i32);
flags!(CommandBufferResetFlags);
from_into_transparent!(CommandBufferResetFlags : i32);
from_by_transmute!(CommandBufferResetFlags => sys::VkCommandBufferResetFlags);
from_by_transmute!(sys::VkCommandBufferResetFlags => CommandBufferResetFlags);
impl_to_sys!(CommandBufferResetFlags => sys::VkCommandBufferResetFlags);
impl_enum!(CommandBufferResetFlags => sys::VkCommandBufferResetFlags);
impl CommandBufferResetFlags {
/// `VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT` = `1 << 0`
///
/// Release resources owned by the buffer
pub const ReleaseResources: Self = Self(sys::VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT.0);
}
impl_flags_display!(CommandBufferResetFlags = VkCommandBufferResetFlags { ReleaseResources });
/// `VkCommandBufferUsageFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct CommandBufferUsageFlags(pub i32);
flags!(CommandBufferUsageFlags);
from_into_transparent!(CommandBufferUsageFlags : i32);
from_by_transmute!(CommandBufferUsageFlags => sys::VkCommandBufferUsageFlags);
from_by_transmute!(sys::VkCommandBufferUsageFlags => CommandBufferUsageFlags);
impl_to_sys!(CommandBufferUsageFlags => sys::VkCommandBufferUsageFlags);
impl_enum!(CommandBufferUsageFlags => sys::VkCommandBufferUsageFlags);
impl CommandBufferUsageFlags {
/// `VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT` = `1 << 0`
pub const OneTimeSubmit: Self = Self(sys::VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT.0);
/// `VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT` = `1 << 1`
pub const RenderPassContinue: Self = Self(sys::VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT.0);
/// `VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT` = `1 << 2`
///
/// Command buffer may be submitted/executed more than once simultaneously
pub const SimultaneousUse: Self = Self(sys::VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT.0);
/// `VK_COMMAND_BUFFER_USAGE_RESERVED_3_BIT_HUAWEI` = `1 << 3`
pub const Reserved3Huawei: Self = Self(sys::VK_COMMAND_BUFFER_USAGE_RESERVED_3_BIT_HUAWEI.0);
/// `VK_COMMAND_BUFFER_USAGE_RESERVED_4_BIT_HUAWEI` = `1 << 4`
pub const Reserved4Huawei: Self = Self(sys::VK_COMMAND_BUFFER_USAGE_RESERVED_4_BIT_HUAWEI.0);
}
impl_flags_display!(CommandBufferUsageFlags = VkCommandBufferUsageFlags { OneTimeSubmit, RenderPassContinue, SimultaneousUse, Reserved3Huawei, Reserved4Huawei });
/// `VkCommandPoolCreateFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct CommandPoolCreateFlags(pub i32);
flags!(CommandPoolCreateFlags);
from_into_transparent!(CommandPoolCreateFlags : i32);
from_by_transmute!(CommandPoolCreateFlags => sys::VkCommandPoolCreateFlags);
from_by_transmute!(sys::VkCommandPoolCreateFlags => CommandPoolCreateFlags);
impl_to_sys!(CommandPoolCreateFlags => sys::VkCommandPoolCreateFlags);
impl_enum!(CommandPoolCreateFlags => sys::VkCommandPoolCreateFlags);
impl CommandPoolCreateFlags {
/// `VK_COMMAND_POOL_CREATE_TRANSIENT_BIT` = `1 << 0`
///
/// Command buffers have a short lifetime
pub const Transient: Self = Self(sys::VK_COMMAND_POOL_CREATE_TRANSIENT_BIT.0);
/// `VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT` = `1 << 1`
///
/// Command buffers may release their memory individually
pub const ResetCommandBuffer: Self = Self(sys::VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT.0);
/// `VK_COMMAND_POOL_CREATE_PROTECTED_BIT` = `1 << 2`
///
/// Command buffers allocated from pool are protected command buffers
pub const Protected: Self = Self(sys::VK_COMMAND_POOL_CREATE_PROTECTED_BIT.0);
}
impl_flags_display!(CommandPoolCreateFlags = VkCommandPoolCreateFlags { Transient, ResetCommandBuffer, Protected });
/// `VkCommandPoolResetFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct CommandPoolResetFlags(pub i32);
flags!(CommandPoolResetFlags);
from_into_transparent!(CommandPoolResetFlags : i32);
from_by_transmute!(CommandPoolResetFlags => sys::VkCommandPoolResetFlags);
from_by_transmute!(sys::VkCommandPoolResetFlags => CommandPoolResetFlags);
impl_to_sys!(CommandPoolResetFlags => sys::VkCommandPoolResetFlags);
impl_enum!(CommandPoolResetFlags => sys::VkCommandPoolResetFlags);
impl CommandPoolResetFlags {
/// `VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT` = `1 << 0`
///
/// Release resources owned by the pool
pub const ReleaseResources: Self = Self(sys::VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT.0);
/// `VK_COMMAND_POOL_RESET_RESERVED_1_BIT_COREAVI` = `1 << 1`
pub const Reserved1Coreavi: Self = Self(sys::VK_COMMAND_POOL_RESET_RESERVED_1_BIT_COREAVI.0);
}
impl_flags_display!(CommandPoolResetFlags = VkCommandPoolResetFlags { ReleaseResources, Reserved1Coreavi });
/// `VkCommandPoolTrimFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct CommandPoolTrimFlags(pub i32);
flags!(CommandPoolTrimFlags);
from_into_transparent!(CommandPoolTrimFlags : i32);
from_by_transmute!(CommandPoolTrimFlags => sys::VkCommandPoolTrimFlags);
from_by_transmute!(sys::VkCommandPoolTrimFlags => CommandPoolTrimFlags);
impl_to_sys!(CommandPoolTrimFlags => sys::VkCommandPoolTrimFlags);
impl_enum!(CommandPoolTrimFlags => sys::VkCommandPoolTrimFlags);
impl_flags_display!(CommandPoolTrimFlags = VkCommandPoolTrimFlags { });
/// `VkCommandPoolTrimFlagsKHR` = `VkCommandPoolTrimFlags`
pub type CommandPoolTrimFlagsKHR = CommandPoolTrimFlags;
/// `VkCompareOp`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct CompareOp(pub i32);
from_into_transparent!(CompareOp : i32);
from_by_transmute!(CompareOp => sys::VkCompareOp);
from_by_transmute!(sys::VkCompareOp => CompareOp);
impl_to_sys!(CompareOp => sys::VkCompareOp);
impl_enum!(CompareOp => sys::VkCompareOp);
impl CompareOp {
/// `VK_COMPARE_OP_NEVER` = `0`
pub const Never: Self = Self(sys::VK_COMPARE_OP_NEVER.0);
/// `VK_COMPARE_OP_LESS` = `1`
pub const Less: Self = Self(sys::VK_COMPARE_OP_LESS.0);
/// `VK_COMPARE_OP_EQUAL` = `2`
pub const Equal: Self = Self(sys::VK_COMPARE_OP_EQUAL.0);
/// `VK_COMPARE_OP_LESS_OR_EQUAL` = `3`
pub const LessOrEqual: Self = Self(sys::VK_COMPARE_OP_LESS_OR_EQUAL.0);
/// `VK_COMPARE_OP_GREATER` = `4`
pub const Greater: Self = Self(sys::VK_COMPARE_OP_GREATER.0);
/// `VK_COMPARE_OP_NOT_EQUAL` = `5`
pub const NotEqual: Self = Self(sys::VK_COMPARE_OP_NOT_EQUAL.0);
/// `VK_COMPARE_OP_GREATER_OR_EQUAL` = `6`
pub const GreaterOrEqual: Self = Self(sys::VK_COMPARE_OP_GREATER_OR_EQUAL.0);
/// `VK_COMPARE_OP_ALWAYS` = `7`
pub const Always: Self = Self(sys::VK_COMPARE_OP_ALWAYS.0);
}
impl_enum_display!(CompareOp = VkCompareOp { Never, Less, Equal, LessOrEqual, Greater, NotEqual, GreaterOrEqual, Always });
/// `VkComponentSwizzle`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ComponentSwizzle(pub i32);
from_into_transparent!(ComponentSwizzle : i32);
from_by_transmute!(ComponentSwizzle => sys::VkComponentSwizzle);
from_by_transmute!(sys::VkComponentSwizzle => ComponentSwizzle);
impl_to_sys!(ComponentSwizzle => sys::VkComponentSwizzle);
impl_enum!(ComponentSwizzle => sys::VkComponentSwizzle);
impl ComponentSwizzle {
/// `VK_COMPONENT_SWIZZLE_IDENTITY` = `0`
pub const Identity: Self = Self(sys::VK_COMPONENT_SWIZZLE_IDENTITY.0);
/// `VK_COMPONENT_SWIZZLE_ZERO` = `1`
pub const Zero: Self = Self(sys::VK_COMPONENT_SWIZZLE_ZERO.0);
/// `VK_COMPONENT_SWIZZLE_ONE` = `2`
pub const One: Self = Self(sys::VK_COMPONENT_SWIZZLE_ONE.0);
/// `VK_COMPONENT_SWIZZLE_R` = `3`
pub const R: Self = Self(sys::VK_COMPONENT_SWIZZLE_R.0);
/// `VK_COMPONENT_SWIZZLE_G` = `4`
pub const G: Self = Self(sys::VK_COMPONENT_SWIZZLE_G.0);
/// `VK_COMPONENT_SWIZZLE_B` = `5`
pub const B: Self = Self(sys::VK_COMPONENT_SWIZZLE_B.0);
/// `VK_COMPONENT_SWIZZLE_A` = `6`
pub const A: Self = Self(sys::VK_COMPONENT_SWIZZLE_A.0);
}
impl_enum_display!(ComponentSwizzle = VkComponentSwizzle { Identity, Zero, One, R, G, B, A });
/// `VkComponentTypeKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ComponentTypeKHR(pub i32);
from_into_transparent!(ComponentTypeKHR : i32);
from_by_transmute!(ComponentTypeKHR => sys::VkComponentTypeKHR);
from_by_transmute!(sys::VkComponentTypeKHR => ComponentTypeKHR);
impl_to_sys!(ComponentTypeKHR => sys::VkComponentTypeKHR);
impl_enum!(ComponentTypeKHR => sys::VkComponentTypeKHR);
impl ComponentTypeKHR {
/// `VK_COMPONENT_TYPE_FLOAT16_KHR` = `0`
pub const Float16Khr: Self = Self(sys::VK_COMPONENT_TYPE_FLOAT16_KHR.0);
/// `VK_COMPONENT_TYPE_FLOAT32_KHR` = `1`
pub const Float32Khr: Self = Self(sys::VK_COMPONENT_TYPE_FLOAT32_KHR.0);
/// `VK_COMPONENT_TYPE_FLOAT64_KHR` = `2`
pub const Float64Khr: Self = Self(sys::VK_COMPONENT_TYPE_FLOAT64_KHR.0);
/// `VK_COMPONENT_TYPE_SINT8_KHR` = `3`
pub const Sint8Khr: Self = Self(sys::VK_COMPONENT_TYPE_SINT8_KHR.0);
/// `VK_COMPONENT_TYPE_SINT16_KHR` = `4`
pub const Sint16Khr: Self = Self(sys::VK_COMPONENT_TYPE_SINT16_KHR.0);
/// `VK_COMPONENT_TYPE_SINT32_KHR` = `5`
pub const Sint32Khr: Self = Self(sys::VK_COMPONENT_TYPE_SINT32_KHR.0);
/// `VK_COMPONENT_TYPE_SINT64_KHR` = `6`
pub const Sint64Khr: Self = Self(sys::VK_COMPONENT_TYPE_SINT64_KHR.0);
/// `VK_COMPONENT_TYPE_UINT8_KHR` = `7`
pub const Uint8Khr: Self = Self(sys::VK_COMPONENT_TYPE_UINT8_KHR.0);
/// `VK_COMPONENT_TYPE_UINT16_KHR` = `8`
pub const Uint16Khr: Self = Self(sys::VK_COMPONENT_TYPE_UINT16_KHR.0);
/// `VK_COMPONENT_TYPE_UINT32_KHR` = `9`
pub const Uint32Khr: Self = Self(sys::VK_COMPONENT_TYPE_UINT32_KHR.0);
/// `VK_COMPONENT_TYPE_UINT64_KHR` = `10`
pub const Uint64Khr: Self = Self(sys::VK_COMPONENT_TYPE_UINT64_KHR.0);
/// `VK_COMPONENT_TYPE_BFLOAT16_KHR` = `1000141000`
pub const Bfloat16Khr: Self = Self(sys::VK_COMPONENT_TYPE_BFLOAT16_KHR.0);
/// `VK_COMPONENT_TYPE_FLOAT16_NV` = `VK_COMPONENT_TYPE_FLOAT16_KHR`
pub const Float16Nv: Self = Self(sys::VK_COMPONENT_TYPE_FLOAT16_NV.0);
/// `VK_COMPONENT_TYPE_FLOAT32_NV` = `VK_COMPONENT_TYPE_FLOAT32_KHR`
pub const Float32Nv: Self = Self(sys::VK_COMPONENT_TYPE_FLOAT32_NV.0);
/// `VK_COMPONENT_TYPE_FLOAT64_NV` = `VK_COMPONENT_TYPE_FLOAT64_KHR`
pub const Float64Nv: Self = Self(sys::VK_COMPONENT_TYPE_FLOAT64_NV.0);
/// `VK_COMPONENT_TYPE_SINT8_NV` = `VK_COMPONENT_TYPE_SINT8_KHR`
pub const Sint8Nv: Self = Self(sys::VK_COMPONENT_TYPE_SINT8_NV.0);
/// `VK_COMPONENT_TYPE_SINT16_NV` = `VK_COMPONENT_TYPE_SINT16_KHR`
pub const Sint16Nv: Self = Self(sys::VK_COMPONENT_TYPE_SINT16_NV.0);
/// `VK_COMPONENT_TYPE_SINT32_NV` = `VK_COMPONENT_TYPE_SINT32_KHR`
pub const Sint32Nv: Self = Self(sys::VK_COMPONENT_TYPE_SINT32_NV.0);
/// `VK_COMPONENT_TYPE_SINT64_NV` = `VK_COMPONENT_TYPE_SINT64_KHR`
pub const Sint64Nv: Self = Self(sys::VK_COMPONENT_TYPE_SINT64_NV.0);
/// `VK_COMPONENT_TYPE_UINT8_NV` = `VK_COMPONENT_TYPE_UINT8_KHR`
pub const Uint8Nv: Self = Self(sys::VK_COMPONENT_TYPE_UINT8_NV.0);
/// `VK_COMPONENT_TYPE_UINT16_NV` = `VK_COMPONENT_TYPE_UINT16_KHR`
pub const Uint16Nv: Self = Self(sys::VK_COMPONENT_TYPE_UINT16_NV.0);
/// `VK_COMPONENT_TYPE_UINT32_NV` = `VK_COMPONENT_TYPE_UINT32_KHR`
pub const Uint32Nv: Self = Self(sys::VK_COMPONENT_TYPE_UINT32_NV.0);
/// `VK_COMPONENT_TYPE_UINT64_NV` = `VK_COMPONENT_TYPE_UINT64_KHR`
pub const Uint64Nv: Self = Self(sys::VK_COMPONENT_TYPE_UINT64_NV.0);
/// `VK_COMPONENT_TYPE_SINT8_PACKED_NV` = `1000491000`
pub const Sint8PackedNv: Self = Self(sys::VK_COMPONENT_TYPE_SINT8_PACKED_NV.0);
/// `VK_COMPONENT_TYPE_UINT8_PACKED_NV` = `1000491001`
pub const Uint8PackedNv: Self = Self(sys::VK_COMPONENT_TYPE_UINT8_PACKED_NV.0);
/// `VK_COMPONENT_TYPE_FLOAT_E4M3_NV` = `VK_COMPONENT_TYPE_FLOAT8_E4M3_EXT`
pub const FloatE4m3Nv: Self = Self(sys::VK_COMPONENT_TYPE_FLOAT_E4M3_NV.0);
/// `VK_COMPONENT_TYPE_FLOAT_E5M2_NV` = `VK_COMPONENT_TYPE_FLOAT8_E5M2_EXT`
pub const FloatE5m2Nv: Self = Self(sys::VK_COMPONENT_TYPE_FLOAT_E5M2_NV.0);
/// `VK_COMPONENT_TYPE_FLOAT8_E4M3_EXT` = `1000491002`
pub const Float8E4m3Ext: Self = Self(sys::VK_COMPONENT_TYPE_FLOAT8_E4M3_EXT.0);
/// `VK_COMPONENT_TYPE_FLOAT8_E5M2_EXT` = `1000491003`
pub const Float8E5m2Ext: Self = Self(sys::VK_COMPONENT_TYPE_FLOAT8_E5M2_EXT.0);
}
impl_enum_display!(ComponentTypeKHR = VkComponentTypeKHR { Float16Khr, Float32Khr, Float64Khr, Sint8Khr, Sint16Khr, Sint32Khr, Sint64Khr, Uint8Khr, Uint16Khr, Uint32Khr, Uint64Khr, Bfloat16Khr, Float16Nv, Float32Nv, Float64Nv, Sint8Nv, Sint16Nv, Sint32Nv, Sint64Nv, Uint8Nv, Uint16Nv, Uint32Nv, Uint64Nv, Sint8PackedNv, Uint8PackedNv, FloatE4m3Nv, FloatE5m2Nv, Float8E4m3Ext, Float8E5m2Ext });
/// `VkComponentTypeNV` = `VkComponentTypeKHR`
pub type ComponentTypeNV = ComponentTypeKHR;
/// `VkCompositeAlphaFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct CompositeAlphaFlagsKHR(pub i32);
flags!(CompositeAlphaFlagsKHR);
from_into_transparent!(CompositeAlphaFlagsKHR : i32);
from_by_transmute!(CompositeAlphaFlagsKHR => sys::VkCompositeAlphaFlagsKHR);
from_by_transmute!(sys::VkCompositeAlphaFlagsKHR => CompositeAlphaFlagsKHR);
impl_to_sys!(CompositeAlphaFlagsKHR => sys::VkCompositeAlphaFlagsKHR);
impl_enum!(CompositeAlphaFlagsKHR => sys::VkCompositeAlphaFlagsKHR);
impl CompositeAlphaFlagsKHR {
/// `VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR` = `1 << 0`
pub const OpaqueKhr: Self = Self(sys::VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR.0);
/// `VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR` = `1 << 1`
pub const PreMultipliedKhr: Self = Self(sys::VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR.0);
/// `VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR` = `1 << 2`
pub const PostMultipliedKhr: Self = Self(sys::VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR.0);
/// `VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR` = `1 << 3`
pub const InheritKhr: Self = Self(sys::VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR.0);
}
impl_flags_display!(CompositeAlphaFlagsKHR = VkCompositeAlphaFlagsKHR { OpaqueKhr, PreMultipliedKhr, PostMultipliedKhr, InheritKhr });
/// `VkCompressedTriangleFormatAMDX`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct CompressedTriangleFormatAMDX(pub i32);
from_into_transparent!(CompressedTriangleFormatAMDX : i32);
from_by_transmute!(CompressedTriangleFormatAMDX => sys::VkCompressedTriangleFormatAMDX);
from_by_transmute!(sys::VkCompressedTriangleFormatAMDX => CompressedTriangleFormatAMDX);
impl_to_sys!(CompressedTriangleFormatAMDX => sys::VkCompressedTriangleFormatAMDX);
impl_enum!(CompressedTriangleFormatAMDX => sys::VkCompressedTriangleFormatAMDX);
impl CompressedTriangleFormatAMDX {
/// `VK_COMPRESSED_TRIANGLE_FORMAT_DGF1_AMDX` = `0`
pub const Dgf1Amdx: Self = Self(sys::VK_COMPRESSED_TRIANGLE_FORMAT_DGF1_AMDX.0);
}
impl_enum_display!(CompressedTriangleFormatAMDX = VkCompressedTriangleFormatAMDX { Dgf1Amdx });
/// `VkConditionalRenderingFlagsEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ConditionalRenderingFlagsEXT(pub i32);
flags!(ConditionalRenderingFlagsEXT);
from_into_transparent!(ConditionalRenderingFlagsEXT : i32);
from_by_transmute!(ConditionalRenderingFlagsEXT => sys::VkConditionalRenderingFlagsEXT);
from_by_transmute!(sys::VkConditionalRenderingFlagsEXT => ConditionalRenderingFlagsEXT);
impl_to_sys!(ConditionalRenderingFlagsEXT => sys::VkConditionalRenderingFlagsEXT);
impl_enum!(ConditionalRenderingFlagsEXT => sys::VkConditionalRenderingFlagsEXT);
impl ConditionalRenderingFlagsEXT {
/// `VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT` = `1 << 0`
pub const InvertedExt: Self = Self(sys::VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT.0);
}
impl_flags_display!(ConditionalRenderingFlagsEXT = VkConditionalRenderingFlagsEXT { InvertedExt });
/// `VkConservativeRasterizationModeEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ConservativeRasterizationModeEXT(pub i32);
from_into_transparent!(ConservativeRasterizationModeEXT : i32);
from_by_transmute!(ConservativeRasterizationModeEXT => sys::VkConservativeRasterizationModeEXT);
from_by_transmute!(sys::VkConservativeRasterizationModeEXT => ConservativeRasterizationModeEXT);
impl_to_sys!(ConservativeRasterizationModeEXT => sys::VkConservativeRasterizationModeEXT);
impl_enum!(ConservativeRasterizationModeEXT => sys::VkConservativeRasterizationModeEXT);
impl ConservativeRasterizationModeEXT {
/// `VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT` = `0`
pub const DisabledExt: Self = Self(sys::VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT.0);
/// `VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT` = `1`
pub const OverestimateExt: Self = Self(sys::VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT.0);
/// `VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT` = `2`
pub const UnderestimateExt: Self = Self(sys::VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT.0);
}
impl_enum_display!(ConservativeRasterizationModeEXT = VkConservativeRasterizationModeEXT { DisabledExt, OverestimateExt, UnderestimateExt });
/// `VkCooperativeVectorMatrixLayoutNV`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct CooperativeVectorMatrixLayoutNV(pub i32);
from_into_transparent!(CooperativeVectorMatrixLayoutNV : i32);
from_by_transmute!(CooperativeVectorMatrixLayoutNV => sys::VkCooperativeVectorMatrixLayoutNV);
from_by_transmute!(sys::VkCooperativeVectorMatrixLayoutNV => CooperativeVectorMatrixLayoutNV);
impl_to_sys!(CooperativeVectorMatrixLayoutNV => sys::VkCooperativeVectorMatrixLayoutNV);
impl_enum!(CooperativeVectorMatrixLayoutNV => sys::VkCooperativeVectorMatrixLayoutNV);
impl CooperativeVectorMatrixLayoutNV {
/// `VK_COOPERATIVE_VECTOR_MATRIX_LAYOUT_ROW_MAJOR_NV` = `0`
pub const RowMajorNv: Self = Self(sys::VK_COOPERATIVE_VECTOR_MATRIX_LAYOUT_ROW_MAJOR_NV.0);
/// `VK_COOPERATIVE_VECTOR_MATRIX_LAYOUT_COLUMN_MAJOR_NV` = `1`
pub const ColumnMajorNv: Self = Self(sys::VK_COOPERATIVE_VECTOR_MATRIX_LAYOUT_COLUMN_MAJOR_NV.0);
/// `VK_COOPERATIVE_VECTOR_MATRIX_LAYOUT_INFERENCING_OPTIMAL_NV` = `2`
pub const InferencingOptimalNv: Self = Self(sys::VK_COOPERATIVE_VECTOR_MATRIX_LAYOUT_INFERENCING_OPTIMAL_NV.0);
/// `VK_COOPERATIVE_VECTOR_MATRIX_LAYOUT_TRAINING_OPTIMAL_NV` = `3`
pub const TrainingOptimalNv: Self = Self(sys::VK_COOPERATIVE_VECTOR_MATRIX_LAYOUT_TRAINING_OPTIMAL_NV.0);
}
impl_enum_display!(CooperativeVectorMatrixLayoutNV = VkCooperativeVectorMatrixLayoutNV { RowMajorNv, ColumnMajorNv, InferencingOptimalNv, TrainingOptimalNv });
/// `VkCopyAccelerationStructureModeKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct CopyAccelerationStructureModeKHR(pub i32);
from_into_transparent!(CopyAccelerationStructureModeKHR : i32);
from_by_transmute!(CopyAccelerationStructureModeKHR => sys::VkCopyAccelerationStructureModeKHR);
from_by_transmute!(sys::VkCopyAccelerationStructureModeKHR => CopyAccelerationStructureModeKHR);
impl_to_sys!(CopyAccelerationStructureModeKHR => sys::VkCopyAccelerationStructureModeKHR);
impl_enum!(CopyAccelerationStructureModeKHR => sys::VkCopyAccelerationStructureModeKHR);
impl CopyAccelerationStructureModeKHR {
/// `VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR` = `0`
pub const CloneKhr: Self = Self(sys::VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR.0);
/// `VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR` = `1`
pub const CompactKhr: Self = Self(sys::VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR.0);
/// `VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR` = `2`
pub const SerializeKhr: Self = Self(sys::VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR.0);
/// `VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR` = `3`
pub const DeserializeKhr: Self = Self(sys::VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR.0);
/// `VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV` = `VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR`
pub const CloneNv: Self = Self(sys::VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_NV.0);
/// `VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV` = `VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR`
pub const CompactNv: Self = Self(sys::VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_NV.0);
}
impl_enum_display!(CopyAccelerationStructureModeKHR = VkCopyAccelerationStructureModeKHR { CloneKhr, CompactKhr, SerializeKhr, DeserializeKhr, CloneNv, CompactNv });
/// `VkCopyAccelerationStructureModeNV` = `VkCopyAccelerationStructureModeKHR`
pub type CopyAccelerationStructureModeNV = CopyAccelerationStructureModeKHR;
/// `VkCopyMicromapModeEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct CopyMicromapModeEXT(pub i32);
from_into_transparent!(CopyMicromapModeEXT : i32);
from_by_transmute!(CopyMicromapModeEXT => sys::VkCopyMicromapModeEXT);
from_by_transmute!(sys::VkCopyMicromapModeEXT => CopyMicromapModeEXT);
impl_to_sys!(CopyMicromapModeEXT => sys::VkCopyMicromapModeEXT);
impl_enum!(CopyMicromapModeEXT => sys::VkCopyMicromapModeEXT);
impl CopyMicromapModeEXT {
/// `VK_COPY_MICROMAP_MODE_CLONE_EXT` = `0`
pub const CloneExt: Self = Self(sys::VK_COPY_MICROMAP_MODE_CLONE_EXT.0);
/// `VK_COPY_MICROMAP_MODE_SERIALIZE_EXT` = `1`
pub const SerializeExt: Self = Self(sys::VK_COPY_MICROMAP_MODE_SERIALIZE_EXT.0);
/// `VK_COPY_MICROMAP_MODE_DESERIALIZE_EXT` = `2`
pub const DeserializeExt: Self = Self(sys::VK_COPY_MICROMAP_MODE_DESERIALIZE_EXT.0);
/// `VK_COPY_MICROMAP_MODE_COMPACT_EXT` = `3`
pub const CompactExt: Self = Self(sys::VK_COPY_MICROMAP_MODE_COMPACT_EXT.0);
}
impl_enum_display!(CopyMicromapModeEXT = VkCopyMicromapModeEXT { CloneExt, SerializeExt, DeserializeExt, CompactExt });
/// `VkCoverageModulationModeNV`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct CoverageModulationModeNV(pub i32);
from_into_transparent!(CoverageModulationModeNV : i32);
from_by_transmute!(CoverageModulationModeNV => sys::VkCoverageModulationModeNV);
from_by_transmute!(sys::VkCoverageModulationModeNV => CoverageModulationModeNV);
impl_to_sys!(CoverageModulationModeNV => sys::VkCoverageModulationModeNV);
impl_enum!(CoverageModulationModeNV => sys::VkCoverageModulationModeNV);
impl CoverageModulationModeNV {
/// `VK_COVERAGE_MODULATION_MODE_NONE_NV` = `0`
pub const NoneNv: Self = Self(sys::VK_COVERAGE_MODULATION_MODE_NONE_NV.0);
/// `VK_COVERAGE_MODULATION_MODE_RGB_NV` = `1`
pub const RgbNv: Self = Self(sys::VK_COVERAGE_MODULATION_MODE_RGB_NV.0);
/// `VK_COVERAGE_MODULATION_MODE_ALPHA_NV` = `2`
pub const AlphaNv: Self = Self(sys::VK_COVERAGE_MODULATION_MODE_ALPHA_NV.0);
/// `VK_COVERAGE_MODULATION_MODE_RGBA_NV` = `3`
pub const RgbaNv: Self = Self(sys::VK_COVERAGE_MODULATION_MODE_RGBA_NV.0);
}
impl_enum_display!(CoverageModulationModeNV = VkCoverageModulationModeNV { NoneNv, RgbNv, AlphaNv, RgbaNv });
/// `VkCoverageReductionModeNV`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct CoverageReductionModeNV(pub i32);
from_into_transparent!(CoverageReductionModeNV : i32);
from_by_transmute!(CoverageReductionModeNV => sys::VkCoverageReductionModeNV);
from_by_transmute!(sys::VkCoverageReductionModeNV => CoverageReductionModeNV);
impl_to_sys!(CoverageReductionModeNV => sys::VkCoverageReductionModeNV);
impl_enum!(CoverageReductionModeNV => sys::VkCoverageReductionModeNV);
impl CoverageReductionModeNV {
/// `VK_COVERAGE_REDUCTION_MODE_MERGE_NV` = `0`
pub const MergeNv: Self = Self(sys::VK_COVERAGE_REDUCTION_MODE_MERGE_NV.0);
/// `VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV` = `1`
pub const TruncateNv: Self = Self(sys::VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV.0);
}
impl_enum_display!(CoverageReductionModeNV = VkCoverageReductionModeNV { MergeNv, TruncateNv });
/// `VkCubicFilterWeightsQCOM`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct CubicFilterWeightsQCOM(pub i32);
from_into_transparent!(CubicFilterWeightsQCOM : i32);
from_by_transmute!(CubicFilterWeightsQCOM => sys::VkCubicFilterWeightsQCOM);
from_by_transmute!(sys::VkCubicFilterWeightsQCOM => CubicFilterWeightsQCOM);
impl_to_sys!(CubicFilterWeightsQCOM => sys::VkCubicFilterWeightsQCOM);
impl_enum!(CubicFilterWeightsQCOM => sys::VkCubicFilterWeightsQCOM);
impl CubicFilterWeightsQCOM {
/// `VK_CUBIC_FILTER_WEIGHTS_CATMULL_ROM_QCOM` = `0`
pub const CatmullRomQcom: Self = Self(sys::VK_CUBIC_FILTER_WEIGHTS_CATMULL_ROM_QCOM.0);
/// `VK_CUBIC_FILTER_WEIGHTS_ZERO_TANGENT_CARDINAL_QCOM` = `1`
pub const ZeroTangentCardinalQcom: Self = Self(sys::VK_CUBIC_FILTER_WEIGHTS_ZERO_TANGENT_CARDINAL_QCOM.0);
/// `VK_CUBIC_FILTER_WEIGHTS_B_SPLINE_QCOM` = `2`
pub const BSplineQcom: Self = Self(sys::VK_CUBIC_FILTER_WEIGHTS_B_SPLINE_QCOM.0);
/// `VK_CUBIC_FILTER_WEIGHTS_MITCHELL_NETRAVALI_QCOM` = `3`
pub const MitchellNetravaliQcom: Self = Self(sys::VK_CUBIC_FILTER_WEIGHTS_MITCHELL_NETRAVALI_QCOM.0);
}
impl_enum_display!(CubicFilterWeightsQCOM = VkCubicFilterWeightsQCOM { CatmullRomQcom, ZeroTangentCardinalQcom, BSplineQcom, MitchellNetravaliQcom });
/// `VkCullModeFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct CullModeFlags(pub i32);
flags!(CullModeFlags);
from_into_transparent!(CullModeFlags : i32);
from_by_transmute!(CullModeFlags => sys::VkCullModeFlags);
from_by_transmute!(sys::VkCullModeFlags => CullModeFlags);
impl_to_sys!(CullModeFlags => sys::VkCullModeFlags);
impl_enum!(CullModeFlags => sys::VkCullModeFlags);
impl CullModeFlags {
/// `VK_CULL_MODE_NONE` = `0`
pub const None: Self = Self(sys::VK_CULL_MODE_NONE.0);
/// `VK_CULL_MODE_FRONT_BIT` = `1 << 0`
pub const Front: Self = Self(sys::VK_CULL_MODE_FRONT_BIT.0);
/// `VK_CULL_MODE_BACK_BIT` = `1 << 1`
pub const Back: Self = Self(sys::VK_CULL_MODE_BACK_BIT.0);
/// `VK_CULL_MODE_FRONT_AND_BACK` = `0x00000003`
pub const FrontAndBack: Self = Self(sys::VK_CULL_MODE_FRONT_AND_BACK.0);
}
impl_flags_display!(CullModeFlags = VkCullModeFlags { None, Front, Back, FrontAndBack });
/// `VkDataGraphModelCacheTypeQCOM`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DataGraphModelCacheTypeQCOM(pub i32);
from_into_transparent!(DataGraphModelCacheTypeQCOM : i32);
from_by_transmute!(DataGraphModelCacheTypeQCOM => sys::VkDataGraphModelCacheTypeQCOM);
from_by_transmute!(sys::VkDataGraphModelCacheTypeQCOM => DataGraphModelCacheTypeQCOM);
impl_to_sys!(DataGraphModelCacheTypeQCOM => sys::VkDataGraphModelCacheTypeQCOM);
impl_enum!(DataGraphModelCacheTypeQCOM => sys::VkDataGraphModelCacheTypeQCOM);
impl DataGraphModelCacheTypeQCOM {
/// `VK_DATA_GRAPH_MODEL_CACHE_TYPE_GENERIC_BINARY_QCOM` = `0`
pub const GenericBinaryQcom: Self = Self(sys::VK_DATA_GRAPH_MODEL_CACHE_TYPE_GENERIC_BINARY_QCOM.0);
}
impl_enum_display!(DataGraphModelCacheTypeQCOM = VkDataGraphModelCacheTypeQCOM { GenericBinaryQcom });
/// `VkDataGraphPipelineDispatchFlagsARM`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DataGraphPipelineDispatchFlagsARM(pub i64);
flags!(DataGraphPipelineDispatchFlagsARM);
from_into_transparent!(DataGraphPipelineDispatchFlagsARM : i64);
from_by_transmute!(DataGraphPipelineDispatchFlagsARM => sys::VkDataGraphPipelineDispatchFlagsARM);
from_by_transmute!(sys::VkDataGraphPipelineDispatchFlagsARM => DataGraphPipelineDispatchFlagsARM);
impl_to_sys!(DataGraphPipelineDispatchFlagsARM => sys::VkDataGraphPipelineDispatchFlagsARM);
impl_enum!(DataGraphPipelineDispatchFlagsARM => sys::VkDataGraphPipelineDispatchFlagsARM);
impl_flags_display!(DataGraphPipelineDispatchFlagsARM = VkDataGraphPipelineDispatchFlagsARM { });
/// `VkDataGraphPipelinePropertyARM`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DataGraphPipelinePropertyARM(pub i32);
from_into_transparent!(DataGraphPipelinePropertyARM : i32);
from_by_transmute!(DataGraphPipelinePropertyARM => sys::VkDataGraphPipelinePropertyARM);
from_by_transmute!(sys::VkDataGraphPipelinePropertyARM => DataGraphPipelinePropertyARM);
impl_to_sys!(DataGraphPipelinePropertyARM => sys::VkDataGraphPipelinePropertyARM);
impl_enum!(DataGraphPipelinePropertyARM => sys::VkDataGraphPipelinePropertyARM);
impl DataGraphPipelinePropertyARM {
/// `VK_DATA_GRAPH_PIPELINE_PROPERTY_CREATION_LOG_ARM` = `0`
pub const CreationLogArm: Self = Self(sys::VK_DATA_GRAPH_PIPELINE_PROPERTY_CREATION_LOG_ARM.0);
/// `VK_DATA_GRAPH_PIPELINE_PROPERTY_IDENTIFIER_ARM` = `1`
pub const IdentifierArm: Self = Self(sys::VK_DATA_GRAPH_PIPELINE_PROPERTY_IDENTIFIER_ARM.0);
}
impl_enum_display!(DataGraphPipelinePropertyARM = VkDataGraphPipelinePropertyARM { CreationLogArm, IdentifierArm });
/// `VkDataGraphPipelineSessionBindPointARM`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DataGraphPipelineSessionBindPointARM(pub i32);
from_into_transparent!(DataGraphPipelineSessionBindPointARM : i32);
from_by_transmute!(DataGraphPipelineSessionBindPointARM => sys::VkDataGraphPipelineSessionBindPointARM);
from_by_transmute!(sys::VkDataGraphPipelineSessionBindPointARM => DataGraphPipelineSessionBindPointARM);
impl_to_sys!(DataGraphPipelineSessionBindPointARM => sys::VkDataGraphPipelineSessionBindPointARM);
impl_enum!(DataGraphPipelineSessionBindPointARM => sys::VkDataGraphPipelineSessionBindPointARM);
impl DataGraphPipelineSessionBindPointARM {
/// `VK_DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_TRANSIENT_ARM` = `0`
pub const TransientArm: Self = Self(sys::VK_DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_TRANSIENT_ARM.0);
}
impl_enum_display!(DataGraphPipelineSessionBindPointARM = VkDataGraphPipelineSessionBindPointARM { TransientArm });
/// `VkDataGraphPipelineSessionBindPointTypeARM`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DataGraphPipelineSessionBindPointTypeARM(pub i32);
from_into_transparent!(DataGraphPipelineSessionBindPointTypeARM : i32);
from_by_transmute!(DataGraphPipelineSessionBindPointTypeARM => sys::VkDataGraphPipelineSessionBindPointTypeARM);
from_by_transmute!(sys::VkDataGraphPipelineSessionBindPointTypeARM => DataGraphPipelineSessionBindPointTypeARM);
impl_to_sys!(DataGraphPipelineSessionBindPointTypeARM => sys::VkDataGraphPipelineSessionBindPointTypeARM);
impl_enum!(DataGraphPipelineSessionBindPointTypeARM => sys::VkDataGraphPipelineSessionBindPointTypeARM);
impl DataGraphPipelineSessionBindPointTypeARM {
/// `VK_DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_TYPE_MEMORY_ARM` = `0`
pub const MemoryArm: Self = Self(sys::VK_DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_TYPE_MEMORY_ARM.0);
}
impl_enum_display!(DataGraphPipelineSessionBindPointTypeARM = VkDataGraphPipelineSessionBindPointTypeARM { MemoryArm });
/// `VkDataGraphPipelineSessionCreateFlagsARM`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DataGraphPipelineSessionCreateFlagsARM(pub i64);
flags!(DataGraphPipelineSessionCreateFlagsARM);
from_into_transparent!(DataGraphPipelineSessionCreateFlagsARM : i64);
from_by_transmute!(DataGraphPipelineSessionCreateFlagsARM => sys::VkDataGraphPipelineSessionCreateFlagsARM);
from_by_transmute!(sys::VkDataGraphPipelineSessionCreateFlagsARM => DataGraphPipelineSessionCreateFlagsARM);
impl_to_sys!(DataGraphPipelineSessionCreateFlagsARM => sys::VkDataGraphPipelineSessionCreateFlagsARM);
impl_enum!(DataGraphPipelineSessionCreateFlagsARM => sys::VkDataGraphPipelineSessionCreateFlagsARM);
impl DataGraphPipelineSessionCreateFlagsARM {
/// `VK_DATA_GRAPH_PIPELINE_SESSION_CREATE_PROTECTED_BIT_ARM` = `1 << 0`
pub const ProtectedArm: Self = Self(sys::VK_DATA_GRAPH_PIPELINE_SESSION_CREATE_PROTECTED_BIT_ARM.0);
}
impl_flags_display!(DataGraphPipelineSessionCreateFlagsARM = VkDataGraphPipelineSessionCreateFlagsARM { ProtectedArm });
/// `VkDebugReportFlagsEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DebugReportFlagsEXT(pub i32);
flags!(DebugReportFlagsEXT);
from_into_transparent!(DebugReportFlagsEXT : i32);
from_by_transmute!(DebugReportFlagsEXT => sys::VkDebugReportFlagsEXT);
from_by_transmute!(sys::VkDebugReportFlagsEXT => DebugReportFlagsEXT);
impl_to_sys!(DebugReportFlagsEXT => sys::VkDebugReportFlagsEXT);
impl_enum!(DebugReportFlagsEXT => sys::VkDebugReportFlagsEXT);
impl DebugReportFlagsEXT {
/// `VK_DEBUG_REPORT_INFORMATION_BIT_EXT` = `1 << 0`
pub const InformationExt: Self = Self(sys::VK_DEBUG_REPORT_INFORMATION_BIT_EXT.0);
/// `VK_DEBUG_REPORT_WARNING_BIT_EXT` = `1 << 1`
pub const WarningExt: Self = Self(sys::VK_DEBUG_REPORT_WARNING_BIT_EXT.0);
/// `VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT` = `1 << 2`
pub const PerformanceWarningExt: Self = Self(sys::VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT.0);
/// `VK_DEBUG_REPORT_ERROR_BIT_EXT` = `1 << 3`
pub const ErrorExt: Self = Self(sys::VK_DEBUG_REPORT_ERROR_BIT_EXT.0);
/// `VK_DEBUG_REPORT_DEBUG_BIT_EXT` = `1 << 4`
pub const DebugExt: Self = Self(sys::VK_DEBUG_REPORT_DEBUG_BIT_EXT.0);
}
impl_flags_display!(DebugReportFlagsEXT = VkDebugReportFlagsEXT { InformationExt, WarningExt, PerformanceWarningExt, ErrorExt, DebugExt });
/// `VkDebugReportObjectTypeEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DebugReportObjectTypeEXT(pub i32);
from_into_transparent!(DebugReportObjectTypeEXT : i32);
from_by_transmute!(DebugReportObjectTypeEXT => sys::VkDebugReportObjectTypeEXT);
from_by_transmute!(sys::VkDebugReportObjectTypeEXT => DebugReportObjectTypeEXT);
impl_to_sys!(DebugReportObjectTypeEXT => sys::VkDebugReportObjectTypeEXT);
impl_enum!(DebugReportObjectTypeEXT => sys::VkDebugReportObjectTypeEXT);
impl DebugReportObjectTypeEXT {
/// `VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT` = `0`
pub const UnknownExt: Self = Self(sys::VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT.0);
/// `VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT` = `1`
pub const InstanceExt: Self = Self(sys::VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT.0);
/// `VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT` = `2`
pub const PhysicalDeviceExt: Self = Self(sys::VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT.0);
/// `VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT` = `3`
pub const DeviceExt: Self = Self(sys::VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT.0);
/// `VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT` = `4`
pub const QueueExt: Self = Self(sys::VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT.0);
/// `VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT` = `5`
pub const SemaphoreExt: Self = Self(sys::VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT.0);
/// `VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT` = `6`
pub const CommandBufferExt: Self = Self(sys::VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT.0);
/// `VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT` = `7`
pub const FenceExt: Self = Self(sys::VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT.0);
/// `VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT` = `8`
pub const DeviceMemoryExt: Self = Self(sys::VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT.0);
/// `VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT` = `9`
pub const BufferExt: Self = Self(sys::VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT.0);
/// `VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT` = `10`
pub const ImageExt: Self = Self(sys::VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT.0);
/// `VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT` = `11`
pub const EventExt: Self = Self(sys::VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT.0);
/// `VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT` = `12`
pub const QueryPoolExt: Self = Self(sys::VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT.0);
/// `VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT` = `13`
pub const BufferViewExt: Self = Self(sys::VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT.0);
/// `VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT` = `14`
pub const ImageViewExt: Self = Self(sys::VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT.0);
/// `VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT` = `15`
pub const ShaderModuleExt: Self = Self(sys::VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT.0);
/// `VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT` = `16`
pub const PipelineCacheExt: Self = Self(sys::VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT.0);
/// `VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT` = `17`
pub const PipelineLayoutExt: Self = Self(sys::VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT.0);
/// `VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT` = `18`
pub const RenderPassExt: Self = Self(sys::VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT.0);
/// `VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT` = `19`
pub const PipelineExt: Self = Self(sys::VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT.0);
/// `VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT` = `20`
pub const DescriptorSetLayoutExt: Self = Self(sys::VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT.0);
/// `VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT` = `21`
pub const SamplerExt: Self = Self(sys::VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT.0);
/// `VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT` = `22`
pub const DescriptorPoolExt: Self = Self(sys::VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT.0);
/// `VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT` = `23`
pub const DescriptorSetExt: Self = Self(sys::VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT.0);
/// `VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT` = `24`
pub const FramebufferExt: Self = Self(sys::VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT.0);
/// `VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT` = `25`
pub const CommandPoolExt: Self = Self(sys::VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT.0);
/// `VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT` = `26`
pub const SurfaceKhrExt: Self = Self(sys::VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT.0);
/// `VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT` = `27`
pub const SwapchainKhrExt: Self = Self(sys::VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT.0);
/// `VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT` = `28`
pub const DebugReportCallbackExtExt: Self = Self(sys::VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT.0);
/// `VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT` = `VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT`
pub const DebugReportExt: Self = Self(sys::VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT.0);
/// `VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT` = `29`
pub const DisplayKhrExt: Self = Self(sys::VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT.0);
/// `VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT` = `30`
pub const DisplayModeKhrExt: Self = Self(sys::VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT.0);
/// `VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT` = `33`
pub const ValidationCacheExtExt: Self = Self(sys::VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT.0);
/// `VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT` = `VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT`
pub const ValidationCacheExt: Self = Self(sys::VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT.0);
/// `VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT` = `1000156000`
pub const SamplerYcbcrConversionExt: Self = Self(sys::VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT.0);
/// `VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT` = `1000085000`
pub const DescriptorUpdateTemplateExt: Self = Self(sys::VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT.0);
/// `VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT` = `1000029000`
pub const CuModuleNvxExt: Self = Self(sys::VK_DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT.0);
/// `VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT` = `1000029001`
pub const CuFunctionNvxExt: Self = Self(sys::VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT.0);
/// `VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT` = `VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT`
pub const DescriptorUpdateTemplateKhrExt: Self = Self(sys::VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT.0);
/// `VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT` = `1000150000`
pub const AccelerationStructureKhrExt: Self = Self(sys::VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT.0);
/// `VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT` = `VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT`
pub const SamplerYcbcrConversionKhrExt: Self = Self(sys::VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR_EXT.0);
/// `VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT` = `1000165000`
pub const AccelerationStructureNvExt: Self = Self(sys::VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT.0);
/// `VK_DEBUG_REPORT_OBJECT_TYPE_CUDA_MODULE_NV_EXT` = `1000307000`
pub const CudaModuleNvExt: Self = Self(sys::VK_DEBUG_REPORT_OBJECT_TYPE_CUDA_MODULE_NV_EXT.0);
/// `VK_DEBUG_REPORT_OBJECT_TYPE_CUDA_FUNCTION_NV_EXT` = `1000307001`
pub const CudaFunctionNvExt: Self = Self(sys::VK_DEBUG_REPORT_OBJECT_TYPE_CUDA_FUNCTION_NV_EXT.0);
/// `VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT` = `1000366000`
pub const BufferCollectionFuchsiaExt: Self = Self(sys::VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT.0);
}
impl_enum_display!(DebugReportObjectTypeEXT = VkDebugReportObjectTypeEXT { UnknownExt, InstanceExt, PhysicalDeviceExt, DeviceExt, QueueExt, SemaphoreExt, CommandBufferExt, FenceExt, DeviceMemoryExt, BufferExt, ImageExt, EventExt, QueryPoolExt, BufferViewExt, ImageViewExt, ShaderModuleExt, PipelineCacheExt, PipelineLayoutExt, RenderPassExt, PipelineExt, DescriptorSetLayoutExt, SamplerExt, DescriptorPoolExt, DescriptorSetExt, FramebufferExt, CommandPoolExt, SurfaceKhrExt, SwapchainKhrExt, DebugReportCallbackExtExt, DebugReportExt, DisplayKhrExt, DisplayModeKhrExt, ValidationCacheExtExt, ValidationCacheExt, SamplerYcbcrConversionExt, DescriptorUpdateTemplateExt, CuModuleNvxExt, CuFunctionNvxExt, DescriptorUpdateTemplateKhrExt, AccelerationStructureKhrExt, SamplerYcbcrConversionKhrExt, AccelerationStructureNvExt, CudaModuleNvExt, CudaFunctionNvExt, BufferCollectionFuchsiaExt });
/// `VkDebugUtilsMessageSeverityFlagsEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DebugUtilsMessageSeverityFlagsEXT(pub i32);
flags!(DebugUtilsMessageSeverityFlagsEXT);
from_into_transparent!(DebugUtilsMessageSeverityFlagsEXT : i32);
from_by_transmute!(DebugUtilsMessageSeverityFlagsEXT => sys::VkDebugUtilsMessageSeverityFlagsEXT);
from_by_transmute!(sys::VkDebugUtilsMessageSeverityFlagsEXT => DebugUtilsMessageSeverityFlagsEXT);
impl_to_sys!(DebugUtilsMessageSeverityFlagsEXT => sys::VkDebugUtilsMessageSeverityFlagsEXT);
impl_enum!(DebugUtilsMessageSeverityFlagsEXT => sys::VkDebugUtilsMessageSeverityFlagsEXT);
impl DebugUtilsMessageSeverityFlagsEXT {
/// `VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT` = `1 << 0`
pub const VerboseExt: Self = Self(sys::VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT.0);
/// `VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT` = `1 << 4`
pub const InfoExt: Self = Self(sys::VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT.0);
/// `VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT` = `1 << 8`
pub const WarningExt: Self = Self(sys::VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT.0);
/// `VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT` = `1 << 12`
pub const ErrorExt: Self = Self(sys::VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT.0);
}
impl_flags_display!(DebugUtilsMessageSeverityFlagsEXT = VkDebugUtilsMessageSeverityFlagsEXT { VerboseExt, InfoExt, WarningExt, ErrorExt });
/// `VkDebugUtilsMessageTypeFlagsEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DebugUtilsMessageTypeFlagsEXT(pub i32);
flags!(DebugUtilsMessageTypeFlagsEXT);
from_into_transparent!(DebugUtilsMessageTypeFlagsEXT : i32);
from_by_transmute!(DebugUtilsMessageTypeFlagsEXT => sys::VkDebugUtilsMessageTypeFlagsEXT);
from_by_transmute!(sys::VkDebugUtilsMessageTypeFlagsEXT => DebugUtilsMessageTypeFlagsEXT);
impl_to_sys!(DebugUtilsMessageTypeFlagsEXT => sys::VkDebugUtilsMessageTypeFlagsEXT);
impl_enum!(DebugUtilsMessageTypeFlagsEXT => sys::VkDebugUtilsMessageTypeFlagsEXT);
impl DebugUtilsMessageTypeFlagsEXT {
/// `VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT` = `1 << 0`
pub const GeneralExt: Self = Self(sys::VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT.0);
/// `VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT` = `1 << 1`
pub const ValidationExt: Self = Self(sys::VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT.0);
/// `VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT` = `1 << 2`
pub const PerformanceExt: Self = Self(sys::VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT.0);
/// `VK_DEBUG_UTILS_MESSAGE_TYPE_DEVICE_ADDRESS_BINDING_BIT_EXT` = `1 << 3`
pub const DeviceAddressBindingExt: Self = Self(sys::VK_DEBUG_UTILS_MESSAGE_TYPE_DEVICE_ADDRESS_BINDING_BIT_EXT.0);
}
impl_flags_display!(DebugUtilsMessageTypeFlagsEXT = VkDebugUtilsMessageTypeFlagsEXT { GeneralExt, ValidationExt, PerformanceExt, DeviceAddressBindingExt });
/// `VkDebugUtilsMessengerCallbackDataFlagsEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DebugUtilsMessengerCallbackDataFlagsEXT(pub i32);
flags!(DebugUtilsMessengerCallbackDataFlagsEXT);
from_into_transparent!(DebugUtilsMessengerCallbackDataFlagsEXT : i32);
from_by_transmute!(DebugUtilsMessengerCallbackDataFlagsEXT => sys::VkDebugUtilsMessengerCallbackDataFlagsEXT);
from_by_transmute!(sys::VkDebugUtilsMessengerCallbackDataFlagsEXT => DebugUtilsMessengerCallbackDataFlagsEXT);
impl_to_sys!(DebugUtilsMessengerCallbackDataFlagsEXT => sys::VkDebugUtilsMessengerCallbackDataFlagsEXT);
impl_enum!(DebugUtilsMessengerCallbackDataFlagsEXT => sys::VkDebugUtilsMessengerCallbackDataFlagsEXT);
impl_flags_display!(DebugUtilsMessengerCallbackDataFlagsEXT = VkDebugUtilsMessengerCallbackDataFlagsEXT { });
/// `VkDebugUtilsMessengerCreateFlagsEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DebugUtilsMessengerCreateFlagsEXT(pub i32);
flags!(DebugUtilsMessengerCreateFlagsEXT);
from_into_transparent!(DebugUtilsMessengerCreateFlagsEXT : i32);
from_by_transmute!(DebugUtilsMessengerCreateFlagsEXT => sys::VkDebugUtilsMessengerCreateFlagsEXT);
from_by_transmute!(sys::VkDebugUtilsMessengerCreateFlagsEXT => DebugUtilsMessengerCreateFlagsEXT);
impl_to_sys!(DebugUtilsMessengerCreateFlagsEXT => sys::VkDebugUtilsMessengerCreateFlagsEXT);
impl_enum!(DebugUtilsMessengerCreateFlagsEXT => sys::VkDebugUtilsMessengerCreateFlagsEXT);
impl_flags_display!(DebugUtilsMessengerCreateFlagsEXT = VkDebugUtilsMessengerCreateFlagsEXT { });
/// `VkDefaultVertexAttributeValueKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DefaultVertexAttributeValueKHR(pub i32);
from_into_transparent!(DefaultVertexAttributeValueKHR : i32);
from_by_transmute!(DefaultVertexAttributeValueKHR => sys::VkDefaultVertexAttributeValueKHR);
from_by_transmute!(sys::VkDefaultVertexAttributeValueKHR => DefaultVertexAttributeValueKHR);
impl_to_sys!(DefaultVertexAttributeValueKHR => sys::VkDefaultVertexAttributeValueKHR);
impl_enum!(DefaultVertexAttributeValueKHR => sys::VkDefaultVertexAttributeValueKHR);
impl DefaultVertexAttributeValueKHR {
/// `VK_DEFAULT_VERTEX_ATTRIBUTE_VALUE_ZERO_ZERO_ZERO_ZERO_KHR` = `0`
pub const ZeroZeroZeroZeroKhr: Self = Self(sys::VK_DEFAULT_VERTEX_ATTRIBUTE_VALUE_ZERO_ZERO_ZERO_ZERO_KHR.0);
/// `VK_DEFAULT_VERTEX_ATTRIBUTE_VALUE_ZERO_ZERO_ZERO_ONE_KHR` = `1`
pub const ZeroZeroZeroOneKhr: Self = Self(sys::VK_DEFAULT_VERTEX_ATTRIBUTE_VALUE_ZERO_ZERO_ZERO_ONE_KHR.0);
}
impl_enum_display!(DefaultVertexAttributeValueKHR = VkDefaultVertexAttributeValueKHR { ZeroZeroZeroZeroKhr, ZeroZeroZeroOneKhr });
/// `VkDependencyFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DependencyFlags(pub i32);
flags!(DependencyFlags);
from_into_transparent!(DependencyFlags : i32);
from_by_transmute!(DependencyFlags => sys::VkDependencyFlags);
from_by_transmute!(sys::VkDependencyFlags => DependencyFlags);
impl_to_sys!(DependencyFlags => sys::VkDependencyFlags);
impl_enum!(DependencyFlags => sys::VkDependencyFlags);
impl DependencyFlags {
/// `VK_DEPENDENCY_BY_REGION_BIT` = `1 << 0`
///
/// Dependency is per pixel region
pub const ByRegion: Self = Self(sys::VK_DEPENDENCY_BY_REGION_BIT.0);
/// `VK_DEPENDENCY_DEVICE_GROUP_BIT` = `1 << 2`
///
/// Dependency is across devices
pub const DeviceGroup: Self = Self(sys::VK_DEPENDENCY_DEVICE_GROUP_BIT.0);
/// `VK_DEPENDENCY_VIEW_LOCAL_BIT` = `1 << 1`
pub const ViewLocal: Self = Self(sys::VK_DEPENDENCY_VIEW_LOCAL_BIT.0);
/// `VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR` = `VK_DEPENDENCY_VIEW_LOCAL_BIT`
pub const ViewLocalKhr: Self = Self(sys::VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR.0);
/// `VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR` = `VK_DEPENDENCY_DEVICE_GROUP_BIT`
pub const DeviceGroupKhr: Self = Self(sys::VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR.0);
/// `VK_DEPENDENCY_FEEDBACK_LOOP_BIT_EXT` = `1 << 3`
///
/// Dependency may be a feedback loop
pub const FeedbackLoopExt: Self = Self(sys::VK_DEPENDENCY_FEEDBACK_LOOP_BIT_EXT.0);
/// `VK_DEPENDENCY_QUEUE_FAMILY_OWNERSHIP_TRANSFER_USE_ALL_STAGES_BIT_KHR` = `1 << 5`
pub const QueueFamilyOwnershipTransferUseAllStagesKhr: Self = Self(sys::VK_DEPENDENCY_QUEUE_FAMILY_OWNERSHIP_TRANSFER_USE_ALL_STAGES_BIT_KHR.0);
/// `VK_DEPENDENCY_ASYMMETRIC_EVENT_BIT_KHR` = `1 << 6`
pub const AsymmetricEventKhr: Self = Self(sys::VK_DEPENDENCY_ASYMMETRIC_EVENT_BIT_KHR.0);
/// `VK_DEPENDENCY_EXTENSION_586_BIT_IMG` = `1 << 4`
pub const Extension586Img: Self = Self(sys::VK_DEPENDENCY_EXTENSION_586_BIT_IMG.0);
}
impl_flags_display!(DependencyFlags = VkDependencyFlags { ByRegion, DeviceGroup, ViewLocal, ViewLocalKhr, DeviceGroupKhr, FeedbackLoopExt, QueueFamilyOwnershipTransferUseAllStagesKhr, AsymmetricEventKhr, Extension586Img });
/// `VkDepthBiasRepresentationEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DepthBiasRepresentationEXT(pub i32);
from_into_transparent!(DepthBiasRepresentationEXT : i32);
from_by_transmute!(DepthBiasRepresentationEXT => sys::VkDepthBiasRepresentationEXT);
from_by_transmute!(sys::VkDepthBiasRepresentationEXT => DepthBiasRepresentationEXT);
impl_to_sys!(DepthBiasRepresentationEXT => sys::VkDepthBiasRepresentationEXT);
impl_enum!(DepthBiasRepresentationEXT => sys::VkDepthBiasRepresentationEXT);
impl DepthBiasRepresentationEXT {
/// `VK_DEPTH_BIAS_REPRESENTATION_LEAST_REPRESENTABLE_VALUE_FORMAT_EXT` = `0`
pub const LeastRepresentableValueFormatExt: Self = Self(sys::VK_DEPTH_BIAS_REPRESENTATION_LEAST_REPRESENTABLE_VALUE_FORMAT_EXT.0);
/// `VK_DEPTH_BIAS_REPRESENTATION_LEAST_REPRESENTABLE_VALUE_FORCE_UNORM_EXT` = `1`
pub const LeastRepresentableValueForceUnormExt: Self = Self(sys::VK_DEPTH_BIAS_REPRESENTATION_LEAST_REPRESENTABLE_VALUE_FORCE_UNORM_EXT.0);
/// `VK_DEPTH_BIAS_REPRESENTATION_FLOAT_EXT` = `2`
pub const FloatExt: Self = Self(sys::VK_DEPTH_BIAS_REPRESENTATION_FLOAT_EXT.0);
}
impl_enum_display!(DepthBiasRepresentationEXT = VkDepthBiasRepresentationEXT { LeastRepresentableValueFormatExt, LeastRepresentableValueForceUnormExt, FloatExt });
/// `VkDepthClampModeEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DepthClampModeEXT(pub i32);
from_into_transparent!(DepthClampModeEXT : i32);
from_by_transmute!(DepthClampModeEXT => sys::VkDepthClampModeEXT);
from_by_transmute!(sys::VkDepthClampModeEXT => DepthClampModeEXT);
impl_to_sys!(DepthClampModeEXT => sys::VkDepthClampModeEXT);
impl_enum!(DepthClampModeEXT => sys::VkDepthClampModeEXT);
impl DepthClampModeEXT {
/// `VK_DEPTH_CLAMP_MODE_VIEWPORT_RANGE_EXT` = `0`
pub const ViewportRangeExt: Self = Self(sys::VK_DEPTH_CLAMP_MODE_VIEWPORT_RANGE_EXT.0);
/// `VK_DEPTH_CLAMP_MODE_USER_DEFINED_RANGE_EXT` = `1`
pub const UserDefinedRangeExt: Self = Self(sys::VK_DEPTH_CLAMP_MODE_USER_DEFINED_RANGE_EXT.0);
}
impl_enum_display!(DepthClampModeEXT = VkDepthClampModeEXT { ViewportRangeExt, UserDefinedRangeExt });
/// `VkDescriptorBindingFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DescriptorBindingFlags(pub i32);
flags!(DescriptorBindingFlags);
from_into_transparent!(DescriptorBindingFlags : i32);
from_by_transmute!(DescriptorBindingFlags => sys::VkDescriptorBindingFlags);
from_by_transmute!(sys::VkDescriptorBindingFlags => DescriptorBindingFlags);
impl_to_sys!(DescriptorBindingFlags => sys::VkDescriptorBindingFlags);
impl_enum!(DescriptorBindingFlags => sys::VkDescriptorBindingFlags);
impl DescriptorBindingFlags {
/// `VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT` = `1 << 0`
pub const UpdateAfterBind: Self = Self(sys::VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT.0);
/// `VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT` = `1 << 1`
pub const UpdateUnusedWhilePending: Self = Self(sys::VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT.0);
/// `VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT` = `1 << 2`
pub const PartiallyBound: Self = Self(sys::VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT.0);
/// `VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT` = `1 << 3`
pub const VariableDescriptorCount: Self = Self(sys::VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT.0);
/// `VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT` = `VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT`
pub const UpdateAfterBindExt: Self = Self(sys::VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT.0);
/// `VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT` = `VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT`
pub const UpdateUnusedWhilePendingExt: Self = Self(sys::VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT.0);
/// `VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT` = `VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT`
pub const PartiallyBoundExt: Self = Self(sys::VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT.0);
/// `VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT` = `VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT`
pub const VariableDescriptorCountExt: Self = Self(sys::VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT.0);
/// `VK_DESCRIPTOR_BINDING_RESERVED_4_BIT_QCOM` = `1 << 4`
pub const Reserved4Qcom: Self = Self(sys::VK_DESCRIPTOR_BINDING_RESERVED_4_BIT_QCOM.0);
}
impl_flags_display!(DescriptorBindingFlags = VkDescriptorBindingFlags { UpdateAfterBind, UpdateUnusedWhilePending, PartiallyBound, VariableDescriptorCount, UpdateAfterBindExt, UpdateUnusedWhilePendingExt, PartiallyBoundExt, VariableDescriptorCountExt, Reserved4Qcom });
/// `VkDescriptorBindingFlagsEXT` = `VkDescriptorBindingFlags`
pub type DescriptorBindingFlagsEXT = DescriptorBindingFlags;
/// `VkDescriptorMappingSourceEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DescriptorMappingSourceEXT(pub i32);
from_into_transparent!(DescriptorMappingSourceEXT : i32);
from_by_transmute!(DescriptorMappingSourceEXT => sys::VkDescriptorMappingSourceEXT);
from_by_transmute!(sys::VkDescriptorMappingSourceEXT => DescriptorMappingSourceEXT);
impl_to_sys!(DescriptorMappingSourceEXT => sys::VkDescriptorMappingSourceEXT);
impl_enum!(DescriptorMappingSourceEXT => sys::VkDescriptorMappingSourceEXT);
impl DescriptorMappingSourceEXT {
/// `VK_DESCRIPTOR_MAPPING_SOURCE_HEAP_WITH_CONSTANT_OFFSET_EXT` = `0`
pub const HeapWithConstantOffsetExt: Self = Self(sys::VK_DESCRIPTOR_MAPPING_SOURCE_HEAP_WITH_CONSTANT_OFFSET_EXT.0);
/// `VK_DESCRIPTOR_MAPPING_SOURCE_HEAP_WITH_PUSH_INDEX_EXT` = `1`
pub const HeapWithPushIndexExt: Self = Self(sys::VK_DESCRIPTOR_MAPPING_SOURCE_HEAP_WITH_PUSH_INDEX_EXT.0);
/// `VK_DESCRIPTOR_MAPPING_SOURCE_HEAP_WITH_INDIRECT_INDEX_EXT` = `2`
pub const HeapWithIndirectIndexExt: Self = Self(sys::VK_DESCRIPTOR_MAPPING_SOURCE_HEAP_WITH_INDIRECT_INDEX_EXT.0);
/// `VK_DESCRIPTOR_MAPPING_SOURCE_HEAP_WITH_INDIRECT_INDEX_ARRAY_EXT` = `3`
pub const HeapWithIndirectIndexArrayExt: Self = Self(sys::VK_DESCRIPTOR_MAPPING_SOURCE_HEAP_WITH_INDIRECT_INDEX_ARRAY_EXT.0);
/// `VK_DESCRIPTOR_MAPPING_SOURCE_RESOURCE_HEAP_DATA_EXT` = `4`
pub const ResourceHeapDataExt: Self = Self(sys::VK_DESCRIPTOR_MAPPING_SOURCE_RESOURCE_HEAP_DATA_EXT.0);
/// `VK_DESCRIPTOR_MAPPING_SOURCE_PUSH_DATA_EXT` = `5`
pub const PushDataExt: Self = Self(sys::VK_DESCRIPTOR_MAPPING_SOURCE_PUSH_DATA_EXT.0);
/// `VK_DESCRIPTOR_MAPPING_SOURCE_PUSH_ADDRESS_EXT` = `6`
pub const PushAddressExt: Self = Self(sys::VK_DESCRIPTOR_MAPPING_SOURCE_PUSH_ADDRESS_EXT.0);
/// `VK_DESCRIPTOR_MAPPING_SOURCE_INDIRECT_ADDRESS_EXT` = `7`
pub const IndirectAddressExt: Self = Self(sys::VK_DESCRIPTOR_MAPPING_SOURCE_INDIRECT_ADDRESS_EXT.0);
/// `VK_DESCRIPTOR_MAPPING_SOURCE_HEAP_WITH_SHADER_RECORD_INDEX_EXT` = `8`
pub const HeapWithShaderRecordIndexExt: Self = Self(sys::VK_DESCRIPTOR_MAPPING_SOURCE_HEAP_WITH_SHADER_RECORD_INDEX_EXT.0);
/// `VK_DESCRIPTOR_MAPPING_SOURCE_SHADER_RECORD_DATA_EXT` = `9`
pub const ShaderRecordDataExt: Self = Self(sys::VK_DESCRIPTOR_MAPPING_SOURCE_SHADER_RECORD_DATA_EXT.0);
/// `VK_DESCRIPTOR_MAPPING_SOURCE_SHADER_RECORD_ADDRESS_EXT` = `10`
pub const ShaderRecordAddressExt: Self = Self(sys::VK_DESCRIPTOR_MAPPING_SOURCE_SHADER_RECORD_ADDRESS_EXT.0);
}
impl_enum_display!(DescriptorMappingSourceEXT = VkDescriptorMappingSourceEXT { HeapWithConstantOffsetExt, HeapWithPushIndexExt, HeapWithIndirectIndexExt, HeapWithIndirectIndexArrayExt, ResourceHeapDataExt, PushDataExt, PushAddressExt, IndirectAddressExt, HeapWithShaderRecordIndexExt, ShaderRecordDataExt, ShaderRecordAddressExt });
/// `VkDescriptorPoolCreateFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DescriptorPoolCreateFlags(pub i32);
flags!(DescriptorPoolCreateFlags);
from_into_transparent!(DescriptorPoolCreateFlags : i32);
from_by_transmute!(DescriptorPoolCreateFlags => sys::VkDescriptorPoolCreateFlags);
from_by_transmute!(sys::VkDescriptorPoolCreateFlags => DescriptorPoolCreateFlags);
impl_to_sys!(DescriptorPoolCreateFlags => sys::VkDescriptorPoolCreateFlags);
impl_enum!(DescriptorPoolCreateFlags => sys::VkDescriptorPoolCreateFlags);
impl DescriptorPoolCreateFlags {
/// `VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT` = `1 << 0`
///
/// Descriptor sets may be freed individually
pub const FreeDescriptorSet: Self = Self(sys::VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT.0);
/// `VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT` = `1 << 1`
pub const UpdateAfterBind: Self = Self(sys::VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT.0);
/// `VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT` = `VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT`
pub const UpdateAfterBindExt: Self = Self(sys::VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT.0);
/// `VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE` = `VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT`
pub const HostOnlyValve: Self = Self(sys::VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE.0);
/// `VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT` = `1 << 2`
pub const HostOnlyExt: Self = Self(sys::VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT.0);
/// `VK_DESCRIPTOR_POOL_CREATE_ALLOW_OVERALLOCATION_SETS_BIT_NV` = `1 << 3`
pub const AllowOverallocationSetsNv: Self = Self(sys::VK_DESCRIPTOR_POOL_CREATE_ALLOW_OVERALLOCATION_SETS_BIT_NV.0);
/// `VK_DESCRIPTOR_POOL_CREATE_ALLOW_OVERALLOCATION_POOLS_BIT_NV` = `1 << 4`
pub const AllowOverallocationPoolsNv: Self = Self(sys::VK_DESCRIPTOR_POOL_CREATE_ALLOW_OVERALLOCATION_POOLS_BIT_NV.0);
}
impl_flags_display!(DescriptorPoolCreateFlags = VkDescriptorPoolCreateFlags { FreeDescriptorSet, UpdateAfterBind, UpdateAfterBindExt, HostOnlyValve, HostOnlyExt, AllowOverallocationSetsNv, AllowOverallocationPoolsNv });
/// `VkDescriptorPoolResetFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DescriptorPoolResetFlags(pub i32);
flags!(DescriptorPoolResetFlags);
from_into_transparent!(DescriptorPoolResetFlags : i32);
from_by_transmute!(DescriptorPoolResetFlags => sys::VkDescriptorPoolResetFlags);
from_by_transmute!(sys::VkDescriptorPoolResetFlags => DescriptorPoolResetFlags);
impl_to_sys!(DescriptorPoolResetFlags => sys::VkDescriptorPoolResetFlags);
impl_enum!(DescriptorPoolResetFlags => sys::VkDescriptorPoolResetFlags);
impl_flags_display!(DescriptorPoolResetFlags = VkDescriptorPoolResetFlags { });
/// `VkDescriptorSetLayoutCreateFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DescriptorSetLayoutCreateFlags(pub i32);
flags!(DescriptorSetLayoutCreateFlags);
from_into_transparent!(DescriptorSetLayoutCreateFlags : i32);
from_by_transmute!(DescriptorSetLayoutCreateFlags => sys::VkDescriptorSetLayoutCreateFlags);
from_by_transmute!(sys::VkDescriptorSetLayoutCreateFlags => DescriptorSetLayoutCreateFlags);
impl_to_sys!(DescriptorSetLayoutCreateFlags => sys::VkDescriptorSetLayoutCreateFlags);
impl_enum!(DescriptorSetLayoutCreateFlags => sys::VkDescriptorSetLayoutCreateFlags);
impl DescriptorSetLayoutCreateFlags {
/// `VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT` = `1 << 1`
pub const UpdateAfterBindPool: Self = Self(sys::VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT.0);
/// `VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT` = `1 << 0`
pub const PushDescriptor: Self = Self(sys::VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT.0);
/// `VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR` = `VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT`
///
/// Descriptors are pushed via flink:vkCmdPushDescriptorSet
pub const PushDescriptorKhr: Self = Self(sys::VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR.0);
/// `VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT` = `VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT`
pub const UpdateAfterBindPoolExt: Self = Self(sys::VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT.0);
/// `VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT` = `1 << 4`
pub const DescriptorBufferExt: Self = Self(sys::VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT.0);
/// `VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT` = `1 << 5`
pub const EmbeddedImmutableSamplersExt: Self = Self(sys::VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT.0);
/// `VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE` = `VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT`
pub const HostOnlyPoolValve: Self = Self(sys::VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE.0);
/// `VK_DESCRIPTOR_SET_LAYOUT_CREATE_INDIRECT_BINDABLE_BIT_NV` = `1 << 7`
pub const IndirectBindableNv: Self = Self(sys::VK_DESCRIPTOR_SET_LAYOUT_CREATE_INDIRECT_BINDABLE_BIT_NV.0);
/// `VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT` = `1 << 2`
pub const HostOnlyPoolExt: Self = Self(sys::VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT.0);
/// `VK_DESCRIPTOR_SET_LAYOUT_CREATE_PER_STAGE_BIT_NV` = `1 << 6`
pub const PerStageNv: Self = Self(sys::VK_DESCRIPTOR_SET_LAYOUT_CREATE_PER_STAGE_BIT_NV.0);
}
impl_flags_display!(DescriptorSetLayoutCreateFlags = VkDescriptorSetLayoutCreateFlags { UpdateAfterBindPool, PushDescriptor, PushDescriptorKhr, UpdateAfterBindPoolExt, DescriptorBufferExt, EmbeddedImmutableSamplersExt, HostOnlyPoolValve, IndirectBindableNv, HostOnlyPoolExt, PerStageNv });
/// `VkDescriptorType`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DescriptorType(pub i32);
from_into_transparent!(DescriptorType : i32);
from_by_transmute!(DescriptorType => sys::VkDescriptorType);
from_by_transmute!(sys::VkDescriptorType => DescriptorType);
impl_to_sys!(DescriptorType => sys::VkDescriptorType);
impl_enum!(DescriptorType => sys::VkDescriptorType);
impl DescriptorType {
/// `VK_DESCRIPTOR_TYPE_SAMPLER` = `0`
pub const Sampler: Self = Self(sys::VK_DESCRIPTOR_TYPE_SAMPLER.0);
/// `VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER` = `1`
pub const CombinedImageSampler: Self = Self(sys::VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER.0);
/// `VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE` = `2`
pub const SampledImage: Self = Self(sys::VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE.0);
/// `VK_DESCRIPTOR_TYPE_STORAGE_IMAGE` = `3`
pub const StorageImage: Self = Self(sys::VK_DESCRIPTOR_TYPE_STORAGE_IMAGE.0);
/// `VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER` = `4`
pub const UniformTexelBuffer: Self = Self(sys::VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER.0);
/// `VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER` = `5`
pub const StorageTexelBuffer: Self = Self(sys::VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER.0);
/// `VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER` = `6`
pub const UniformBuffer: Self = Self(sys::VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER.0);
/// `VK_DESCRIPTOR_TYPE_STORAGE_BUFFER` = `7`
pub const StorageBuffer: Self = Self(sys::VK_DESCRIPTOR_TYPE_STORAGE_BUFFER.0);
/// `VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC` = `8`
pub const UniformBufferDynamic: Self = Self(sys::VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC.0);
/// `VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC` = `9`
pub const StorageBufferDynamic: Self = Self(sys::VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC.0);
/// `VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT` = `10`
pub const InputAttachment: Self = Self(sys::VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT.0);
/// `VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK` = `1000138000`
pub const InlineUniformBlock: Self = Self(sys::VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK.0);
/// `VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT` = `VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK`
pub const InlineUniformBlockExt: Self = Self(sys::VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT.0);
/// `VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR` = `1000150000`
pub const AccelerationStructureKhr: Self = Self(sys::VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR.0);
/// `VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV` = `1000165000`
pub const AccelerationStructureNv: Self = Self(sys::VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV.0);
/// `VK_DESCRIPTOR_TYPE_MUTABLE_VALVE` = `VK_DESCRIPTOR_TYPE_MUTABLE_EXT`
pub const MutableValve: Self = Self(sys::VK_DESCRIPTOR_TYPE_MUTABLE_VALVE.0);
/// `VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM` = `1000440000`
pub const SampleWeightImageQcom: Self = Self(sys::VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM.0);
/// `VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM` = `1000440001`
pub const BlockMatchImageQcom: Self = Self(sys::VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM.0);
/// `VK_DESCRIPTOR_TYPE_TENSOR_ARM` = `1000460000`
pub const TensorArm: Self = Self(sys::VK_DESCRIPTOR_TYPE_TENSOR_ARM.0);
/// `VK_DESCRIPTOR_TYPE_MUTABLE_EXT` = `1000351000`
pub const MutableExt: Self = Self(sys::VK_DESCRIPTOR_TYPE_MUTABLE_EXT.0);
/// `VK_DESCRIPTOR_TYPE_PARTITIONED_ACCELERATION_STRUCTURE_NV` = `1000570000`
pub const PartitionedAccelerationStructureNv: Self = Self(sys::VK_DESCRIPTOR_TYPE_PARTITIONED_ACCELERATION_STRUCTURE_NV.0);
}
impl_enum_display!(DescriptorType = VkDescriptorType { Sampler, CombinedImageSampler, SampledImage, StorageImage, UniformTexelBuffer, StorageTexelBuffer, UniformBuffer, StorageBuffer, UniformBufferDynamic, StorageBufferDynamic, InputAttachment, InlineUniformBlock, InlineUniformBlockExt, AccelerationStructureKhr, AccelerationStructureNv, MutableValve, SampleWeightImageQcom, BlockMatchImageQcom, TensorArm, MutableExt, PartitionedAccelerationStructureNv });
/// `VkDescriptorUpdateTemplateCreateFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DescriptorUpdateTemplateCreateFlags(pub i32);
flags!(DescriptorUpdateTemplateCreateFlags);
from_into_transparent!(DescriptorUpdateTemplateCreateFlags : i32);
from_by_transmute!(DescriptorUpdateTemplateCreateFlags => sys::VkDescriptorUpdateTemplateCreateFlags);
from_by_transmute!(sys::VkDescriptorUpdateTemplateCreateFlags => DescriptorUpdateTemplateCreateFlags);
impl_to_sys!(DescriptorUpdateTemplateCreateFlags => sys::VkDescriptorUpdateTemplateCreateFlags);
impl_enum!(DescriptorUpdateTemplateCreateFlags => sys::VkDescriptorUpdateTemplateCreateFlags);
impl_flags_display!(DescriptorUpdateTemplateCreateFlags = VkDescriptorUpdateTemplateCreateFlags { });
/// `VkDescriptorUpdateTemplateCreateFlagsKHR` = `VkDescriptorUpdateTemplateCreateFlags`
pub type DescriptorUpdateTemplateCreateFlagsKHR = DescriptorUpdateTemplateCreateFlags;
/// `VkDescriptorUpdateTemplateType`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DescriptorUpdateTemplateType(pub i32);
from_into_transparent!(DescriptorUpdateTemplateType : i32);
from_by_transmute!(DescriptorUpdateTemplateType => sys::VkDescriptorUpdateTemplateType);
from_by_transmute!(sys::VkDescriptorUpdateTemplateType => DescriptorUpdateTemplateType);
impl_to_sys!(DescriptorUpdateTemplateType => sys::VkDescriptorUpdateTemplateType);
impl_enum!(DescriptorUpdateTemplateType => sys::VkDescriptorUpdateTemplateType);
impl DescriptorUpdateTemplateType {
/// `VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET` = `0`
///
/// Create descriptor update template for descriptor set updates
pub const DescriptorSet: Self = Self(sys::VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET.0);
/// `VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS` = `1`
pub const PushDescriptors: Self = Self(sys::VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS.0);
/// `VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR` = `VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS`
///
/// Create descriptor update template for pushed descriptor updates
pub const PushDescriptorsKhr: Self = Self(sys::VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR.0);
/// `VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR` = `VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET`
pub const DescriptorSetKhr: Self = Self(sys::VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR.0);
}
impl_enum_display!(DescriptorUpdateTemplateType = VkDescriptorUpdateTemplateType { DescriptorSet, PushDescriptors, PushDescriptorsKhr, DescriptorSetKhr });
/// `VkDescriptorUpdateTemplateTypeKHR` = `VkDescriptorUpdateTemplateType`
pub type DescriptorUpdateTemplateTypeKHR = DescriptorUpdateTemplateType;
/// `VkDeviceAddressBindingFlagsEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DeviceAddressBindingFlagsEXT(pub i32);
flags!(DeviceAddressBindingFlagsEXT);
from_into_transparent!(DeviceAddressBindingFlagsEXT : i32);
from_by_transmute!(DeviceAddressBindingFlagsEXT => sys::VkDeviceAddressBindingFlagsEXT);
from_by_transmute!(sys::VkDeviceAddressBindingFlagsEXT => DeviceAddressBindingFlagsEXT);
impl_to_sys!(DeviceAddressBindingFlagsEXT => sys::VkDeviceAddressBindingFlagsEXT);
impl_enum!(DeviceAddressBindingFlagsEXT => sys::VkDeviceAddressBindingFlagsEXT);
impl DeviceAddressBindingFlagsEXT {
/// `VK_DEVICE_ADDRESS_BINDING_INTERNAL_OBJECT_BIT_EXT` = `1 << 0`
pub const InternalObjectExt: Self = Self(sys::VK_DEVICE_ADDRESS_BINDING_INTERNAL_OBJECT_BIT_EXT.0);
}
impl_flags_display!(DeviceAddressBindingFlagsEXT = VkDeviceAddressBindingFlagsEXT { InternalObjectExt });
/// `VkDeviceAddressBindingTypeEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DeviceAddressBindingTypeEXT(pub i32);
from_into_transparent!(DeviceAddressBindingTypeEXT : i32);
from_by_transmute!(DeviceAddressBindingTypeEXT => sys::VkDeviceAddressBindingTypeEXT);
from_by_transmute!(sys::VkDeviceAddressBindingTypeEXT => DeviceAddressBindingTypeEXT);
impl_to_sys!(DeviceAddressBindingTypeEXT => sys::VkDeviceAddressBindingTypeEXT);
impl_enum!(DeviceAddressBindingTypeEXT => sys::VkDeviceAddressBindingTypeEXT);
impl DeviceAddressBindingTypeEXT {
/// `VK_DEVICE_ADDRESS_BINDING_TYPE_BIND_EXT` = `0`
pub const BindExt: Self = Self(sys::VK_DEVICE_ADDRESS_BINDING_TYPE_BIND_EXT.0);
/// `VK_DEVICE_ADDRESS_BINDING_TYPE_UNBIND_EXT` = `1`
pub const UnbindExt: Self = Self(sys::VK_DEVICE_ADDRESS_BINDING_TYPE_UNBIND_EXT.0);
}
impl_enum_display!(DeviceAddressBindingTypeEXT = VkDeviceAddressBindingTypeEXT { BindExt, UnbindExt });
/// `VkDeviceCreateFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DeviceCreateFlags(pub i32);
flags!(DeviceCreateFlags);
from_into_transparent!(DeviceCreateFlags : i32);
from_by_transmute!(DeviceCreateFlags => sys::VkDeviceCreateFlags);
from_by_transmute!(sys::VkDeviceCreateFlags => DeviceCreateFlags);
impl_to_sys!(DeviceCreateFlags => sys::VkDeviceCreateFlags);
impl_enum!(DeviceCreateFlags => sys::VkDeviceCreateFlags);
impl_flags_display!(DeviceCreateFlags = VkDeviceCreateFlags { });
/// `VkDeviceDiagnosticsConfigFlagsNV`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DeviceDiagnosticsConfigFlagsNV(pub i32);
flags!(DeviceDiagnosticsConfigFlagsNV);
from_into_transparent!(DeviceDiagnosticsConfigFlagsNV : i32);
from_by_transmute!(DeviceDiagnosticsConfigFlagsNV => sys::VkDeviceDiagnosticsConfigFlagsNV);
from_by_transmute!(sys::VkDeviceDiagnosticsConfigFlagsNV => DeviceDiagnosticsConfigFlagsNV);
impl_to_sys!(DeviceDiagnosticsConfigFlagsNV => sys::VkDeviceDiagnosticsConfigFlagsNV);
impl_enum!(DeviceDiagnosticsConfigFlagsNV => sys::VkDeviceDiagnosticsConfigFlagsNV);
impl DeviceDiagnosticsConfigFlagsNV {
/// `VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV` = `1 << 0`
pub const EnableShaderDebugInfoNv: Self = Self(sys::VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV.0);
/// `VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV` = `1 << 1`
pub const EnableResourceTrackingNv: Self = Self(sys::VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV.0);
/// `VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV` = `1 << 2`
pub const EnableAutomaticCheckpointsNv: Self = Self(sys::VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV.0);
/// `VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_ERROR_REPORTING_BIT_NV` = `1 << 3`
pub const EnableShaderErrorReportingNv: Self = Self(sys::VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_ERROR_REPORTING_BIT_NV.0);
}
impl_flags_display!(DeviceDiagnosticsConfigFlagsNV = VkDeviceDiagnosticsConfigFlagsNV { EnableShaderDebugInfoNv, EnableResourceTrackingNv, EnableAutomaticCheckpointsNv, EnableShaderErrorReportingNv });
/// `VkDeviceEventTypeEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DeviceEventTypeEXT(pub i32);
from_into_transparent!(DeviceEventTypeEXT : i32);
from_by_transmute!(DeviceEventTypeEXT => sys::VkDeviceEventTypeEXT);
from_by_transmute!(sys::VkDeviceEventTypeEXT => DeviceEventTypeEXT);
impl_to_sys!(DeviceEventTypeEXT => sys::VkDeviceEventTypeEXT);
impl_enum!(DeviceEventTypeEXT => sys::VkDeviceEventTypeEXT);
impl DeviceEventTypeEXT {
/// `VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT` = `0`
pub const DisplayHotplugExt: Self = Self(sys::VK_DEVICE_EVENT_TYPE_DISPLAY_HOTPLUG_EXT.0);
}
impl_enum_display!(DeviceEventTypeEXT = VkDeviceEventTypeEXT { DisplayHotplugExt });
/// `VkDeviceFaultAddressTypeEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DeviceFaultAddressTypeEXT(pub i32);
from_into_transparent!(DeviceFaultAddressTypeEXT : i32);
from_by_transmute!(DeviceFaultAddressTypeEXT => sys::VkDeviceFaultAddressTypeEXT);
from_by_transmute!(sys::VkDeviceFaultAddressTypeEXT => DeviceFaultAddressTypeEXT);
impl_to_sys!(DeviceFaultAddressTypeEXT => sys::VkDeviceFaultAddressTypeEXT);
impl_enum!(DeviceFaultAddressTypeEXT => sys::VkDeviceFaultAddressTypeEXT);
impl DeviceFaultAddressTypeEXT {
/// `VK_DEVICE_FAULT_ADDRESS_TYPE_NONE_EXT` = `0`
///
/// Currently unused
pub const NoneExt: Self = Self(sys::VK_DEVICE_FAULT_ADDRESS_TYPE_NONE_EXT.0);
/// `VK_DEVICE_FAULT_ADDRESS_TYPE_READ_INVALID_EXT` = `1`
pub const ReadInvalidExt: Self = Self(sys::VK_DEVICE_FAULT_ADDRESS_TYPE_READ_INVALID_EXT.0);
/// `VK_DEVICE_FAULT_ADDRESS_TYPE_WRITE_INVALID_EXT` = `2`
pub const WriteInvalidExt: Self = Self(sys::VK_DEVICE_FAULT_ADDRESS_TYPE_WRITE_INVALID_EXT.0);
/// `VK_DEVICE_FAULT_ADDRESS_TYPE_EXECUTE_INVALID_EXT` = `3`
pub const ExecuteInvalidExt: Self = Self(sys::VK_DEVICE_FAULT_ADDRESS_TYPE_EXECUTE_INVALID_EXT.0);
/// `VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_UNKNOWN_EXT` = `4`
pub const InstructionPointerUnknownExt: Self = Self(sys::VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_UNKNOWN_EXT.0);
/// `VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_INVALID_EXT` = `5`
pub const InstructionPointerInvalidExt: Self = Self(sys::VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_INVALID_EXT.0);
/// `VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_FAULT_EXT` = `6`
pub const InstructionPointerFaultExt: Self = Self(sys::VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_FAULT_EXT.0);
}
impl_enum_display!(DeviceFaultAddressTypeEXT = VkDeviceFaultAddressTypeEXT { NoneExt, ReadInvalidExt, WriteInvalidExt, ExecuteInvalidExt, InstructionPointerUnknownExt, InstructionPointerInvalidExt, InstructionPointerFaultExt });
/// `VkDeviceFaultVendorBinaryHeaderVersionEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DeviceFaultVendorBinaryHeaderVersionEXT(pub i32);
from_into_transparent!(DeviceFaultVendorBinaryHeaderVersionEXT : i32);
from_by_transmute!(DeviceFaultVendorBinaryHeaderVersionEXT => sys::VkDeviceFaultVendorBinaryHeaderVersionEXT);
from_by_transmute!(sys::VkDeviceFaultVendorBinaryHeaderVersionEXT => DeviceFaultVendorBinaryHeaderVersionEXT);
impl_to_sys!(DeviceFaultVendorBinaryHeaderVersionEXT => sys::VkDeviceFaultVendorBinaryHeaderVersionEXT);
impl_enum!(DeviceFaultVendorBinaryHeaderVersionEXT => sys::VkDeviceFaultVendorBinaryHeaderVersionEXT);
impl DeviceFaultVendorBinaryHeaderVersionEXT {
/// `VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_ONE_EXT` = `1`
pub const OneExt: Self = Self(sys::VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_ONE_EXT.0);
}
impl_enum_display!(DeviceFaultVendorBinaryHeaderVersionEXT = VkDeviceFaultVendorBinaryHeaderVersionEXT { OneExt });
/// `VkDeviceGroupPresentModeFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DeviceGroupPresentModeFlagsKHR(pub i32);
flags!(DeviceGroupPresentModeFlagsKHR);
from_into_transparent!(DeviceGroupPresentModeFlagsKHR : i32);
from_by_transmute!(DeviceGroupPresentModeFlagsKHR => sys::VkDeviceGroupPresentModeFlagsKHR);
from_by_transmute!(sys::VkDeviceGroupPresentModeFlagsKHR => DeviceGroupPresentModeFlagsKHR);
impl_to_sys!(DeviceGroupPresentModeFlagsKHR => sys::VkDeviceGroupPresentModeFlagsKHR);
impl_enum!(DeviceGroupPresentModeFlagsKHR => sys::VkDeviceGroupPresentModeFlagsKHR);
impl DeviceGroupPresentModeFlagsKHR {
/// `VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR` = `1 << 0`
///
/// Present from local memory
pub const LocalKhr: Self = Self(sys::VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR.0);
/// `VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR` = `1 << 1`
///
/// Present from remote memory
pub const RemoteKhr: Self = Self(sys::VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR.0);
/// `VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR` = `1 << 2`
///
/// Present sum of local and/or remote memory
pub const SumKhr: Self = Self(sys::VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR.0);
/// `VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR` = `1 << 3`
///
/// Each physical device presents from local memory
pub const LocalMultiDeviceKhr: Self = Self(sys::VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR.0);
}
impl_flags_display!(DeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeFlagsKHR { LocalKhr, RemoteKhr, SumKhr, LocalMultiDeviceKhr });
/// `VkDeviceMemoryReportEventTypeEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DeviceMemoryReportEventTypeEXT(pub i32);
from_into_transparent!(DeviceMemoryReportEventTypeEXT : i32);
from_by_transmute!(DeviceMemoryReportEventTypeEXT => sys::VkDeviceMemoryReportEventTypeEXT);
from_by_transmute!(sys::VkDeviceMemoryReportEventTypeEXT => DeviceMemoryReportEventTypeEXT);
impl_to_sys!(DeviceMemoryReportEventTypeEXT => sys::VkDeviceMemoryReportEventTypeEXT);
impl_enum!(DeviceMemoryReportEventTypeEXT => sys::VkDeviceMemoryReportEventTypeEXT);
impl DeviceMemoryReportEventTypeEXT {
/// `VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT` = `0`
pub const AllocateExt: Self = Self(sys::VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATE_EXT.0);
/// `VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT` = `1`
pub const FreeExt: Self = Self(sys::VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_FREE_EXT.0);
/// `VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT` = `2`
pub const ImportExt: Self = Self(sys::VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_IMPORT_EXT.0);
/// `VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT` = `3`
pub const UnimportExt: Self = Self(sys::VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_UNIMPORT_EXT.0);
/// `VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT` = `4`
pub const AllocationFailedExt: Self = Self(sys::VK_DEVICE_MEMORY_REPORT_EVENT_TYPE_ALLOCATION_FAILED_EXT.0);
}
impl_enum_display!(DeviceMemoryReportEventTypeEXT = VkDeviceMemoryReportEventTypeEXT { AllocateExt, FreeExt, ImportExt, UnimportExt, AllocationFailedExt });
/// `VkDeviceMemoryReportFlagsEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DeviceMemoryReportFlagsEXT(pub i32);
flags!(DeviceMemoryReportFlagsEXT);
from_into_transparent!(DeviceMemoryReportFlagsEXT : i32);
from_by_transmute!(DeviceMemoryReportFlagsEXT => sys::VkDeviceMemoryReportFlagsEXT);
from_by_transmute!(sys::VkDeviceMemoryReportFlagsEXT => DeviceMemoryReportFlagsEXT);
impl_to_sys!(DeviceMemoryReportFlagsEXT => sys::VkDeviceMemoryReportFlagsEXT);
impl_enum!(DeviceMemoryReportFlagsEXT => sys::VkDeviceMemoryReportFlagsEXT);
impl_flags_display!(DeviceMemoryReportFlagsEXT = VkDeviceMemoryReportFlagsEXT { });
/// `VkDeviceQueueCreateFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DeviceQueueCreateFlags(pub i32);
flags!(DeviceQueueCreateFlags);
from_into_transparent!(DeviceQueueCreateFlags : i32);
from_by_transmute!(DeviceQueueCreateFlags => sys::VkDeviceQueueCreateFlags);
from_by_transmute!(sys::VkDeviceQueueCreateFlags => DeviceQueueCreateFlags);
impl_to_sys!(DeviceQueueCreateFlags => sys::VkDeviceQueueCreateFlags);
impl_enum!(DeviceQueueCreateFlags => sys::VkDeviceQueueCreateFlags);
impl DeviceQueueCreateFlags {
/// `VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT` = `1 << 0`
///
/// Queue is a protected-capable device queue
pub const Protected: Self = Self(sys::VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT.0);
/// `VK_DEVICE_QUEUE_CREATE_RESERVED_1_BIT_QCOM` = `1 << 1`
pub const Reserved1Qcom: Self = Self(sys::VK_DEVICE_QUEUE_CREATE_RESERVED_1_BIT_QCOM.0);
/// `VK_DEVICE_QUEUE_CREATE_INTERNALLY_SYNCHRONIZED_BIT_KHR` = `1 << 2`
pub const InternallySynchronizedKhr: Self = Self(sys::VK_DEVICE_QUEUE_CREATE_INTERNALLY_SYNCHRONIZED_BIT_KHR.0);
}
impl_flags_display!(DeviceQueueCreateFlags = VkDeviceQueueCreateFlags { Protected, Reserved1Qcom, InternallySynchronizedKhr });
/// `VkDirectDriverLoadingFlagsLUNARG`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DirectDriverLoadingFlagsLUNARG(pub i32);
flags!(DirectDriverLoadingFlagsLUNARG);
from_into_transparent!(DirectDriverLoadingFlagsLUNARG : i32);
from_by_transmute!(DirectDriverLoadingFlagsLUNARG => sys::VkDirectDriverLoadingFlagsLUNARG);
from_by_transmute!(sys::VkDirectDriverLoadingFlagsLUNARG => DirectDriverLoadingFlagsLUNARG);
impl_to_sys!(DirectDriverLoadingFlagsLUNARG => sys::VkDirectDriverLoadingFlagsLUNARG);
impl_enum!(DirectDriverLoadingFlagsLUNARG => sys::VkDirectDriverLoadingFlagsLUNARG);
impl_flags_display!(DirectDriverLoadingFlagsLUNARG = VkDirectDriverLoadingFlagsLUNARG { });
/// `VkDirectDriverLoadingModeLUNARG`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DirectDriverLoadingModeLUNARG(pub i32);
from_into_transparent!(DirectDriverLoadingModeLUNARG : i32);
from_by_transmute!(DirectDriverLoadingModeLUNARG => sys::VkDirectDriverLoadingModeLUNARG);
from_by_transmute!(sys::VkDirectDriverLoadingModeLUNARG => DirectDriverLoadingModeLUNARG);
impl_to_sys!(DirectDriverLoadingModeLUNARG => sys::VkDirectDriverLoadingModeLUNARG);
impl_enum!(DirectDriverLoadingModeLUNARG => sys::VkDirectDriverLoadingModeLUNARG);
impl DirectDriverLoadingModeLUNARG {
/// `VK_DIRECT_DRIVER_LOADING_MODE_EXCLUSIVE_LUNARG` = `0`
pub const ExclusiveLunarg: Self = Self(sys::VK_DIRECT_DRIVER_LOADING_MODE_EXCLUSIVE_LUNARG.0);
/// `VK_DIRECT_DRIVER_LOADING_MODE_INCLUSIVE_LUNARG` = `1`
pub const InclusiveLunarg: Self = Self(sys::VK_DIRECT_DRIVER_LOADING_MODE_INCLUSIVE_LUNARG.0);
}
impl_enum_display!(DirectDriverLoadingModeLUNARG = VkDirectDriverLoadingModeLUNARG { ExclusiveLunarg, InclusiveLunarg });
/// `VkDirectFBSurfaceCreateFlagsEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DirectFBSurfaceCreateFlagsEXT(pub i32);
flags!(DirectFBSurfaceCreateFlagsEXT);
from_into_transparent!(DirectFBSurfaceCreateFlagsEXT : i32);
from_by_transmute!(DirectFBSurfaceCreateFlagsEXT => sys::VkDirectFBSurfaceCreateFlagsEXT);
from_by_transmute!(sys::VkDirectFBSurfaceCreateFlagsEXT => DirectFBSurfaceCreateFlagsEXT);
impl_to_sys!(DirectFBSurfaceCreateFlagsEXT => sys::VkDirectFBSurfaceCreateFlagsEXT);
impl_enum!(DirectFBSurfaceCreateFlagsEXT => sys::VkDirectFBSurfaceCreateFlagsEXT);
impl_flags_display!(DirectFBSurfaceCreateFlagsEXT = VkDirectFBSurfaceCreateFlagsEXT { });
/// `VkDiscardRectangleModeEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DiscardRectangleModeEXT(pub i32);
from_into_transparent!(DiscardRectangleModeEXT : i32);
from_by_transmute!(DiscardRectangleModeEXT => sys::VkDiscardRectangleModeEXT);
from_by_transmute!(sys::VkDiscardRectangleModeEXT => DiscardRectangleModeEXT);
impl_to_sys!(DiscardRectangleModeEXT => sys::VkDiscardRectangleModeEXT);
impl_enum!(DiscardRectangleModeEXT => sys::VkDiscardRectangleModeEXT);
impl DiscardRectangleModeEXT {
/// `VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT` = `0`
pub const InclusiveExt: Self = Self(sys::VK_DISCARD_RECTANGLE_MODE_INCLUSIVE_EXT.0);
/// `VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT` = `1`
pub const ExclusiveExt: Self = Self(sys::VK_DISCARD_RECTANGLE_MODE_EXCLUSIVE_EXT.0);
}
impl_enum_display!(DiscardRectangleModeEXT = VkDiscardRectangleModeEXT { InclusiveExt, ExclusiveExt });
/// `VkDisplacementMicromapFormatNV`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DisplacementMicromapFormatNV(pub i32);
from_into_transparent!(DisplacementMicromapFormatNV : i32);
from_by_transmute!(DisplacementMicromapFormatNV => sys::VkDisplacementMicromapFormatNV);
from_by_transmute!(sys::VkDisplacementMicromapFormatNV => DisplacementMicromapFormatNV);
impl_to_sys!(DisplacementMicromapFormatNV => sys::VkDisplacementMicromapFormatNV);
impl_enum!(DisplacementMicromapFormatNV => sys::VkDisplacementMicromapFormatNV);
impl DisplacementMicromapFormatNV {
/// `VK_DISPLACEMENT_MICROMAP_FORMAT_64_TRIANGLES_64_BYTES_NV` = `1`
pub const _64Triangles64BytesNv: Self = Self(sys::VK_DISPLACEMENT_MICROMAP_FORMAT_64_TRIANGLES_64_BYTES_NV.0);
/// `VK_DISPLACEMENT_MICROMAP_FORMAT_256_TRIANGLES_128_BYTES_NV` = `2`
pub const _256Triangles128BytesNv: Self = Self(sys::VK_DISPLACEMENT_MICROMAP_FORMAT_256_TRIANGLES_128_BYTES_NV.0);
/// `VK_DISPLACEMENT_MICROMAP_FORMAT_1024_TRIANGLES_128_BYTES_NV` = `3`
pub const _1024Triangles128BytesNv: Self = Self(sys::VK_DISPLACEMENT_MICROMAP_FORMAT_1024_TRIANGLES_128_BYTES_NV.0);
}
impl_enum_display!(DisplacementMicromapFormatNV = VkDisplacementMicromapFormatNV { _64Triangles64BytesNv, _256Triangles128BytesNv, _1024Triangles128BytesNv });
/// `VkDisplayEventTypeEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DisplayEventTypeEXT(pub i32);
from_into_transparent!(DisplayEventTypeEXT : i32);
from_by_transmute!(DisplayEventTypeEXT => sys::VkDisplayEventTypeEXT);
from_by_transmute!(sys::VkDisplayEventTypeEXT => DisplayEventTypeEXT);
impl_to_sys!(DisplayEventTypeEXT => sys::VkDisplayEventTypeEXT);
impl_enum!(DisplayEventTypeEXT => sys::VkDisplayEventTypeEXT);
impl DisplayEventTypeEXT {
/// `VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT` = `0`
pub const FirstPixelOutExt: Self = Self(sys::VK_DISPLAY_EVENT_TYPE_FIRST_PIXEL_OUT_EXT.0);
}
impl_enum_display!(DisplayEventTypeEXT = VkDisplayEventTypeEXT { FirstPixelOutExt });
/// `VkDisplayModeCreateFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DisplayModeCreateFlagsKHR(pub i32);
flags!(DisplayModeCreateFlagsKHR);
from_into_transparent!(DisplayModeCreateFlagsKHR : i32);
from_by_transmute!(DisplayModeCreateFlagsKHR => sys::VkDisplayModeCreateFlagsKHR);
from_by_transmute!(sys::VkDisplayModeCreateFlagsKHR => DisplayModeCreateFlagsKHR);
impl_to_sys!(DisplayModeCreateFlagsKHR => sys::VkDisplayModeCreateFlagsKHR);
impl_enum!(DisplayModeCreateFlagsKHR => sys::VkDisplayModeCreateFlagsKHR);
impl_flags_display!(DisplayModeCreateFlagsKHR = VkDisplayModeCreateFlagsKHR { });
/// `VkDisplayPlaneAlphaFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DisplayPlaneAlphaFlagsKHR(pub i32);
flags!(DisplayPlaneAlphaFlagsKHR);
from_into_transparent!(DisplayPlaneAlphaFlagsKHR : i32);
from_by_transmute!(DisplayPlaneAlphaFlagsKHR => sys::VkDisplayPlaneAlphaFlagsKHR);
from_by_transmute!(sys::VkDisplayPlaneAlphaFlagsKHR => DisplayPlaneAlphaFlagsKHR);
impl_to_sys!(DisplayPlaneAlphaFlagsKHR => sys::VkDisplayPlaneAlphaFlagsKHR);
impl_enum!(DisplayPlaneAlphaFlagsKHR => sys::VkDisplayPlaneAlphaFlagsKHR);
impl DisplayPlaneAlphaFlagsKHR {
/// `VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR` = `1 << 0`
pub const OpaqueKhr: Self = Self(sys::VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR.0);
/// `VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR` = `1 << 1`
pub const GlobalKhr: Self = Self(sys::VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR.0);
/// `VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR` = `1 << 2`
pub const PerPixelKhr: Self = Self(sys::VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR.0);
/// `VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR` = `1 << 3`
pub const PerPixelPremultipliedKhr: Self = Self(sys::VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR.0);
}
impl_flags_display!(DisplayPlaneAlphaFlagsKHR = VkDisplayPlaneAlphaFlagsKHR { OpaqueKhr, GlobalKhr, PerPixelKhr, PerPixelPremultipliedKhr });
/// `VkDisplayPowerStateEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DisplayPowerStateEXT(pub i32);
from_into_transparent!(DisplayPowerStateEXT : i32);
from_by_transmute!(DisplayPowerStateEXT => sys::VkDisplayPowerStateEXT);
from_by_transmute!(sys::VkDisplayPowerStateEXT => DisplayPowerStateEXT);
impl_to_sys!(DisplayPowerStateEXT => sys::VkDisplayPowerStateEXT);
impl_enum!(DisplayPowerStateEXT => sys::VkDisplayPowerStateEXT);
impl DisplayPowerStateEXT {
/// `VK_DISPLAY_POWER_STATE_OFF_EXT` = `0`
pub const OffExt: Self = Self(sys::VK_DISPLAY_POWER_STATE_OFF_EXT.0);
/// `VK_DISPLAY_POWER_STATE_SUSPEND_EXT` = `1`
pub const SuspendExt: Self = Self(sys::VK_DISPLAY_POWER_STATE_SUSPEND_EXT.0);
/// `VK_DISPLAY_POWER_STATE_ON_EXT` = `2`
pub const OnExt: Self = Self(sys::VK_DISPLAY_POWER_STATE_ON_EXT.0);
}
impl_enum_display!(DisplayPowerStateEXT = VkDisplayPowerStateEXT { OffExt, SuspendExt, OnExt });
/// `VkDisplaySurfaceCreateFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DisplaySurfaceCreateFlagsKHR(pub i32);
flags!(DisplaySurfaceCreateFlagsKHR);
from_into_transparent!(DisplaySurfaceCreateFlagsKHR : i32);
from_by_transmute!(DisplaySurfaceCreateFlagsKHR => sys::VkDisplaySurfaceCreateFlagsKHR);
from_by_transmute!(sys::VkDisplaySurfaceCreateFlagsKHR => DisplaySurfaceCreateFlagsKHR);
impl_to_sys!(DisplaySurfaceCreateFlagsKHR => sys::VkDisplaySurfaceCreateFlagsKHR);
impl_enum!(DisplaySurfaceCreateFlagsKHR => sys::VkDisplaySurfaceCreateFlagsKHR);
impl_flags_display!(DisplaySurfaceCreateFlagsKHR = VkDisplaySurfaceCreateFlagsKHR { });
/// `VkDisplaySurfaceStereoTypeNV`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DisplaySurfaceStereoTypeNV(pub i32);
from_into_transparent!(DisplaySurfaceStereoTypeNV : i32);
from_by_transmute!(DisplaySurfaceStereoTypeNV => sys::VkDisplaySurfaceStereoTypeNV);
from_by_transmute!(sys::VkDisplaySurfaceStereoTypeNV => DisplaySurfaceStereoTypeNV);
impl_to_sys!(DisplaySurfaceStereoTypeNV => sys::VkDisplaySurfaceStereoTypeNV);
impl_enum!(DisplaySurfaceStereoTypeNV => sys::VkDisplaySurfaceStereoTypeNV);
impl DisplaySurfaceStereoTypeNV {
/// `VK_DISPLAY_SURFACE_STEREO_TYPE_NONE_NV` = `0`
pub const NoneNv: Self = Self(sys::VK_DISPLAY_SURFACE_STEREO_TYPE_NONE_NV.0);
/// `VK_DISPLAY_SURFACE_STEREO_TYPE_ONBOARD_DIN_NV` = `1`
pub const OnboardDinNv: Self = Self(sys::VK_DISPLAY_SURFACE_STEREO_TYPE_ONBOARD_DIN_NV.0);
/// `VK_DISPLAY_SURFACE_STEREO_TYPE_HDMI_3D_NV` = `2`
pub const Hdmi3dNv: Self = Self(sys::VK_DISPLAY_SURFACE_STEREO_TYPE_HDMI_3D_NV.0);
/// `VK_DISPLAY_SURFACE_STEREO_TYPE_INBAND_DISPLAYPORT_NV` = `3`
pub const InbandDisplayportNv: Self = Self(sys::VK_DISPLAY_SURFACE_STEREO_TYPE_INBAND_DISPLAYPORT_NV.0);
}
impl_enum_display!(DisplaySurfaceStereoTypeNV = VkDisplaySurfaceStereoTypeNV { NoneNv, OnboardDinNv, Hdmi3dNv, InbandDisplayportNv });
/// `VkDriverId`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DriverId(pub i32);
from_into_transparent!(DriverId : i32);
from_by_transmute!(DriverId => sys::VkDriverId);
from_by_transmute!(sys::VkDriverId => DriverId);
impl_to_sys!(DriverId => sys::VkDriverId);
impl_enum!(DriverId => sys::VkDriverId);
impl DriverId {
/// `VK_DRIVER_ID_AMD_PROPRIETARY` = `1`
///
/// Advanced Micro Devices, Inc.
pub const AmdProprietary: Self = Self(sys::VK_DRIVER_ID_AMD_PROPRIETARY.0);
/// `VK_DRIVER_ID_AMD_OPEN_SOURCE` = `2`
///
/// Advanced Micro Devices, Inc.
pub const AmdOpenSource: Self = Self(sys::VK_DRIVER_ID_AMD_OPEN_SOURCE.0);
/// `VK_DRIVER_ID_MESA_RADV` = `3`
///
/// Mesa open source project
pub const MesaRadv: Self = Self(sys::VK_DRIVER_ID_MESA_RADV.0);
/// `VK_DRIVER_ID_NVIDIA_PROPRIETARY` = `4`
///
/// NVIDIA Corporation
pub const NvidiaProprietary: Self = Self(sys::VK_DRIVER_ID_NVIDIA_PROPRIETARY.0);
/// `VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS` = `5`
///
/// Intel Corporation
pub const IntelProprietaryWindows: Self = Self(sys::VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS.0);
/// `VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA` = `6`
///
/// Intel Corporation
pub const IntelOpenSourceMesa: Self = Self(sys::VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA.0);
/// `VK_DRIVER_ID_IMAGINATION_PROPRIETARY` = `7`
///
/// Imagination Technologies
pub const ImaginationProprietary: Self = Self(sys::VK_DRIVER_ID_IMAGINATION_PROPRIETARY.0);
/// `VK_DRIVER_ID_QUALCOMM_PROPRIETARY` = `8`
///
/// Qualcomm Technologies, Inc.
pub const QualcommProprietary: Self = Self(sys::VK_DRIVER_ID_QUALCOMM_PROPRIETARY.0);
/// `VK_DRIVER_ID_ARM_PROPRIETARY` = `9`
///
/// Arm Limited
pub const ArmProprietary: Self = Self(sys::VK_DRIVER_ID_ARM_PROPRIETARY.0);
/// `VK_DRIVER_ID_GOOGLE_SWIFTSHADER` = `10`
///
/// Google LLC
pub const GoogleSwiftshader: Self = Self(sys::VK_DRIVER_ID_GOOGLE_SWIFTSHADER.0);
/// `VK_DRIVER_ID_GGP_PROPRIETARY` = `11`
///
/// Google LLC
pub const GgpProprietary: Self = Self(sys::VK_DRIVER_ID_GGP_PROPRIETARY.0);
/// `VK_DRIVER_ID_BROADCOM_PROPRIETARY` = `12`
///
/// Broadcom Inc.
pub const BroadcomProprietary: Self = Self(sys::VK_DRIVER_ID_BROADCOM_PROPRIETARY.0);
/// `VK_DRIVER_ID_MESA_LLVMPIPE` = `13`
///
/// Mesa
pub const MesaLlvmpipe: Self = Self(sys::VK_DRIVER_ID_MESA_LLVMPIPE.0);
/// `VK_DRIVER_ID_MOLTENVK` = `14`
///
/// MoltenVK
pub const Moltenvk: Self = Self(sys::VK_DRIVER_ID_MOLTENVK.0);
/// `VK_DRIVER_ID_COREAVI_PROPRIETARY` = `15`
///
/// Core Avionics & Industrial Inc.
pub const CoreaviProprietary: Self = Self(sys::VK_DRIVER_ID_COREAVI_PROPRIETARY.0);
/// `VK_DRIVER_ID_JUICE_PROPRIETARY` = `16`
///
/// Juice Technologies, Inc.
pub const JuiceProprietary: Self = Self(sys::VK_DRIVER_ID_JUICE_PROPRIETARY.0);
/// `VK_DRIVER_ID_VERISILICON_PROPRIETARY` = `17`
///
/// Verisilicon, Inc.
pub const VerisiliconProprietary: Self = Self(sys::VK_DRIVER_ID_VERISILICON_PROPRIETARY.0);
/// `VK_DRIVER_ID_MESA_TURNIP` = `18`
///
/// Mesa open source project
pub const MesaTurnip: Self = Self(sys::VK_DRIVER_ID_MESA_TURNIP.0);
/// `VK_DRIVER_ID_MESA_V3DV` = `19`
///
/// Mesa open source project
pub const MesaV3dv: Self = Self(sys::VK_DRIVER_ID_MESA_V3DV.0);
/// `VK_DRIVER_ID_MESA_PANVK` = `20`
///
/// Mesa open source project
pub const MesaPanvk: Self = Self(sys::VK_DRIVER_ID_MESA_PANVK.0);
/// `VK_DRIVER_ID_SAMSUNG_PROPRIETARY` = `21`
///
/// Samsung Electronics Co., Ltd.
pub const SamsungProprietary: Self = Self(sys::VK_DRIVER_ID_SAMSUNG_PROPRIETARY.0);
/// `VK_DRIVER_ID_MESA_VENUS` = `22`
///
/// Mesa open source project
pub const MesaVenus: Self = Self(sys::VK_DRIVER_ID_MESA_VENUS.0);
/// `VK_DRIVER_ID_MESA_DOZEN` = `23`
///
/// Mesa open source project
pub const MesaDozen: Self = Self(sys::VK_DRIVER_ID_MESA_DOZEN.0);
/// `VK_DRIVER_ID_MESA_NVK` = `24`
///
/// Mesa open source project
pub const MesaNvk: Self = Self(sys::VK_DRIVER_ID_MESA_NVK.0);
/// `VK_DRIVER_ID_IMAGINATION_OPEN_SOURCE_MESA` = `25`
///
/// Imagination Technologies
pub const ImaginationOpenSourceMesa: Self = Self(sys::VK_DRIVER_ID_IMAGINATION_OPEN_SOURCE_MESA.0);
/// `VK_DRIVER_ID_MESA_HONEYKRISP` = `26`
///
/// Mesa open source project
pub const MesaHoneykrisp: Self = Self(sys::VK_DRIVER_ID_MESA_HONEYKRISP.0);
/// `VK_DRIVER_ID_VULKAN_SC_EMULATION_ON_VULKAN` = `27`
///
/// Vulkan SC Emulation on Vulkan
pub const VulkanScEmulationOnVulkan: Self = Self(sys::VK_DRIVER_ID_VULKAN_SC_EMULATION_ON_VULKAN.0);
/// `VK_DRIVER_ID_MESA_KOSMICKRISP` = `28`
///
/// Mesa open source project
pub const MesaKosmickrisp: Self = Self(sys::VK_DRIVER_ID_MESA_KOSMICKRISP.0);
/// `VK_DRIVER_ID_AMD_PROPRIETARY_KHR` = `VK_DRIVER_ID_AMD_PROPRIETARY`
pub const AmdProprietaryKhr: Self = Self(sys::VK_DRIVER_ID_AMD_PROPRIETARY_KHR.0);
/// `VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR` = `VK_DRIVER_ID_AMD_OPEN_SOURCE`
pub const AmdOpenSourceKhr: Self = Self(sys::VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR.0);
/// `VK_DRIVER_ID_MESA_RADV_KHR` = `VK_DRIVER_ID_MESA_RADV`
pub const MesaRadvKhr: Self = Self(sys::VK_DRIVER_ID_MESA_RADV_KHR.0);
/// `VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR` = `VK_DRIVER_ID_NVIDIA_PROPRIETARY`
pub const NvidiaProprietaryKhr: Self = Self(sys::VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR.0);
/// `VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR` = `VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS`
pub const IntelProprietaryWindowsKhr: Self = Self(sys::VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS_KHR.0);
/// `VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR` = `VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA`
pub const IntelOpenSourceMesaKhr: Self = Self(sys::VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR.0);
/// `VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR` = `VK_DRIVER_ID_IMAGINATION_PROPRIETARY`
pub const ImaginationProprietaryKhr: Self = Self(sys::VK_DRIVER_ID_IMAGINATION_PROPRIETARY_KHR.0);
/// `VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR` = `VK_DRIVER_ID_QUALCOMM_PROPRIETARY`
pub const QualcommProprietaryKhr: Self = Self(sys::VK_DRIVER_ID_QUALCOMM_PROPRIETARY_KHR.0);
/// `VK_DRIVER_ID_ARM_PROPRIETARY_KHR` = `VK_DRIVER_ID_ARM_PROPRIETARY`
pub const ArmProprietaryKhr: Self = Self(sys::VK_DRIVER_ID_ARM_PROPRIETARY_KHR.0);
/// `VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR` = `VK_DRIVER_ID_GOOGLE_SWIFTSHADER`
pub const GoogleSwiftshaderKhr: Self = Self(sys::VK_DRIVER_ID_GOOGLE_SWIFTSHADER_KHR.0);
/// `VK_DRIVER_ID_GGP_PROPRIETARY_KHR` = `VK_DRIVER_ID_GGP_PROPRIETARY`
pub const GgpProprietaryKhr: Self = Self(sys::VK_DRIVER_ID_GGP_PROPRIETARY_KHR.0);
/// `VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR` = `VK_DRIVER_ID_BROADCOM_PROPRIETARY`
pub const BroadcomProprietaryKhr: Self = Self(sys::VK_DRIVER_ID_BROADCOM_PROPRIETARY_KHR.0);
}
impl_enum_display!(DriverId = VkDriverId { AmdProprietary, AmdOpenSource, MesaRadv, NvidiaProprietary, IntelProprietaryWindows, IntelOpenSourceMesa, ImaginationProprietary, QualcommProprietary, ArmProprietary, GoogleSwiftshader, GgpProprietary, BroadcomProprietary, MesaLlvmpipe, Moltenvk, CoreaviProprietary, JuiceProprietary, VerisiliconProprietary, MesaTurnip, MesaV3dv, MesaPanvk, SamsungProprietary, MesaVenus, MesaDozen, MesaNvk, ImaginationOpenSourceMesa, MesaHoneykrisp, VulkanScEmulationOnVulkan, MesaKosmickrisp, AmdProprietaryKhr, AmdOpenSourceKhr, MesaRadvKhr, NvidiaProprietaryKhr, IntelProprietaryWindowsKhr, IntelOpenSourceMesaKhr, ImaginationProprietaryKhr, QualcommProprietaryKhr, ArmProprietaryKhr, GoogleSwiftshaderKhr, GgpProprietaryKhr, BroadcomProprietaryKhr });
/// `VkDriverIdKHR` = `VkDriverId`
pub type DriverIdKHR = DriverId;
/// `VkDynamicState`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct DynamicState(pub i32);
from_into_transparent!(DynamicState : i32);
from_by_transmute!(DynamicState => sys::VkDynamicState);
from_by_transmute!(sys::VkDynamicState => DynamicState);
impl_to_sys!(DynamicState => sys::VkDynamicState);
impl_enum!(DynamicState => sys::VkDynamicState);
impl DynamicState {
/// `VK_DYNAMIC_STATE_VIEWPORT` = `0`
pub const Viewport: Self = Self(sys::VK_DYNAMIC_STATE_VIEWPORT.0);
/// `VK_DYNAMIC_STATE_SCISSOR` = `1`
pub const Scissor: Self = Self(sys::VK_DYNAMIC_STATE_SCISSOR.0);
/// `VK_DYNAMIC_STATE_LINE_WIDTH` = `2`
pub const LineWidth: Self = Self(sys::VK_DYNAMIC_STATE_LINE_WIDTH.0);
/// `VK_DYNAMIC_STATE_DEPTH_BIAS` = `3`
pub const DepthBias: Self = Self(sys::VK_DYNAMIC_STATE_DEPTH_BIAS.0);
/// `VK_DYNAMIC_STATE_BLEND_CONSTANTS` = `4`
pub const BlendConstants: Self = Self(sys::VK_DYNAMIC_STATE_BLEND_CONSTANTS.0);
/// `VK_DYNAMIC_STATE_DEPTH_BOUNDS` = `5`
pub const DepthBounds: Self = Self(sys::VK_DYNAMIC_STATE_DEPTH_BOUNDS.0);
/// `VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK` = `6`
pub const StencilCompareMask: Self = Self(sys::VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK.0);
/// `VK_DYNAMIC_STATE_STENCIL_WRITE_MASK` = `7`
pub const StencilWriteMask: Self = Self(sys::VK_DYNAMIC_STATE_STENCIL_WRITE_MASK.0);
/// `VK_DYNAMIC_STATE_STENCIL_REFERENCE` = `8`
pub const StencilReference: Self = Self(sys::VK_DYNAMIC_STATE_STENCIL_REFERENCE.0);
/// `VK_DYNAMIC_STATE_CULL_MODE` = `1000267000`
pub const CullMode: Self = Self(sys::VK_DYNAMIC_STATE_CULL_MODE.0);
/// `VK_DYNAMIC_STATE_FRONT_FACE` = `1000267001`
pub const FrontFace: Self = Self(sys::VK_DYNAMIC_STATE_FRONT_FACE.0);
/// `VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY` = `1000267002`
pub const PrimitiveTopology: Self = Self(sys::VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY.0);
/// `VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT` = `1000267003`
pub const ViewportWithCount: Self = Self(sys::VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT.0);
/// `VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT` = `1000267004`
pub const ScissorWithCount: Self = Self(sys::VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT.0);
/// `VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE` = `1000267005`
pub const VertexInputBindingStride: Self = Self(sys::VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE.0);
/// `VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE` = `1000267006`
pub const DepthTestEnable: Self = Self(sys::VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE.0);
/// `VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE` = `1000267007`
pub const DepthWriteEnable: Self = Self(sys::VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE.0);
/// `VK_DYNAMIC_STATE_DEPTH_COMPARE_OP` = `1000267008`
pub const DepthCompareOp: Self = Self(sys::VK_DYNAMIC_STATE_DEPTH_COMPARE_OP.0);
/// `VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE` = `1000267009`
pub const DepthBoundsTestEnable: Self = Self(sys::VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE.0);
/// `VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE` = `1000267010`
pub const StencilTestEnable: Self = Self(sys::VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE.0);
/// `VK_DYNAMIC_STATE_STENCIL_OP` = `1000267011`
pub const StencilOp: Self = Self(sys::VK_DYNAMIC_STATE_STENCIL_OP.0);
/// `VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE` = `1000377001`
pub const RasterizerDiscardEnable: Self = Self(sys::VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE.0);
/// `VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE` = `1000377002`
pub const DepthBiasEnable: Self = Self(sys::VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE.0);
/// `VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE` = `1000377004`
pub const PrimitiveRestartEnable: Self = Self(sys::VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE.0);
/// `VK_DYNAMIC_STATE_LINE_STIPPLE` = `1000259000`
pub const LineStipple: Self = Self(sys::VK_DYNAMIC_STATE_LINE_STIPPLE.0);
/// `VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV` = `1000087000`
pub const ViewportWScalingNv: Self = Self(sys::VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV.0);
/// `VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT` = `1000099000`
pub const DiscardRectangleExt: Self = Self(sys::VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT.0);
/// `VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT` = `1000099001`
pub const DiscardRectangleEnableExt: Self = Self(sys::VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT.0);
/// `VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT` = `1000099002`
pub const DiscardRectangleModeExt: Self = Self(sys::VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT.0);
/// `VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT` = `1000143000`
pub const SampleLocationsExt: Self = Self(sys::VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT.0);
/// `VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR` = `1000347000`
pub const RayTracingPipelineStackSizeKhr: Self = Self(sys::VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR.0);
/// `VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV` = `1000164004`
pub const ViewportShadingRatePaletteNv: Self = Self(sys::VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV.0);
/// `VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV` = `1000164006`
pub const ViewportCoarseSampleOrderNv: Self = Self(sys::VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV.0);
/// `VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV` = `1000205000`
pub const ExclusiveScissorEnableNv: Self = Self(sys::VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV.0);
/// `VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV` = `1000205001`
pub const ExclusiveScissorNv: Self = Self(sys::VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV.0);
/// `VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR` = `1000226000`
pub const FragmentShadingRateKhr: Self = Self(sys::VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR.0);
/// `VK_DYNAMIC_STATE_LINE_STIPPLE_EXT` = `VK_DYNAMIC_STATE_LINE_STIPPLE`
pub const LineStippleExt: Self = Self(sys::VK_DYNAMIC_STATE_LINE_STIPPLE_EXT.0);
/// `VK_DYNAMIC_STATE_CULL_MODE_EXT` = `VK_DYNAMIC_STATE_CULL_MODE`
pub const CullModeExt: Self = Self(sys::VK_DYNAMIC_STATE_CULL_MODE_EXT.0);
/// `VK_DYNAMIC_STATE_FRONT_FACE_EXT` = `VK_DYNAMIC_STATE_FRONT_FACE`
pub const FrontFaceExt: Self = Self(sys::VK_DYNAMIC_STATE_FRONT_FACE_EXT.0);
/// `VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT` = `VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY`
pub const PrimitiveTopologyExt: Self = Self(sys::VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT.0);
/// `VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT` = `VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT`
pub const ViewportWithCountExt: Self = Self(sys::VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT.0);
/// `VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT` = `VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT`
pub const ScissorWithCountExt: Self = Self(sys::VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT.0);
/// `VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT` = `VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE`
pub const VertexInputBindingStrideExt: Self = Self(sys::VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT.0);
/// `VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT` = `VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE`
pub const DepthTestEnableExt: Self = Self(sys::VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT.0);
/// `VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT` = `VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE`
pub const DepthWriteEnableExt: Self = Self(sys::VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT.0);
/// `VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT` = `VK_DYNAMIC_STATE_DEPTH_COMPARE_OP`
pub const DepthCompareOpExt: Self = Self(sys::VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT.0);
/// `VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT` = `VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE`
pub const DepthBoundsTestEnableExt: Self = Self(sys::VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT.0);
/// `VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT` = `VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE`
pub const StencilTestEnableExt: Self = Self(sys::VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT.0);
/// `VK_DYNAMIC_STATE_STENCIL_OP_EXT` = `VK_DYNAMIC_STATE_STENCIL_OP`
pub const StencilOpExt: Self = Self(sys::VK_DYNAMIC_STATE_STENCIL_OP_EXT.0);
/// `VK_DYNAMIC_STATE_VERTEX_INPUT_EXT` = `1000352000`
pub const VertexInputExt: Self = Self(sys::VK_DYNAMIC_STATE_VERTEX_INPUT_EXT.0);
/// `VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT` = `1000377000`
///
/// Not promoted to 1.3
pub const PatchControlPointsExt: Self = Self(sys::VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT.0);
/// `VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT` = `VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE`
pub const RasterizerDiscardEnableExt: Self = Self(sys::VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT.0);
/// `VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT` = `VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE`
pub const DepthBiasEnableExt: Self = Self(sys::VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT.0);
/// `VK_DYNAMIC_STATE_LOGIC_OP_EXT` = `1000377003`
///
/// Not promoted to 1.3
pub const LogicOpExt: Self = Self(sys::VK_DYNAMIC_STATE_LOGIC_OP_EXT.0);
/// `VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT` = `VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE`
pub const PrimitiveRestartEnableExt: Self = Self(sys::VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT.0);
/// `VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT` = `1000381000`
pub const ColorWriteEnableExt: Self = Self(sys::VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT.0);
/// `VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT` = `1000455003`
pub const DepthClampEnableExt: Self = Self(sys::VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT.0);
/// `VK_DYNAMIC_STATE_POLYGON_MODE_EXT` = `1000455004`
pub const PolygonModeExt: Self = Self(sys::VK_DYNAMIC_STATE_POLYGON_MODE_EXT.0);
/// `VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT` = `1000455005`
pub const RasterizationSamplesExt: Self = Self(sys::VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT.0);
/// `VK_DYNAMIC_STATE_SAMPLE_MASK_EXT` = `1000455006`
pub const SampleMaskExt: Self = Self(sys::VK_DYNAMIC_STATE_SAMPLE_MASK_EXT.0);
/// `VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT` = `1000455007`
pub const AlphaToCoverageEnableExt: Self = Self(sys::VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT.0);
/// `VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT` = `1000455008`
pub const AlphaToOneEnableExt: Self = Self(sys::VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT.0);
/// `VK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT` = `1000455009`
pub const LogicOpEnableExt: Self = Self(sys::VK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT.0);
/// `VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT` = `1000455010`
pub const ColorBlendEnableExt: Self = Self(sys::VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT.0);
/// `VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT` = `1000455011`
pub const ColorBlendEquationExt: Self = Self(sys::VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT.0);
/// `VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT` = `1000455012`
pub const ColorWriteMaskExt: Self = Self(sys::VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT.0);
/// `VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT` = `1000455002`
pub const TessellationDomainOriginExt: Self = Self(sys::VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT.0);
/// `VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT` = `1000455013`
pub const RasterizationStreamExt: Self = Self(sys::VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT.0);
/// `VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT` = `1000455014`
pub const ConservativeRasterizationModeExt: Self = Self(sys::VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT.0);
/// `VK_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT` = `1000455015`
pub const ExtraPrimitiveOverestimationSizeExt: Self = Self(sys::VK_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT.0);
/// `VK_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT` = `1000455016`
pub const DepthClipEnableExt: Self = Self(sys::VK_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT.0);
/// `VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT` = `1000455017`
pub const SampleLocationsEnableExt: Self = Self(sys::VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT.0);
/// `VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT` = `1000455018`
pub const ColorBlendAdvancedExt: Self = Self(sys::VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT.0);
/// `VK_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT` = `1000455019`
pub const ProvokingVertexModeExt: Self = Self(sys::VK_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT.0);
/// `VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT` = `1000455020`
pub const LineRasterizationModeExt: Self = Self(sys::VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT.0);
/// `VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT` = `1000455021`
pub const LineStippleEnableExt: Self = Self(sys::VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT.0);
/// `VK_DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT` = `1000455022`
pub const DepthClipNegativeOneToOneExt: Self = Self(sys::VK_DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT.0);
/// `VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV` = `1000455023`
pub const ViewportWScalingEnableNv: Self = Self(sys::VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV.0);
/// `VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV` = `1000455024`
pub const ViewportSwizzleNv: Self = Self(sys::VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV.0);
/// `VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV` = `1000455025`
pub const CoverageToColorEnableNv: Self = Self(sys::VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV.0);
/// `VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV` = `1000455026`
pub const CoverageToColorLocationNv: Self = Self(sys::VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV.0);
/// `VK_DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV` = `1000455027`
pub const CoverageModulationModeNv: Self = Self(sys::VK_DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV.0);
/// `VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV` = `1000455028`
pub const CoverageModulationTableEnableNv: Self = Self(sys::VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV.0);
/// `VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV` = `1000455029`
pub const CoverageModulationTableNv: Self = Self(sys::VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV.0);
/// `VK_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV` = `1000455030`
pub const ShadingRateImageEnableNv: Self = Self(sys::VK_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV.0);
/// `VK_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV` = `1000455031`
pub const RepresentativeFragmentTestEnableNv: Self = Self(sys::VK_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV.0);
/// `VK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV` = `1000455032`
pub const CoverageReductionModeNv: Self = Self(sys::VK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV.0);
/// `VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT` = `1000524000`
pub const AttachmentFeedbackLoopEnableExt: Self = Self(sys::VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT.0);
/// `VK_DYNAMIC_STATE_LINE_STIPPLE_KHR` = `VK_DYNAMIC_STATE_LINE_STIPPLE`
pub const LineStippleKhr: Self = Self(sys::VK_DYNAMIC_STATE_LINE_STIPPLE_KHR.0);
/// `VK_DYNAMIC_STATE_DEPTH_CLAMP_RANGE_EXT` = `1000582000`
pub const DepthClampRangeExt: Self = Self(sys::VK_DYNAMIC_STATE_DEPTH_CLAMP_RANGE_EXT.0);
}
impl_enum_display!(DynamicState = VkDynamicState { Viewport, Scissor, LineWidth, DepthBias, BlendConstants, DepthBounds, StencilCompareMask, StencilWriteMask, StencilReference, CullMode, FrontFace, PrimitiveTopology, ViewportWithCount, ScissorWithCount, VertexInputBindingStride, DepthTestEnable, DepthWriteEnable, DepthCompareOp, DepthBoundsTestEnable, StencilTestEnable, StencilOp, RasterizerDiscardEnable, DepthBiasEnable, PrimitiveRestartEnable, LineStipple, ViewportWScalingNv, DiscardRectangleExt, DiscardRectangleEnableExt, DiscardRectangleModeExt, SampleLocationsExt, RayTracingPipelineStackSizeKhr, ViewportShadingRatePaletteNv, ViewportCoarseSampleOrderNv, ExclusiveScissorEnableNv, ExclusiveScissorNv, FragmentShadingRateKhr, LineStippleExt, CullModeExt, FrontFaceExt, PrimitiveTopologyExt, ViewportWithCountExt, ScissorWithCountExt, VertexInputBindingStrideExt, DepthTestEnableExt, DepthWriteEnableExt, DepthCompareOpExt, DepthBoundsTestEnableExt, StencilTestEnableExt, StencilOpExt, VertexInputExt, PatchControlPointsExt, RasterizerDiscardEnableExt, DepthBiasEnableExt, LogicOpExt, PrimitiveRestartEnableExt, ColorWriteEnableExt, DepthClampEnableExt, PolygonModeExt, RasterizationSamplesExt, SampleMaskExt, AlphaToCoverageEnableExt, AlphaToOneEnableExt, LogicOpEnableExt, ColorBlendEnableExt, ColorBlendEquationExt, ColorWriteMaskExt, TessellationDomainOriginExt, RasterizationStreamExt, ConservativeRasterizationModeExt, ExtraPrimitiveOverestimationSizeExt, DepthClipEnableExt, SampleLocationsEnableExt, ColorBlendAdvancedExt, ProvokingVertexModeExt, LineRasterizationModeExt, LineStippleEnableExt, DepthClipNegativeOneToOneExt, ViewportWScalingEnableNv, ViewportSwizzleNv, CoverageToColorEnableNv, CoverageToColorLocationNv, CoverageModulationModeNv, CoverageModulationTableEnableNv, CoverageModulationTableNv, ShadingRateImageEnableNv, RepresentativeFragmentTestEnableNv, CoverageReductionModeNv, AttachmentFeedbackLoopEnableExt, LineStippleKhr, DepthClampRangeExt });
/// `VkEventCreateFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct EventCreateFlags(pub i32);
flags!(EventCreateFlags);
from_into_transparent!(EventCreateFlags : i32);
from_by_transmute!(EventCreateFlags => sys::VkEventCreateFlags);
from_by_transmute!(sys::VkEventCreateFlags => EventCreateFlags);
impl_to_sys!(EventCreateFlags => sys::VkEventCreateFlags);
impl_enum!(EventCreateFlags => sys::VkEventCreateFlags);
impl EventCreateFlags {
/// `VK_EVENT_CREATE_DEVICE_ONLY_BIT` = `1 << 0`
pub const DeviceOnly: Self = Self(sys::VK_EVENT_CREATE_DEVICE_ONLY_BIT.0);
/// `VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR` = `VK_EVENT_CREATE_DEVICE_ONLY_BIT`
pub const DeviceOnlyKhr: Self = Self(sys::VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR.0);
}
impl_flags_display!(EventCreateFlags = VkEventCreateFlags { DeviceOnly, DeviceOnlyKhr });
/// `VkExportMetalObjectTypeFlagsEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ExportMetalObjectTypeFlagsEXT(pub i32);
flags!(ExportMetalObjectTypeFlagsEXT);
from_into_transparent!(ExportMetalObjectTypeFlagsEXT : i32);
from_by_transmute!(ExportMetalObjectTypeFlagsEXT => sys::VkExportMetalObjectTypeFlagsEXT);
from_by_transmute!(sys::VkExportMetalObjectTypeFlagsEXT => ExportMetalObjectTypeFlagsEXT);
impl_to_sys!(ExportMetalObjectTypeFlagsEXT => sys::VkExportMetalObjectTypeFlagsEXT);
impl_enum!(ExportMetalObjectTypeFlagsEXT => sys::VkExportMetalObjectTypeFlagsEXT);
impl ExportMetalObjectTypeFlagsEXT {
/// `VK_EXPORT_METAL_OBJECT_TYPE_METAL_DEVICE_BIT_EXT` = `1 << 0`
pub const MetalDeviceExt: Self = Self(sys::VK_EXPORT_METAL_OBJECT_TYPE_METAL_DEVICE_BIT_EXT.0);
/// `VK_EXPORT_METAL_OBJECT_TYPE_METAL_COMMAND_QUEUE_BIT_EXT` = `1 << 1`
pub const MetalCommandQueueExt: Self = Self(sys::VK_EXPORT_METAL_OBJECT_TYPE_METAL_COMMAND_QUEUE_BIT_EXT.0);
/// `VK_EXPORT_METAL_OBJECT_TYPE_METAL_BUFFER_BIT_EXT` = `1 << 2`
pub const MetalBufferExt: Self = Self(sys::VK_EXPORT_METAL_OBJECT_TYPE_METAL_BUFFER_BIT_EXT.0);
/// `VK_EXPORT_METAL_OBJECT_TYPE_METAL_TEXTURE_BIT_EXT` = `1 << 3`
pub const MetalTextureExt: Self = Self(sys::VK_EXPORT_METAL_OBJECT_TYPE_METAL_TEXTURE_BIT_EXT.0);
/// `VK_EXPORT_METAL_OBJECT_TYPE_METAL_IOSURFACE_BIT_EXT` = `1 << 4`
pub const MetalIosurfaceExt: Self = Self(sys::VK_EXPORT_METAL_OBJECT_TYPE_METAL_IOSURFACE_BIT_EXT.0);
/// `VK_EXPORT_METAL_OBJECT_TYPE_METAL_SHARED_EVENT_BIT_EXT` = `1 << 5`
pub const MetalSharedEventExt: Self = Self(sys::VK_EXPORT_METAL_OBJECT_TYPE_METAL_SHARED_EVENT_BIT_EXT.0);
}
impl_flags_display!(ExportMetalObjectTypeFlagsEXT = VkExportMetalObjectTypeFlagsEXT { MetalDeviceExt, MetalCommandQueueExt, MetalBufferExt, MetalTextureExt, MetalIosurfaceExt, MetalSharedEventExt });
/// `VkExternalFenceFeatureFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ExternalFenceFeatureFlags(pub i32);
flags!(ExternalFenceFeatureFlags);
from_into_transparent!(ExternalFenceFeatureFlags : i32);
from_by_transmute!(ExternalFenceFeatureFlags => sys::VkExternalFenceFeatureFlags);
from_by_transmute!(sys::VkExternalFenceFeatureFlags => ExternalFenceFeatureFlags);
impl_to_sys!(ExternalFenceFeatureFlags => sys::VkExternalFenceFeatureFlags);
impl_enum!(ExternalFenceFeatureFlags => sys::VkExternalFenceFeatureFlags);
impl ExternalFenceFeatureFlags {
/// `VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT` = `1 << 0`
pub const Exportable: Self = Self(sys::VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT.0);
/// `VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT` = `1 << 1`
pub const Importable: Self = Self(sys::VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT.0);
/// `VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR` = `VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT`
pub const ExportableKhr: Self = Self(sys::VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT_KHR.0);
/// `VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR` = `VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT`
pub const ImportableKhr: Self = Self(sys::VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT_KHR.0);
}
impl_flags_display!(ExternalFenceFeatureFlags = VkExternalFenceFeatureFlags { Exportable, Importable, ExportableKhr, ImportableKhr });
/// `VkExternalFenceFeatureFlagsKHR` = `VkExternalFenceFeatureFlags`
pub type ExternalFenceFeatureFlagsKHR = ExternalFenceFeatureFlags;
/// `VkExternalFenceHandleTypeFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ExternalFenceHandleTypeFlags(pub i32);
flags!(ExternalFenceHandleTypeFlags);
from_into_transparent!(ExternalFenceHandleTypeFlags : i32);
from_by_transmute!(ExternalFenceHandleTypeFlags => sys::VkExternalFenceHandleTypeFlags);
from_by_transmute!(sys::VkExternalFenceHandleTypeFlags => ExternalFenceHandleTypeFlags);
impl_to_sys!(ExternalFenceHandleTypeFlags => sys::VkExternalFenceHandleTypeFlags);
impl_enum!(ExternalFenceHandleTypeFlags => sys::VkExternalFenceHandleTypeFlags);
impl ExternalFenceHandleTypeFlags {
/// `VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT` = `1 << 0`
pub const OpaqueFd: Self = Self(sys::VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT.0);
/// `VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT` = `1 << 1`
pub const OpaqueWin32: Self = Self(sys::VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT.0);
/// `VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT` = `1 << 2`
pub const OpaqueWin32Kmt: Self = Self(sys::VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT.0);
/// `VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT` = `1 << 3`
pub const SyncFd: Self = Self(sys::VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT.0);
/// `VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR` = `VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT`
pub const OpaqueFdKhr: Self = Self(sys::VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR.0);
/// `VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR` = `VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT`
pub const OpaqueWin32Khr: Self = Self(sys::VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR.0);
/// `VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR` = `VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT`
pub const OpaqueWin32KmtKhr: Self = Self(sys::VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR.0);
/// `VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR` = `VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT`
pub const SyncFdKhr: Self = Self(sys::VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR.0);
/// `VK_EXTERNAL_FENCE_HANDLE_TYPE_SCI_SYNC_OBJ_BIT_NV` = `1 << 4`
pub const SciSyncObjNv: Self = Self(sys::VK_EXTERNAL_FENCE_HANDLE_TYPE_SCI_SYNC_OBJ_BIT_NV.0);
/// `VK_EXTERNAL_FENCE_HANDLE_TYPE_SCI_SYNC_FENCE_BIT_NV` = `1 << 5`
pub const SciSyncFenceNv: Self = Self(sys::VK_EXTERNAL_FENCE_HANDLE_TYPE_SCI_SYNC_FENCE_BIT_NV.0);
}
impl_flags_display!(ExternalFenceHandleTypeFlags = VkExternalFenceHandleTypeFlags { OpaqueFd, OpaqueWin32, OpaqueWin32Kmt, SyncFd, OpaqueFdKhr, OpaqueWin32Khr, OpaqueWin32KmtKhr, SyncFdKhr, SciSyncObjNv, SciSyncFenceNv });
/// `VkExternalFenceHandleTypeFlagsKHR` = `VkExternalFenceHandleTypeFlags`
pub type ExternalFenceHandleTypeFlagsKHR = ExternalFenceHandleTypeFlags;
/// `VkExternalMemoryFeatureFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ExternalMemoryFeatureFlags(pub i32);
flags!(ExternalMemoryFeatureFlags);
from_into_transparent!(ExternalMemoryFeatureFlags : i32);
from_by_transmute!(ExternalMemoryFeatureFlags => sys::VkExternalMemoryFeatureFlags);
from_by_transmute!(sys::VkExternalMemoryFeatureFlags => ExternalMemoryFeatureFlags);
impl_to_sys!(ExternalMemoryFeatureFlags => sys::VkExternalMemoryFeatureFlags);
impl_enum!(ExternalMemoryFeatureFlags => sys::VkExternalMemoryFeatureFlags);
impl ExternalMemoryFeatureFlags {
/// `VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT` = `1 << 0`
pub const DedicatedOnly: Self = Self(sys::VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT.0);
/// `VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT` = `1 << 1`
pub const Exportable: Self = Self(sys::VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT.0);
/// `VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT` = `1 << 2`
pub const Importable: Self = Self(sys::VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT.0);
/// `VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR` = `VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT`
pub const DedicatedOnlyKhr: Self = Self(sys::VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_KHR.0);
/// `VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR` = `VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT`
pub const ExportableKhr: Self = Self(sys::VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_KHR.0);
/// `VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR` = `VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT`
pub const ImportableKhr: Self = Self(sys::VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_KHR.0);
}
impl_flags_display!(ExternalMemoryFeatureFlags = VkExternalMemoryFeatureFlags { DedicatedOnly, Exportable, Importable, DedicatedOnlyKhr, ExportableKhr, ImportableKhr });
/// `VkExternalMemoryFeatureFlagsKHR` = `VkExternalMemoryFeatureFlags`
pub type ExternalMemoryFeatureFlagsKHR = ExternalMemoryFeatureFlags;
/// `VkExternalMemoryFeatureFlagsNV`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ExternalMemoryFeatureFlagsNV(pub i32);
flags!(ExternalMemoryFeatureFlagsNV);
from_into_transparent!(ExternalMemoryFeatureFlagsNV : i32);
from_by_transmute!(ExternalMemoryFeatureFlagsNV => sys::VkExternalMemoryFeatureFlagsNV);
from_by_transmute!(sys::VkExternalMemoryFeatureFlagsNV => ExternalMemoryFeatureFlagsNV);
impl_to_sys!(ExternalMemoryFeatureFlagsNV => sys::VkExternalMemoryFeatureFlagsNV);
impl_enum!(ExternalMemoryFeatureFlagsNV => sys::VkExternalMemoryFeatureFlagsNV);
impl ExternalMemoryFeatureFlagsNV {
/// `VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV` = `1 << 0`
pub const DedicatedOnlyNv: Self = Self(sys::VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV.0);
/// `VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV` = `1 << 1`
pub const ExportableNv: Self = Self(sys::VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV.0);
/// `VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV` = `1 << 2`
pub const ImportableNv: Self = Self(sys::VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV.0);
}
impl_flags_display!(ExternalMemoryFeatureFlagsNV = VkExternalMemoryFeatureFlagsNV { DedicatedOnlyNv, ExportableNv, ImportableNv });
/// `VkExternalMemoryHandleTypeFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ExternalMemoryHandleTypeFlags(pub i32);
flags!(ExternalMemoryHandleTypeFlags);
from_into_transparent!(ExternalMemoryHandleTypeFlags : i32);
from_by_transmute!(ExternalMemoryHandleTypeFlags => sys::VkExternalMemoryHandleTypeFlags);
from_by_transmute!(sys::VkExternalMemoryHandleTypeFlags => ExternalMemoryHandleTypeFlags);
impl_to_sys!(ExternalMemoryHandleTypeFlags => sys::VkExternalMemoryHandleTypeFlags);
impl_enum!(ExternalMemoryHandleTypeFlags => sys::VkExternalMemoryHandleTypeFlags);
impl ExternalMemoryHandleTypeFlags {
/// `VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT` = `1 << 0`
pub const OpaqueFd: Self = Self(sys::VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT.0);
/// `VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT` = `1 << 1`
pub const OpaqueWin32: Self = Self(sys::VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT.0);
/// `VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT` = `1 << 2`
pub const OpaqueWin32Kmt: Self = Self(sys::VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT.0);
/// `VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT` = `1 << 3`
pub const D3d11Texture: Self = Self(sys::VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT.0);
/// `VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT` = `1 << 4`
pub const D3d11TextureKmt: Self = Self(sys::VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT.0);
/// `VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT` = `1 << 5`
pub const D3d12Heap: Self = Self(sys::VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT.0);
/// `VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT` = `1 << 6`
pub const D3d12Resource: Self = Self(sys::VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT.0);
/// `VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR` = `VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT`
pub const OpaqueFdKhr: Self = Self(sys::VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR.0);
/// `VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR` = `VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT`
pub const OpaqueWin32Khr: Self = Self(sys::VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR.0);
/// `VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR` = `VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT`
pub const OpaqueWin32KmtKhr: Self = Self(sys::VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR.0);
/// `VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR` = `VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT`
pub const D3d11TextureKhr: Self = Self(sys::VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT_KHR.0);
/// `VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR` = `VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT`
pub const D3d11TextureKmtKhr: Self = Self(sys::VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT_KHR.0);
/// `VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR` = `VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT`
pub const D3d12HeapKhr: Self = Self(sys::VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT_KHR.0);
/// `VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR` = `VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT`
pub const D3d12ResourceKhr: Self = Self(sys::VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT_KHR.0);
/// `VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT` = `1 << 9`
pub const DmaBufExt: Self = Self(sys::VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT.0);
/// `VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID` = `1 << 10`
pub const AndroidHardwareBufferAndroid: Self = Self(sys::VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID.0);
/// `VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT` = `1 << 7`
pub const HostAllocationExt: Self = Self(sys::VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT.0);
/// `VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT` = `1 << 8`
pub const HostMappedForeignMemoryExt: Self = Self(sys::VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT.0);
/// `VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA` = `1 << 11`
pub const ZirconVmoFuchsia: Self = Self(sys::VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA.0);
/// `VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV` = `1 << 12`
pub const RdmaAddressNv: Self = Self(sys::VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV.0);
/// `VK_EXTERNAL_MEMORY_HANDLE_TYPE_SCI_BUF_BIT_NV` = `1 << 13`
pub const SciBufNv: Self = Self(sys::VK_EXTERNAL_MEMORY_HANDLE_TYPE_SCI_BUF_BIT_NV.0);
/// `VK_EXTERNAL_MEMORY_HANDLE_TYPE_OH_NATIVE_BUFFER_BIT_OHOS` = `1 << 15`
pub const OhNativeBufferOhos: Self = Self(sys::VK_EXTERNAL_MEMORY_HANDLE_TYPE_OH_NATIVE_BUFFER_BIT_OHOS.0);
/// `VK_EXTERNAL_MEMORY_HANDLE_TYPE_SCREEN_BUFFER_BIT_QNX` = `1 << 14`
pub const ScreenBufferQnx: Self = Self(sys::VK_EXTERNAL_MEMORY_HANDLE_TYPE_SCREEN_BUFFER_BIT_QNX.0);
/// `VK_EXTERNAL_MEMORY_HANDLE_TYPE_MTLBUFFER_BIT_EXT` = `1 << 16`
pub const MtlbufferExt: Self = Self(sys::VK_EXTERNAL_MEMORY_HANDLE_TYPE_MTLBUFFER_BIT_EXT.0);
/// `VK_EXTERNAL_MEMORY_HANDLE_TYPE_MTLTEXTURE_BIT_EXT` = `1 << 17`
pub const MtltextureExt: Self = Self(sys::VK_EXTERNAL_MEMORY_HANDLE_TYPE_MTLTEXTURE_BIT_EXT.0);
/// `VK_EXTERNAL_MEMORY_HANDLE_TYPE_MTLHEAP_BIT_EXT` = `1 << 18`
pub const MtlheapExt: Self = Self(sys::VK_EXTERNAL_MEMORY_HANDLE_TYPE_MTLHEAP_BIT_EXT.0);
}
impl_flags_display!(ExternalMemoryHandleTypeFlags = VkExternalMemoryHandleTypeFlags { OpaqueFd, OpaqueWin32, OpaqueWin32Kmt, D3d11Texture, D3d11TextureKmt, D3d12Heap, D3d12Resource, OpaqueFdKhr, OpaqueWin32Khr, OpaqueWin32KmtKhr, D3d11TextureKhr, D3d11TextureKmtKhr, D3d12HeapKhr, D3d12ResourceKhr, DmaBufExt, AndroidHardwareBufferAndroid, HostAllocationExt, HostMappedForeignMemoryExt, ZirconVmoFuchsia, RdmaAddressNv, SciBufNv, OhNativeBufferOhos, ScreenBufferQnx, MtlbufferExt, MtltextureExt, MtlheapExt });
/// `VkExternalMemoryHandleTypeFlagsKHR` = `VkExternalMemoryHandleTypeFlags`
pub type ExternalMemoryHandleTypeFlagsKHR = ExternalMemoryHandleTypeFlags;
/// `VkExternalMemoryHandleTypeFlagsNV`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ExternalMemoryHandleTypeFlagsNV(pub i32);
flags!(ExternalMemoryHandleTypeFlagsNV);
from_into_transparent!(ExternalMemoryHandleTypeFlagsNV : i32);
from_by_transmute!(ExternalMemoryHandleTypeFlagsNV => sys::VkExternalMemoryHandleTypeFlagsNV);
from_by_transmute!(sys::VkExternalMemoryHandleTypeFlagsNV => ExternalMemoryHandleTypeFlagsNV);
impl_to_sys!(ExternalMemoryHandleTypeFlagsNV => sys::VkExternalMemoryHandleTypeFlagsNV);
impl_enum!(ExternalMemoryHandleTypeFlagsNV => sys::VkExternalMemoryHandleTypeFlagsNV);
impl ExternalMemoryHandleTypeFlagsNV {
/// `VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV` = `1 << 0`
pub const OpaqueWin32Nv: Self = Self(sys::VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV.0);
/// `VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV` = `1 << 1`
pub const OpaqueWin32KmtNv: Self = Self(sys::VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV.0);
/// `VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV` = `1 << 2`
pub const D3d11ImageNv: Self = Self(sys::VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV.0);
/// `VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV` = `1 << 3`
pub const D3d11ImageKmtNv: Self = Self(sys::VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV.0);
}
impl_flags_display!(ExternalMemoryHandleTypeFlagsNV = VkExternalMemoryHandleTypeFlagsNV { OpaqueWin32Nv, OpaqueWin32KmtNv, D3d11ImageNv, D3d11ImageKmtNv });
/// `VkExternalSemaphoreFeatureFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ExternalSemaphoreFeatureFlags(pub i32);
flags!(ExternalSemaphoreFeatureFlags);
from_into_transparent!(ExternalSemaphoreFeatureFlags : i32);
from_by_transmute!(ExternalSemaphoreFeatureFlags => sys::VkExternalSemaphoreFeatureFlags);
from_by_transmute!(sys::VkExternalSemaphoreFeatureFlags => ExternalSemaphoreFeatureFlags);
impl_to_sys!(ExternalSemaphoreFeatureFlags => sys::VkExternalSemaphoreFeatureFlags);
impl_enum!(ExternalSemaphoreFeatureFlags => sys::VkExternalSemaphoreFeatureFlags);
impl ExternalSemaphoreFeatureFlags {
/// `VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT` = `1 << 0`
pub const Exportable: Self = Self(sys::VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT.0);
/// `VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT` = `1 << 1`
pub const Importable: Self = Self(sys::VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT.0);
/// `VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR` = `VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT`
pub const ExportableKhr: Self = Self(sys::VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT_KHR.0);
/// `VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR` = `VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT`
pub const ImportableKhr: Self = Self(sys::VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT_KHR.0);
}
impl_flags_display!(ExternalSemaphoreFeatureFlags = VkExternalSemaphoreFeatureFlags { Exportable, Importable, ExportableKhr, ImportableKhr });
/// `VkExternalSemaphoreFeatureFlagsKHR` = `VkExternalSemaphoreFeatureFlags`
pub type ExternalSemaphoreFeatureFlagsKHR = ExternalSemaphoreFeatureFlags;
/// `VkExternalSemaphoreHandleTypeFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ExternalSemaphoreHandleTypeFlags(pub i32);
flags!(ExternalSemaphoreHandleTypeFlags);
from_into_transparent!(ExternalSemaphoreHandleTypeFlags : i32);
from_by_transmute!(ExternalSemaphoreHandleTypeFlags => sys::VkExternalSemaphoreHandleTypeFlags);
from_by_transmute!(sys::VkExternalSemaphoreHandleTypeFlags => ExternalSemaphoreHandleTypeFlags);
impl_to_sys!(ExternalSemaphoreHandleTypeFlags => sys::VkExternalSemaphoreHandleTypeFlags);
impl_enum!(ExternalSemaphoreHandleTypeFlags => sys::VkExternalSemaphoreHandleTypeFlags);
impl ExternalSemaphoreHandleTypeFlags {
/// `VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT` = `1 << 0`
pub const OpaqueFd: Self = Self(sys::VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT.0);
/// `VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT` = `1 << 1`
pub const OpaqueWin32: Self = Self(sys::VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT.0);
/// `VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT` = `1 << 2`
pub const OpaqueWin32Kmt: Self = Self(sys::VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT.0);
/// `VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT` = `1 << 3`
pub const D3d12Fence: Self = Self(sys::VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT.0);
/// `VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT` = `VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT`
pub const D3d11Fence: Self = Self(sys::VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT.0);
/// `VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT` = `1 << 4`
pub const SyncFd: Self = Self(sys::VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT.0);
/// `VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR` = `VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT`
pub const OpaqueFdKhr: Self = Self(sys::VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT_KHR.0);
/// `VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR` = `VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT`
pub const OpaqueWin32Khr: Self = Self(sys::VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR.0);
/// `VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR` = `VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT`
pub const OpaqueWin32KmtKhr: Self = Self(sys::VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR.0);
/// `VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR` = `VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT`
pub const D3d12FenceKhr: Self = Self(sys::VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT_KHR.0);
/// `VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR` = `VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT`
pub const SyncFdKhr: Self = Self(sys::VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR.0);
/// `VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA` = `1 << 7`
pub const ZirconEventFuchsia: Self = Self(sys::VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA.0);
/// `VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SCI_SYNC_OBJ_BIT_NV` = `1 << 5`
pub const SciSyncObjNv: Self = Self(sys::VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SCI_SYNC_OBJ_BIT_NV.0);
}
impl_flags_display!(ExternalSemaphoreHandleTypeFlags = VkExternalSemaphoreHandleTypeFlags { OpaqueFd, OpaqueWin32, OpaqueWin32Kmt, D3d12Fence, D3d11Fence, SyncFd, OpaqueFdKhr, OpaqueWin32Khr, OpaqueWin32KmtKhr, D3d12FenceKhr, SyncFdKhr, ZirconEventFuchsia, SciSyncObjNv });
/// `VkExternalSemaphoreHandleTypeFlagsKHR` = `VkExternalSemaphoreHandleTypeFlags`
pub type ExternalSemaphoreHandleTypeFlagsKHR = ExternalSemaphoreHandleTypeFlags;
/// `VkFaultLevel`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct FaultLevel(pub i32);
from_into_transparent!(FaultLevel : i32);
from_by_transmute!(FaultLevel => sys::VkFaultLevel);
from_by_transmute!(sys::VkFaultLevel => FaultLevel);
impl_to_sys!(FaultLevel => sys::VkFaultLevel);
impl_enum!(FaultLevel => sys::VkFaultLevel);
impl FaultLevel {
/// `VK_FAULT_LEVEL_UNASSIGNED` = `0`
pub const Unassigned: Self = Self(sys::VK_FAULT_LEVEL_UNASSIGNED.0);
/// `VK_FAULT_LEVEL_CRITICAL` = `1`
pub const Critical: Self = Self(sys::VK_FAULT_LEVEL_CRITICAL.0);
/// `VK_FAULT_LEVEL_RECOVERABLE` = `2`
pub const Recoverable: Self = Self(sys::VK_FAULT_LEVEL_RECOVERABLE.0);
/// `VK_FAULT_LEVEL_WARNING` = `3`
pub const Warning: Self = Self(sys::VK_FAULT_LEVEL_WARNING.0);
}
impl_enum_display!(FaultLevel = VkFaultLevel { Unassigned, Critical, Recoverable, Warning });
/// `VkFaultQueryBehavior`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct FaultQueryBehavior(pub i32);
from_into_transparent!(FaultQueryBehavior : i32);
from_by_transmute!(FaultQueryBehavior => sys::VkFaultQueryBehavior);
from_by_transmute!(sys::VkFaultQueryBehavior => FaultQueryBehavior);
impl_to_sys!(FaultQueryBehavior => sys::VkFaultQueryBehavior);
impl_enum!(FaultQueryBehavior => sys::VkFaultQueryBehavior);
impl FaultQueryBehavior {
/// `VK_FAULT_QUERY_BEHAVIOR_GET_AND_CLEAR_ALL_FAULTS` = `0`
pub const GetAndClearAllFaults: Self = Self(sys::VK_FAULT_QUERY_BEHAVIOR_GET_AND_CLEAR_ALL_FAULTS.0);
}
impl_enum_display!(FaultQueryBehavior = VkFaultQueryBehavior { GetAndClearAllFaults });
/// `VkFaultType`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct FaultType(pub i32);
from_into_transparent!(FaultType : i32);
from_by_transmute!(FaultType => sys::VkFaultType);
from_by_transmute!(sys::VkFaultType => FaultType);
impl_to_sys!(FaultType => sys::VkFaultType);
impl_enum!(FaultType => sys::VkFaultType);
impl FaultType {
/// `VK_FAULT_TYPE_INVALID` = `0`
pub const Invalid: Self = Self(sys::VK_FAULT_TYPE_INVALID.0);
/// `VK_FAULT_TYPE_UNASSIGNED` = `1`
pub const Unassigned: Self = Self(sys::VK_FAULT_TYPE_UNASSIGNED.0);
/// `VK_FAULT_TYPE_IMPLEMENTATION` = `2`
pub const Implementation: Self = Self(sys::VK_FAULT_TYPE_IMPLEMENTATION.0);
/// `VK_FAULT_TYPE_SYSTEM` = `3`
pub const System: Self = Self(sys::VK_FAULT_TYPE_SYSTEM.0);
/// `VK_FAULT_TYPE_PHYSICAL_DEVICE` = `4`
pub const PhysicalDevice: Self = Self(sys::VK_FAULT_TYPE_PHYSICAL_DEVICE.0);
/// `VK_FAULT_TYPE_COMMAND_BUFFER_FULL` = `5`
pub const CommandBufferFull: Self = Self(sys::VK_FAULT_TYPE_COMMAND_BUFFER_FULL.0);
/// `VK_FAULT_TYPE_INVALID_API_USAGE` = `6`
pub const InvalidApiUsage: Self = Self(sys::VK_FAULT_TYPE_INVALID_API_USAGE.0);
}
impl_enum_display!(FaultType = VkFaultType { Invalid, Unassigned, Implementation, System, PhysicalDevice, CommandBufferFull, InvalidApiUsage });
/// `VkFenceCreateFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct FenceCreateFlags(pub i32);
flags!(FenceCreateFlags);
from_into_transparent!(FenceCreateFlags : i32);
from_by_transmute!(FenceCreateFlags => sys::VkFenceCreateFlags);
from_by_transmute!(sys::VkFenceCreateFlags => FenceCreateFlags);
impl_to_sys!(FenceCreateFlags => sys::VkFenceCreateFlags);
impl_enum!(FenceCreateFlags => sys::VkFenceCreateFlags);
impl FenceCreateFlags {
/// `VK_FENCE_CREATE_SIGNALED_BIT` = `1 << 0`
pub const Signaled: Self = Self(sys::VK_FENCE_CREATE_SIGNALED_BIT.0);
}
impl_flags_display!(FenceCreateFlags = VkFenceCreateFlags { Signaled });
/// `VkFenceImportFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct FenceImportFlags(pub i32);
flags!(FenceImportFlags);
from_into_transparent!(FenceImportFlags : i32);
from_by_transmute!(FenceImportFlags => sys::VkFenceImportFlags);
from_by_transmute!(sys::VkFenceImportFlags => FenceImportFlags);
impl_to_sys!(FenceImportFlags => sys::VkFenceImportFlags);
impl_enum!(FenceImportFlags => sys::VkFenceImportFlags);
impl FenceImportFlags {
/// `VK_FENCE_IMPORT_TEMPORARY_BIT` = `1 << 0`
pub const Temporary: Self = Self(sys::VK_FENCE_IMPORT_TEMPORARY_BIT.0);
/// `VK_FENCE_IMPORT_TEMPORARY_BIT_KHR` = `VK_FENCE_IMPORT_TEMPORARY_BIT`
pub const TemporaryKhr: Self = Self(sys::VK_FENCE_IMPORT_TEMPORARY_BIT_KHR.0);
}
impl_flags_display!(FenceImportFlags = VkFenceImportFlags { Temporary, TemporaryKhr });
/// `VkFenceImportFlagsKHR` = `VkFenceImportFlags`
pub type FenceImportFlagsKHR = FenceImportFlags;
/// `VkFilter`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct Filter(pub i32);
from_into_transparent!(Filter : i32);
from_by_transmute!(Filter => sys::VkFilter);
from_by_transmute!(sys::VkFilter => Filter);
impl_to_sys!(Filter => sys::VkFilter);
impl_enum!(Filter => sys::VkFilter);
impl Filter {
/// `VK_FILTER_NEAREST` = `0`
pub const Nearest: Self = Self(sys::VK_FILTER_NEAREST.0);
/// `VK_FILTER_LINEAR` = `1`
pub const Linear: Self = Self(sys::VK_FILTER_LINEAR.0);
/// `VK_FILTER_CUBIC_IMG` = `VK_FILTER_CUBIC_EXT`
pub const CubicImg: Self = Self(sys::VK_FILTER_CUBIC_IMG.0);
/// `VK_FILTER_CUBIC_EXT` = `1000015000`
pub const CubicExt: Self = Self(sys::VK_FILTER_CUBIC_EXT.0);
}
impl_enum_display!(Filter = VkFilter { Nearest, Linear, CubicImg, CubicExt });
/// `VkFormat`
///
/// Vulkan format definitions
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct Format(pub i32);
from_into_transparent!(Format : i32);
from_by_transmute!(Format => sys::VkFormat);
from_by_transmute!(sys::VkFormat => Format);
impl_to_sys!(Format => sys::VkFormat);
impl_enum!(Format => sys::VkFormat);
impl Format {
/// `VK_FORMAT_UNDEFINED` = `0`
pub const Undefined: Self = Self(sys::VK_FORMAT_UNDEFINED.0);
/// `VK_FORMAT_R4G4_UNORM_PACK8` = `1`
pub const R4G4_UNorm_Pack8: Self = Self(sys::VK_FORMAT_R4G4_UNORM_PACK8.0);
/// `VK_FORMAT_R4G4B4A4_UNORM_PACK16` = `2`
pub const R4G4B4A4_UNorm_Pack16: Self = Self(sys::VK_FORMAT_R4G4B4A4_UNORM_PACK16.0);
/// `VK_FORMAT_B4G4R4A4_UNORM_PACK16` = `3`
pub const B4G4R4A4_UNorm_Pack16: Self = Self(sys::VK_FORMAT_B4G4R4A4_UNORM_PACK16.0);
/// `VK_FORMAT_R5G6B5_UNORM_PACK16` = `4`
pub const R5G6B5_UNorm_Pack16: Self = Self(sys::VK_FORMAT_R5G6B5_UNORM_PACK16.0);
/// `VK_FORMAT_B5G6R5_UNORM_PACK16` = `5`
pub const B5G6R5_UNorm_Pack16: Self = Self(sys::VK_FORMAT_B5G6R5_UNORM_PACK16.0);
/// `VK_FORMAT_R5G5B5A1_UNORM_PACK16` = `6`
pub const R5G5B5A1_UNorm_Pack16: Self = Self(sys::VK_FORMAT_R5G5B5A1_UNORM_PACK16.0);
/// `VK_FORMAT_B5G5R5A1_UNORM_PACK16` = `7`
pub const B5G5R5A1_UNorm_Pack16: Self = Self(sys::VK_FORMAT_B5G5R5A1_UNORM_PACK16.0);
/// `VK_FORMAT_A1R5G5B5_UNORM_PACK16` = `8`
pub const A1R5G5B5_UNorm_Pack16: Self = Self(sys::VK_FORMAT_A1R5G5B5_UNORM_PACK16.0);
/// `VK_FORMAT_R8_UNORM` = `9`
pub const R8_UNorm: Self = Self(sys::VK_FORMAT_R8_UNORM.0);
/// `VK_FORMAT_R8_SNORM` = `10`
pub const R8_SNorm: Self = Self(sys::VK_FORMAT_R8_SNORM.0);
/// `VK_FORMAT_R8_USCALED` = `11`
pub const R8_UScaled: Self = Self(sys::VK_FORMAT_R8_USCALED.0);
/// `VK_FORMAT_R8_SSCALED` = `12`
pub const R8_SScaled: Self = Self(sys::VK_FORMAT_R8_SSCALED.0);
/// `VK_FORMAT_R8_UINT` = `13`
pub const R8_UInt: Self = Self(sys::VK_FORMAT_R8_UINT.0);
/// `VK_FORMAT_R8_SINT` = `14`
pub const R8_SInt: Self = Self(sys::VK_FORMAT_R8_SINT.0);
/// `VK_FORMAT_R8_SRGB` = `15`
pub const R8_Srgb: Self = Self(sys::VK_FORMAT_R8_SRGB.0);
/// `VK_FORMAT_R8G8_UNORM` = `16`
pub const R8G8_UNorm: Self = Self(sys::VK_FORMAT_R8G8_UNORM.0);
/// `VK_FORMAT_R8G8_SNORM` = `17`
pub const R8G8_SNorm: Self = Self(sys::VK_FORMAT_R8G8_SNORM.0);
/// `VK_FORMAT_R8G8_USCALED` = `18`
pub const R8G8_UScaled: Self = Self(sys::VK_FORMAT_R8G8_USCALED.0);
/// `VK_FORMAT_R8G8_SSCALED` = `19`
pub const R8G8_SScaled: Self = Self(sys::VK_FORMAT_R8G8_SSCALED.0);
/// `VK_FORMAT_R8G8_UINT` = `20`
pub const R8G8_UInt: Self = Self(sys::VK_FORMAT_R8G8_UINT.0);
/// `VK_FORMAT_R8G8_SINT` = `21`
pub const R8G8_SInt: Self = Self(sys::VK_FORMAT_R8G8_SINT.0);
/// `VK_FORMAT_R8G8_SRGB` = `22`
pub const R8G8_Srgb: Self = Self(sys::VK_FORMAT_R8G8_SRGB.0);
/// `VK_FORMAT_R8G8B8_UNORM` = `23`
pub const R8G8B8_UNorm: Self = Self(sys::VK_FORMAT_R8G8B8_UNORM.0);
/// `VK_FORMAT_R8G8B8_SNORM` = `24`
pub const R8G8B8_SNorm: Self = Self(sys::VK_FORMAT_R8G8B8_SNORM.0);
/// `VK_FORMAT_R8G8B8_USCALED` = `25`
pub const R8G8B8_UScaled: Self = Self(sys::VK_FORMAT_R8G8B8_USCALED.0);
/// `VK_FORMAT_R8G8B8_SSCALED` = `26`
pub const R8G8B8_SScaled: Self = Self(sys::VK_FORMAT_R8G8B8_SSCALED.0);
/// `VK_FORMAT_R8G8B8_UINT` = `27`
pub const R8G8B8_UInt: Self = Self(sys::VK_FORMAT_R8G8B8_UINT.0);
/// `VK_FORMAT_R8G8B8_SINT` = `28`
pub const R8G8B8_SInt: Self = Self(sys::VK_FORMAT_R8G8B8_SINT.0);
/// `VK_FORMAT_R8G8B8_SRGB` = `29`
pub const R8G8B8_Srgb: Self = Self(sys::VK_FORMAT_R8G8B8_SRGB.0);
/// `VK_FORMAT_B8G8R8_UNORM` = `30`
pub const B8G8R8_UNorm: Self = Self(sys::VK_FORMAT_B8G8R8_UNORM.0);
/// `VK_FORMAT_B8G8R8_SNORM` = `31`
pub const B8G8R8_SNorm: Self = Self(sys::VK_FORMAT_B8G8R8_SNORM.0);
/// `VK_FORMAT_B8G8R8_USCALED` = `32`
pub const B8G8R8_UScaled: Self = Self(sys::VK_FORMAT_B8G8R8_USCALED.0);
/// `VK_FORMAT_B8G8R8_SSCALED` = `33`
pub const B8G8R8_SScaled: Self = Self(sys::VK_FORMAT_B8G8R8_SSCALED.0);
/// `VK_FORMAT_B8G8R8_UINT` = `34`
pub const B8G8R8_UInt: Self = Self(sys::VK_FORMAT_B8G8R8_UINT.0);
/// `VK_FORMAT_B8G8R8_SINT` = `35`
pub const B8G8R8_SInt: Self = Self(sys::VK_FORMAT_B8G8R8_SINT.0);
/// `VK_FORMAT_B8G8R8_SRGB` = `36`
pub const B8G8R8_Srgb: Self = Self(sys::VK_FORMAT_B8G8R8_SRGB.0);
/// `VK_FORMAT_R8G8B8A8_UNORM` = `37`
pub const R8G8B8A8_UNorm: Self = Self(sys::VK_FORMAT_R8G8B8A8_UNORM.0);
/// `VK_FORMAT_R8G8B8A8_SNORM` = `38`
pub const R8G8B8A8_SNorm: Self = Self(sys::VK_FORMAT_R8G8B8A8_SNORM.0);
/// `VK_FORMAT_R8G8B8A8_USCALED` = `39`
pub const R8G8B8A8_UScaled: Self = Self(sys::VK_FORMAT_R8G8B8A8_USCALED.0);
/// `VK_FORMAT_R8G8B8A8_SSCALED` = `40`
pub const R8G8B8A8_SScaled: Self = Self(sys::VK_FORMAT_R8G8B8A8_SSCALED.0);
/// `VK_FORMAT_R8G8B8A8_UINT` = `41`
pub const R8G8B8A8_UInt: Self = Self(sys::VK_FORMAT_R8G8B8A8_UINT.0);
/// `VK_FORMAT_R8G8B8A8_SINT` = `42`
pub const R8G8B8A8_SInt: Self = Self(sys::VK_FORMAT_R8G8B8A8_SINT.0);
/// `VK_FORMAT_R8G8B8A8_SRGB` = `43`
pub const R8G8B8A8_Srgb: Self = Self(sys::VK_FORMAT_R8G8B8A8_SRGB.0);
/// `VK_FORMAT_B8G8R8A8_UNORM` = `44`
pub const B8G8R8A8_UNorm: Self = Self(sys::VK_FORMAT_B8G8R8A8_UNORM.0);
/// `VK_FORMAT_B8G8R8A8_SNORM` = `45`
pub const B8G8R8A8_SNorm: Self = Self(sys::VK_FORMAT_B8G8R8A8_SNORM.0);
/// `VK_FORMAT_B8G8R8A8_USCALED` = `46`
pub const B8G8R8A8_UScaled: Self = Self(sys::VK_FORMAT_B8G8R8A8_USCALED.0);
/// `VK_FORMAT_B8G8R8A8_SSCALED` = `47`
pub const B8G8R8A8_SScaled: Self = Self(sys::VK_FORMAT_B8G8R8A8_SSCALED.0);
/// `VK_FORMAT_B8G8R8A8_UINT` = `48`
pub const B8G8R8A8_UInt: Self = Self(sys::VK_FORMAT_B8G8R8A8_UINT.0);
/// `VK_FORMAT_B8G8R8A8_SINT` = `49`
pub const B8G8R8A8_SInt: Self = Self(sys::VK_FORMAT_B8G8R8A8_SINT.0);
/// `VK_FORMAT_B8G8R8A8_SRGB` = `50`
pub const B8G8R8A8_Srgb: Self = Self(sys::VK_FORMAT_B8G8R8A8_SRGB.0);
/// `VK_FORMAT_A8B8G8R8_UNORM_PACK32` = `51`
pub const A8B8G8R8_UNorm_Pack32: Self = Self(sys::VK_FORMAT_A8B8G8R8_UNORM_PACK32.0);
/// `VK_FORMAT_A8B8G8R8_SNORM_PACK32` = `52`
pub const A8B8G8R8_SNorm_Pack32: Self = Self(sys::VK_FORMAT_A8B8G8R8_SNORM_PACK32.0);
/// `VK_FORMAT_A8B8G8R8_USCALED_PACK32` = `53`
pub const A8B8G8R8_UScaled_Pack32: Self = Self(sys::VK_FORMAT_A8B8G8R8_USCALED_PACK32.0);
/// `VK_FORMAT_A8B8G8R8_SSCALED_PACK32` = `54`
pub const A8B8G8R8_SScaled_Pack32: Self = Self(sys::VK_FORMAT_A8B8G8R8_SSCALED_PACK32.0);
/// `VK_FORMAT_A8B8G8R8_UINT_PACK32` = `55`
pub const A8B8G8R8_UInt_Pack32: Self = Self(sys::VK_FORMAT_A8B8G8R8_UINT_PACK32.0);
/// `VK_FORMAT_A8B8G8R8_SINT_PACK32` = `56`
pub const A8B8G8R8_SInt_Pack32: Self = Self(sys::VK_FORMAT_A8B8G8R8_SINT_PACK32.0);
/// `VK_FORMAT_A8B8G8R8_SRGB_PACK32` = `57`
pub const A8B8G8R8_Srgb_Pack32: Self = Self(sys::VK_FORMAT_A8B8G8R8_SRGB_PACK32.0);
/// `VK_FORMAT_A2R10G10B10_UNORM_PACK32` = `58`
pub const A2R10G10B10_UNorm_Pack32: Self = Self(sys::VK_FORMAT_A2R10G10B10_UNORM_PACK32.0);
/// `VK_FORMAT_A2R10G10B10_SNORM_PACK32` = `59`
pub const A2R10G10B10_SNorm_Pack32: Self = Self(sys::VK_FORMAT_A2R10G10B10_SNORM_PACK32.0);
/// `VK_FORMAT_A2R10G10B10_USCALED_PACK32` = `60`
pub const A2R10G10B10_UScaled_Pack32: Self = Self(sys::VK_FORMAT_A2R10G10B10_USCALED_PACK32.0);
/// `VK_FORMAT_A2R10G10B10_SSCALED_PACK32` = `61`
pub const A2R10G10B10_SScaled_Pack32: Self = Self(sys::VK_FORMAT_A2R10G10B10_SSCALED_PACK32.0);
/// `VK_FORMAT_A2R10G10B10_UINT_PACK32` = `62`
pub const A2R10G10B10_UInt_Pack32: Self = Self(sys::VK_FORMAT_A2R10G10B10_UINT_PACK32.0);
/// `VK_FORMAT_A2R10G10B10_SINT_PACK32` = `63`
pub const A2R10G10B10_SInt_Pack32: Self = Self(sys::VK_FORMAT_A2R10G10B10_SINT_PACK32.0);
/// `VK_FORMAT_A2B10G10R10_UNORM_PACK32` = `64`
pub const A2B10G10R10_UNorm_Pack32: Self = Self(sys::VK_FORMAT_A2B10G10R10_UNORM_PACK32.0);
/// `VK_FORMAT_A2B10G10R10_SNORM_PACK32` = `65`
pub const A2B10G10R10_SNorm_Pack32: Self = Self(sys::VK_FORMAT_A2B10G10R10_SNORM_PACK32.0);
/// `VK_FORMAT_A2B10G10R10_USCALED_PACK32` = `66`
pub const A2B10G10R10_UScaled_Pack32: Self = Self(sys::VK_FORMAT_A2B10G10R10_USCALED_PACK32.0);
/// `VK_FORMAT_A2B10G10R10_SSCALED_PACK32` = `67`
pub const A2B10G10R10_SScaled_Pack32: Self = Self(sys::VK_FORMAT_A2B10G10R10_SSCALED_PACK32.0);
/// `VK_FORMAT_A2B10G10R10_UINT_PACK32` = `68`
pub const A2B10G10R10_UInt_Pack32: Self = Self(sys::VK_FORMAT_A2B10G10R10_UINT_PACK32.0);
/// `VK_FORMAT_A2B10G10R10_SINT_PACK32` = `69`
pub const A2B10G10R10_SInt_Pack32: Self = Self(sys::VK_FORMAT_A2B10G10R10_SINT_PACK32.0);
/// `VK_FORMAT_R16_UNORM` = `70`
pub const R16_UNorm: Self = Self(sys::VK_FORMAT_R16_UNORM.0);
/// `VK_FORMAT_R16_SNORM` = `71`
pub const R16_SNorm: Self = Self(sys::VK_FORMAT_R16_SNORM.0);
/// `VK_FORMAT_R16_USCALED` = `72`
pub const R16_UScaled: Self = Self(sys::VK_FORMAT_R16_USCALED.0);
/// `VK_FORMAT_R16_SSCALED` = `73`
pub const R16_SScaled: Self = Self(sys::VK_FORMAT_R16_SSCALED.0);
/// `VK_FORMAT_R16_UINT` = `74`
pub const R16_UInt: Self = Self(sys::VK_FORMAT_R16_UINT.0);
/// `VK_FORMAT_R16_SINT` = `75`
pub const R16_SInt: Self = Self(sys::VK_FORMAT_R16_SINT.0);
/// `VK_FORMAT_R16_SFLOAT` = `76`
pub const R16_SFloat: Self = Self(sys::VK_FORMAT_R16_SFLOAT.0);
/// `VK_FORMAT_R16G16_UNORM` = `77`
pub const R16G16_UNorm: Self = Self(sys::VK_FORMAT_R16G16_UNORM.0);
/// `VK_FORMAT_R16G16_SNORM` = `78`
pub const R16G16_SNorm: Self = Self(sys::VK_FORMAT_R16G16_SNORM.0);
/// `VK_FORMAT_R16G16_USCALED` = `79`
pub const R16G16_UScaled: Self = Self(sys::VK_FORMAT_R16G16_USCALED.0);
/// `VK_FORMAT_R16G16_SSCALED` = `80`
pub const R16G16_SScaled: Self = Self(sys::VK_FORMAT_R16G16_SSCALED.0);
/// `VK_FORMAT_R16G16_UINT` = `81`
pub const R16G16_UInt: Self = Self(sys::VK_FORMAT_R16G16_UINT.0);
/// `VK_FORMAT_R16G16_SINT` = `82`
pub const R16G16_SInt: Self = Self(sys::VK_FORMAT_R16G16_SINT.0);
/// `VK_FORMAT_R16G16_SFLOAT` = `83`
pub const R16G16_SFloat: Self = Self(sys::VK_FORMAT_R16G16_SFLOAT.0);
/// `VK_FORMAT_R16G16B16_UNORM` = `84`
pub const R16G16B16_UNorm: Self = Self(sys::VK_FORMAT_R16G16B16_UNORM.0);
/// `VK_FORMAT_R16G16B16_SNORM` = `85`
pub const R16G16B16_SNorm: Self = Self(sys::VK_FORMAT_R16G16B16_SNORM.0);
/// `VK_FORMAT_R16G16B16_USCALED` = `86`
pub const R16G16B16_UScaled: Self = Self(sys::VK_FORMAT_R16G16B16_USCALED.0);
/// `VK_FORMAT_R16G16B16_SSCALED` = `87`
pub const R16G16B16_SScaled: Self = Self(sys::VK_FORMAT_R16G16B16_SSCALED.0);
/// `VK_FORMAT_R16G16B16_UINT` = `88`
pub const R16G16B16_UInt: Self = Self(sys::VK_FORMAT_R16G16B16_UINT.0);
/// `VK_FORMAT_R16G16B16_SINT` = `89`
pub const R16G16B16_SInt: Self = Self(sys::VK_FORMAT_R16G16B16_SINT.0);
/// `VK_FORMAT_R16G16B16_SFLOAT` = `90`
pub const R16G16B16_SFloat: Self = Self(sys::VK_FORMAT_R16G16B16_SFLOAT.0);
/// `VK_FORMAT_R16G16B16A16_UNORM` = `91`
pub const R16G16B16A16_UNorm: Self = Self(sys::VK_FORMAT_R16G16B16A16_UNORM.0);
/// `VK_FORMAT_R16G16B16A16_SNORM` = `92`
pub const R16G16B16A16_SNorm: Self = Self(sys::VK_FORMAT_R16G16B16A16_SNORM.0);
/// `VK_FORMAT_R16G16B16A16_USCALED` = `93`
pub const R16G16B16A16_UScaled: Self = Self(sys::VK_FORMAT_R16G16B16A16_USCALED.0);
/// `VK_FORMAT_R16G16B16A16_SSCALED` = `94`
pub const R16G16B16A16_SScaled: Self = Self(sys::VK_FORMAT_R16G16B16A16_SSCALED.0);
/// `VK_FORMAT_R16G16B16A16_UINT` = `95`
pub const R16G16B16A16_UInt: Self = Self(sys::VK_FORMAT_R16G16B16A16_UINT.0);
/// `VK_FORMAT_R16G16B16A16_SINT` = `96`
pub const R16G16B16A16_SInt: Self = Self(sys::VK_FORMAT_R16G16B16A16_SINT.0);
/// `VK_FORMAT_R16G16B16A16_SFLOAT` = `97`
pub const R16G16B16A16_SFloat: Self = Self(sys::VK_FORMAT_R16G16B16A16_SFLOAT.0);
/// `VK_FORMAT_R32_UINT` = `98`
pub const R32_UInt: Self = Self(sys::VK_FORMAT_R32_UINT.0);
/// `VK_FORMAT_R32_SINT` = `99`
pub const R32_SInt: Self = Self(sys::VK_FORMAT_R32_SINT.0);
/// `VK_FORMAT_R32_SFLOAT` = `100`
pub const R32_SFloat: Self = Self(sys::VK_FORMAT_R32_SFLOAT.0);
/// `VK_FORMAT_R32G32_UINT` = `101`
pub const R32G32_UInt: Self = Self(sys::VK_FORMAT_R32G32_UINT.0);
/// `VK_FORMAT_R32G32_SINT` = `102`
pub const R32G32_SInt: Self = Self(sys::VK_FORMAT_R32G32_SINT.0);
/// `VK_FORMAT_R32G32_SFLOAT` = `103`
pub const R32G32_SFloat: Self = Self(sys::VK_FORMAT_R32G32_SFLOAT.0);
/// `VK_FORMAT_R32G32B32_UINT` = `104`
pub const R32G32B32_UInt: Self = Self(sys::VK_FORMAT_R32G32B32_UINT.0);
/// `VK_FORMAT_R32G32B32_SINT` = `105`
pub const R32G32B32_SInt: Self = Self(sys::VK_FORMAT_R32G32B32_SINT.0);
/// `VK_FORMAT_R32G32B32_SFLOAT` = `106`
pub const R32G32B32_SFloat: Self = Self(sys::VK_FORMAT_R32G32B32_SFLOAT.0);
/// `VK_FORMAT_R32G32B32A32_UINT` = `107`
pub const R32G32B32A32_UInt: Self = Self(sys::VK_FORMAT_R32G32B32A32_UINT.0);
/// `VK_FORMAT_R32G32B32A32_SINT` = `108`
pub const R32G32B32A32_SInt: Self = Self(sys::VK_FORMAT_R32G32B32A32_SINT.0);
/// `VK_FORMAT_R32G32B32A32_SFLOAT` = `109`
pub const R32G32B32A32_SFloat: Self = Self(sys::VK_FORMAT_R32G32B32A32_SFLOAT.0);
/// `VK_FORMAT_R64_UINT` = `110`
pub const R64_UInt: Self = Self(sys::VK_FORMAT_R64_UINT.0);
/// `VK_FORMAT_R64_SINT` = `111`
pub const R64_SInt: Self = Self(sys::VK_FORMAT_R64_SINT.0);
/// `VK_FORMAT_R64_SFLOAT` = `112`
pub const R64_SFloat: Self = Self(sys::VK_FORMAT_R64_SFLOAT.0);
/// `VK_FORMAT_R64G64_UINT` = `113`
pub const R64G64_UInt: Self = Self(sys::VK_FORMAT_R64G64_UINT.0);
/// `VK_FORMAT_R64G64_SINT` = `114`
pub const R64G64_SInt: Self = Self(sys::VK_FORMAT_R64G64_SINT.0);
/// `VK_FORMAT_R64G64_SFLOAT` = `115`
pub const R64G64_SFloat: Self = Self(sys::VK_FORMAT_R64G64_SFLOAT.0);
/// `VK_FORMAT_R64G64B64_UINT` = `116`
pub const R64G64B64_UInt: Self = Self(sys::VK_FORMAT_R64G64B64_UINT.0);
/// `VK_FORMAT_R64G64B64_SINT` = `117`
pub const R64G64B64_SInt: Self = Self(sys::VK_FORMAT_R64G64B64_SINT.0);
/// `VK_FORMAT_R64G64B64_SFLOAT` = `118`
pub const R64G64B64_SFloat: Self = Self(sys::VK_FORMAT_R64G64B64_SFLOAT.0);
/// `VK_FORMAT_R64G64B64A64_UINT` = `119`
pub const R64G64B64A64_UInt: Self = Self(sys::VK_FORMAT_R64G64B64A64_UINT.0);
/// `VK_FORMAT_R64G64B64A64_SINT` = `120`
pub const R64G64B64A64_SInt: Self = Self(sys::VK_FORMAT_R64G64B64A64_SINT.0);
/// `VK_FORMAT_R64G64B64A64_SFLOAT` = `121`
pub const R64G64B64A64_SFloat: Self = Self(sys::VK_FORMAT_R64G64B64A64_SFLOAT.0);
/// `VK_FORMAT_B10G11R11_UFLOAT_PACK32` = `122`
pub const B10G11R11_UFloat_Pack32: Self = Self(sys::VK_FORMAT_B10G11R11_UFLOAT_PACK32.0);
/// `VK_FORMAT_E5B9G9R9_UFLOAT_PACK32` = `123`
pub const E5B9G9R9_UFloat_Pack32: Self = Self(sys::VK_FORMAT_E5B9G9R9_UFLOAT_PACK32.0);
/// `VK_FORMAT_D16_UNORM` = `124`
pub const D16_UNorm: Self = Self(sys::VK_FORMAT_D16_UNORM.0);
/// `VK_FORMAT_X8_D24_UNORM_PACK32` = `125`
pub const X8_D24_UNorm_Pack32: Self = Self(sys::VK_FORMAT_X8_D24_UNORM_PACK32.0);
/// `VK_FORMAT_D32_SFLOAT` = `126`
pub const D32_SFloat: Self = Self(sys::VK_FORMAT_D32_SFLOAT.0);
/// `VK_FORMAT_S8_UINT` = `127`
pub const S8_UInt: Self = Self(sys::VK_FORMAT_S8_UINT.0);
/// `VK_FORMAT_D16_UNORM_S8_UINT` = `128`
pub const D16_UNorm_S8_UInt: Self = Self(sys::VK_FORMAT_D16_UNORM_S8_UINT.0);
/// `VK_FORMAT_D24_UNORM_S8_UINT` = `129`
pub const D24_UNorm_S8_UInt: Self = Self(sys::VK_FORMAT_D24_UNORM_S8_UINT.0);
/// `VK_FORMAT_D32_SFLOAT_S8_UINT` = `130`
pub const D32_SFloat_S8_UInt: Self = Self(sys::VK_FORMAT_D32_SFLOAT_S8_UINT.0);
/// `VK_FORMAT_BC1_RGB_UNORM_BLOCK` = `131`
pub const BC1_RGB_UNorm_Block: Self = Self(sys::VK_FORMAT_BC1_RGB_UNORM_BLOCK.0);
/// `VK_FORMAT_BC1_RGB_SRGB_BLOCK` = `132`
pub const BC1_RGB_Srgb_Block: Self = Self(sys::VK_FORMAT_BC1_RGB_SRGB_BLOCK.0);
/// `VK_FORMAT_BC1_RGBA_UNORM_BLOCK` = `133`
pub const BC1_RGBA_UNorm_Block: Self = Self(sys::VK_FORMAT_BC1_RGBA_UNORM_BLOCK.0);
/// `VK_FORMAT_BC1_RGBA_SRGB_BLOCK` = `134`
pub const BC1_RGBA_Srgb_Block: Self = Self(sys::VK_FORMAT_BC1_RGBA_SRGB_BLOCK.0);
/// `VK_FORMAT_BC2_UNORM_BLOCK` = `135`
pub const BC2_UNorm_Block: Self = Self(sys::VK_FORMAT_BC2_UNORM_BLOCK.0);
/// `VK_FORMAT_BC2_SRGB_BLOCK` = `136`
pub const BC2_Srgb_Block: Self = Self(sys::VK_FORMAT_BC2_SRGB_BLOCK.0);
/// `VK_FORMAT_BC3_UNORM_BLOCK` = `137`
pub const BC3_UNorm_Block: Self = Self(sys::VK_FORMAT_BC3_UNORM_BLOCK.0);
/// `VK_FORMAT_BC3_SRGB_BLOCK` = `138`
pub const BC3_Srgb_Block: Self = Self(sys::VK_FORMAT_BC3_SRGB_BLOCK.0);
/// `VK_FORMAT_BC4_UNORM_BLOCK` = `139`
pub const BC4_UNorm_Block: Self = Self(sys::VK_FORMAT_BC4_UNORM_BLOCK.0);
/// `VK_FORMAT_BC4_SNORM_BLOCK` = `140`
pub const BC4_SNorm_Block: Self = Self(sys::VK_FORMAT_BC4_SNORM_BLOCK.0);
/// `VK_FORMAT_BC5_UNORM_BLOCK` = `141`
pub const BC5_UNorm_Block: Self = Self(sys::VK_FORMAT_BC5_UNORM_BLOCK.0);
/// `VK_FORMAT_BC5_SNORM_BLOCK` = `142`
pub const BC5_SNorm_Block: Self = Self(sys::VK_FORMAT_BC5_SNORM_BLOCK.0);
/// `VK_FORMAT_BC6H_UFLOAT_BLOCK` = `143`
pub const BC6H_UFloat_Block: Self = Self(sys::VK_FORMAT_BC6H_UFLOAT_BLOCK.0);
/// `VK_FORMAT_BC6H_SFLOAT_BLOCK` = `144`
pub const BC6H_SFloat_Block: Self = Self(sys::VK_FORMAT_BC6H_SFLOAT_BLOCK.0);
/// `VK_FORMAT_BC7_UNORM_BLOCK` = `145`
pub const BC7_UNorm_Block: Self = Self(sys::VK_FORMAT_BC7_UNORM_BLOCK.0);
/// `VK_FORMAT_BC7_SRGB_BLOCK` = `146`
pub const BC7_Srgb_Block: Self = Self(sys::VK_FORMAT_BC7_SRGB_BLOCK.0);
/// `VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK` = `147`
pub const ETC2_R8G8B8_UNorm_Block: Self = Self(sys::VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK.0);
/// `VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK` = `148`
pub const ETC2_R8G8B8_Srgb_Block: Self = Self(sys::VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK.0);
/// `VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK` = `149`
pub const ETC2_R8G8B8A1_UNorm_Block: Self = Self(sys::VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK.0);
/// `VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK` = `150`
pub const ETC2_R8G8B8A1_Srgb_Block: Self = Self(sys::VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK.0);
/// `VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK` = `151`
pub const ETC2_R8G8B8A8_UNorm_Block: Self = Self(sys::VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK.0);
/// `VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK` = `152`
pub const ETC2_R8G8B8A8_Srgb_Block: Self = Self(sys::VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK.0);
/// `VK_FORMAT_EAC_R11_UNORM_BLOCK` = `153`
pub const EAC_R11_UNorm_Block: Self = Self(sys::VK_FORMAT_EAC_R11_UNORM_BLOCK.0);
/// `VK_FORMAT_EAC_R11_SNORM_BLOCK` = `154`
pub const EAC_R11_SNorm_Block: Self = Self(sys::VK_FORMAT_EAC_R11_SNORM_BLOCK.0);
/// `VK_FORMAT_EAC_R11G11_UNORM_BLOCK` = `155`
pub const EAC_R11G11_UNorm_Block: Self = Self(sys::VK_FORMAT_EAC_R11G11_UNORM_BLOCK.0);
/// `VK_FORMAT_EAC_R11G11_SNORM_BLOCK` = `156`
pub const EAC_R11G11_SNorm_Block: Self = Self(sys::VK_FORMAT_EAC_R11G11_SNORM_BLOCK.0);
/// `VK_FORMAT_ASTC_4x4_UNORM_BLOCK` = `157`
pub const ASTC_4x4_UNorm_Block: Self = Self(sys::VK_FORMAT_ASTC_4x4_UNORM_BLOCK.0);
/// `VK_FORMAT_ASTC_4x4_SRGB_BLOCK` = `158`
pub const ASTC_4x4_Srgb_Block: Self = Self(sys::VK_FORMAT_ASTC_4x4_SRGB_BLOCK.0);
/// `VK_FORMAT_ASTC_5x4_UNORM_BLOCK` = `159`
pub const ASTC_5x4_UNorm_Block: Self = Self(sys::VK_FORMAT_ASTC_5x4_UNORM_BLOCK.0);
/// `VK_FORMAT_ASTC_5x4_SRGB_BLOCK` = `160`
pub const ASTC_5x4_Srgb_Block: Self = Self(sys::VK_FORMAT_ASTC_5x4_SRGB_BLOCK.0);
/// `VK_FORMAT_ASTC_5x5_UNORM_BLOCK` = `161`
pub const ASTC_5x5_UNorm_Block: Self = Self(sys::VK_FORMAT_ASTC_5x5_UNORM_BLOCK.0);
/// `VK_FORMAT_ASTC_5x5_SRGB_BLOCK` = `162`
pub const ASTC_5x5_Srgb_Block: Self = Self(sys::VK_FORMAT_ASTC_5x5_SRGB_BLOCK.0);
/// `VK_FORMAT_ASTC_6x5_UNORM_BLOCK` = `163`
pub const ASTC_6x5_UNorm_Block: Self = Self(sys::VK_FORMAT_ASTC_6x5_UNORM_BLOCK.0);
/// `VK_FORMAT_ASTC_6x5_SRGB_BLOCK` = `164`
pub const ASTC_6x5_Srgb_Block: Self = Self(sys::VK_FORMAT_ASTC_6x5_SRGB_BLOCK.0);
/// `VK_FORMAT_ASTC_6x6_UNORM_BLOCK` = `165`
pub const ASTC_6x6_UNorm_Block: Self = Self(sys::VK_FORMAT_ASTC_6x6_UNORM_BLOCK.0);
/// `VK_FORMAT_ASTC_6x6_SRGB_BLOCK` = `166`
pub const ASTC_6x6_Srgb_Block: Self = Self(sys::VK_FORMAT_ASTC_6x6_SRGB_BLOCK.0);
/// `VK_FORMAT_ASTC_8x5_UNORM_BLOCK` = `167`
pub const ASTC_8x5_UNorm_Block: Self = Self(sys::VK_FORMAT_ASTC_8x5_UNORM_BLOCK.0);
/// `VK_FORMAT_ASTC_8x5_SRGB_BLOCK` = `168`
pub const ASTC_8x5_Srgb_Block: Self = Self(sys::VK_FORMAT_ASTC_8x5_SRGB_BLOCK.0);
/// `VK_FORMAT_ASTC_8x6_UNORM_BLOCK` = `169`
pub const ASTC_8x6_UNorm_Block: Self = Self(sys::VK_FORMAT_ASTC_8x6_UNORM_BLOCK.0);
/// `VK_FORMAT_ASTC_8x6_SRGB_BLOCK` = `170`
pub const ASTC_8x6_Srgb_Block: Self = Self(sys::VK_FORMAT_ASTC_8x6_SRGB_BLOCK.0);
/// `VK_FORMAT_ASTC_8x8_UNORM_BLOCK` = `171`
pub const ASTC_8x8_UNorm_Block: Self = Self(sys::VK_FORMAT_ASTC_8x8_UNORM_BLOCK.0);
/// `VK_FORMAT_ASTC_8x8_SRGB_BLOCK` = `172`
pub const ASTC_8x8_Srgb_Block: Self = Self(sys::VK_FORMAT_ASTC_8x8_SRGB_BLOCK.0);
/// `VK_FORMAT_ASTC_10x5_UNORM_BLOCK` = `173`
pub const ASTC_10x5_UNorm_Block: Self = Self(sys::VK_FORMAT_ASTC_10x5_UNORM_BLOCK.0);
/// `VK_FORMAT_ASTC_10x5_SRGB_BLOCK` = `174`
pub const ASTC_10x5_Srgb_Block: Self = Self(sys::VK_FORMAT_ASTC_10x5_SRGB_BLOCK.0);
/// `VK_FORMAT_ASTC_10x6_UNORM_BLOCK` = `175`
pub const ASTC_10x6_UNorm_Block: Self = Self(sys::VK_FORMAT_ASTC_10x6_UNORM_BLOCK.0);
/// `VK_FORMAT_ASTC_10x6_SRGB_BLOCK` = `176`
pub const ASTC_10x6_Srgb_Block: Self = Self(sys::VK_FORMAT_ASTC_10x6_SRGB_BLOCK.0);
/// `VK_FORMAT_ASTC_10x8_UNORM_BLOCK` = `177`
pub const ASTC_10x8_UNorm_Block: Self = Self(sys::VK_FORMAT_ASTC_10x8_UNORM_BLOCK.0);
/// `VK_FORMAT_ASTC_10x8_SRGB_BLOCK` = `178`
pub const ASTC_10x8_Srgb_Block: Self = Self(sys::VK_FORMAT_ASTC_10x8_SRGB_BLOCK.0);
/// `VK_FORMAT_ASTC_10x10_UNORM_BLOCK` = `179`
pub const ASTC_10x10_UNorm_Block: Self = Self(sys::VK_FORMAT_ASTC_10x10_UNORM_BLOCK.0);
/// `VK_FORMAT_ASTC_10x10_SRGB_BLOCK` = `180`
pub const ASTC_10x10_Srgb_Block: Self = Self(sys::VK_FORMAT_ASTC_10x10_SRGB_BLOCK.0);
/// `VK_FORMAT_ASTC_12x10_UNORM_BLOCK` = `181`
pub const ASTC_12x10_UNorm_Block: Self = Self(sys::VK_FORMAT_ASTC_12x10_UNORM_BLOCK.0);
/// `VK_FORMAT_ASTC_12x10_SRGB_BLOCK` = `182`
pub const ASTC_12x10_Srgb_Block: Self = Self(sys::VK_FORMAT_ASTC_12x10_SRGB_BLOCK.0);
/// `VK_FORMAT_ASTC_12x12_UNORM_BLOCK` = `183`
pub const ASTC_12x12_UNorm_Block: Self = Self(sys::VK_FORMAT_ASTC_12x12_UNORM_BLOCK.0);
/// `VK_FORMAT_ASTC_12x12_SRGB_BLOCK` = `184`
pub const ASTC_12x12_Srgb_Block: Self = Self(sys::VK_FORMAT_ASTC_12x12_SRGB_BLOCK.0);
/// `VK_FORMAT_G8B8G8R8_422_UNORM` = `1000156000`
pub const G8B8G8R8_422_UNorm: Self = Self(sys::VK_FORMAT_G8B8G8R8_422_UNORM.0);
/// `VK_FORMAT_B8G8R8G8_422_UNORM` = `1000156001`
pub const B8G8R8G8_422_UNorm: Self = Self(sys::VK_FORMAT_B8G8R8G8_422_UNORM.0);
/// `VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM` = `1000156002`
pub const G8_B8_R8_3Plane_420_UNorm: Self = Self(sys::VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM.0);
/// `VK_FORMAT_G8_B8R8_2PLANE_420_UNORM` = `1000156003`
pub const G8_B8R8_2Plane_420_UNorm: Self = Self(sys::VK_FORMAT_G8_B8R8_2PLANE_420_UNORM.0);
/// `VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM` = `1000156004`
pub const G8_B8_R8_3Plane_422_UNorm: Self = Self(sys::VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM.0);
/// `VK_FORMAT_G8_B8R8_2PLANE_422_UNORM` = `1000156005`
pub const G8_B8R8_2Plane_422_UNorm: Self = Self(sys::VK_FORMAT_G8_B8R8_2PLANE_422_UNORM.0);
/// `VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM` = `1000156006`
pub const G8_B8_R8_3Plane_444_UNorm: Self = Self(sys::VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM.0);
/// `VK_FORMAT_R10X6_UNORM_PACK16` = `1000156007`
pub const R10X6_UNorm_Pack16: Self = Self(sys::VK_FORMAT_R10X6_UNORM_PACK16.0);
/// `VK_FORMAT_R10X6G10X6_UNORM_2PACK16` = `1000156008`
pub const R10X6G10X6_UNorm_2Pack16: Self = Self(sys::VK_FORMAT_R10X6G10X6_UNORM_2PACK16.0);
/// `VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16` = `1000156009`
pub const R10X6G10X6B10X6A10X6_UNorm_4Pack16: Self = Self(sys::VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16.0);
/// `VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16` = `1000156010`
pub const G10X6B10X6G10X6R10X6_422_UNorm_4Pack16: Self = Self(sys::VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16.0);
/// `VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16` = `1000156011`
pub const B10X6G10X6R10X6G10X6_422_UNorm_4Pack16: Self = Self(sys::VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16.0);
/// `VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16` = `1000156012`
pub const G10X6_B10X6_R10X6_3Plane_420_UNorm_3Pack16: Self = Self(sys::VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16.0);
/// `VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16` = `1000156013`
pub const G10X6_B10X6R10X6_2Plane_420_UNorm_3Pack16: Self = Self(sys::VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16.0);
/// `VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16` = `1000156014`
pub const G10X6_B10X6_R10X6_3Plane_422_UNorm_3Pack16: Self = Self(sys::VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16.0);
/// `VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16` = `1000156015`
pub const G10X6_B10X6R10X6_2Plane_422_UNorm_3Pack16: Self = Self(sys::VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16.0);
/// `VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16` = `1000156016`
pub const G10X6_B10X6_R10X6_3Plane_444_UNorm_3Pack16: Self = Self(sys::VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16.0);
/// `VK_FORMAT_R12X4_UNORM_PACK16` = `1000156017`
pub const R12X4_UNorm_Pack16: Self = Self(sys::VK_FORMAT_R12X4_UNORM_PACK16.0);
/// `VK_FORMAT_R12X4G12X4_UNORM_2PACK16` = `1000156018`
pub const R12X4G12X4_UNorm_2Pack16: Self = Self(sys::VK_FORMAT_R12X4G12X4_UNORM_2PACK16.0);
/// `VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16` = `1000156019`
pub const R12X4G12X4B12X4A12X4_UNorm_4Pack16: Self = Self(sys::VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16.0);
/// `VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16` = `1000156020`
pub const G12X4B12X4G12X4R12X4_422_UNorm_4Pack16: Self = Self(sys::VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16.0);
/// `VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16` = `1000156021`
pub const B12X4G12X4R12X4G12X4_422_UNorm_4Pack16: Self = Self(sys::VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16.0);
/// `VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16` = `1000156022`
pub const G12X4_B12X4_R12X4_3Plane_420_UNorm_3Pack16: Self = Self(sys::VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16.0);
/// `VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16` = `1000156023`
pub const G12X4_B12X4R12X4_2Plane_420_UNorm_3Pack16: Self = Self(sys::VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16.0);
/// `VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16` = `1000156024`
pub const G12X4_B12X4_R12X4_3Plane_422_UNorm_3Pack16: Self = Self(sys::VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16.0);
/// `VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16` = `1000156025`
pub const G12X4_B12X4R12X4_2Plane_422_UNorm_3Pack16: Self = Self(sys::VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16.0);
/// `VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16` = `1000156026`
pub const G12X4_B12X4_R12X4_3Plane_444_UNorm_3Pack16: Self = Self(sys::VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16.0);
/// `VK_FORMAT_G16B16G16R16_422_UNORM` = `1000156027`
pub const G16B16G16R16_422_UNorm: Self = Self(sys::VK_FORMAT_G16B16G16R16_422_UNORM.0);
/// `VK_FORMAT_B16G16R16G16_422_UNORM` = `1000156028`
pub const B16G16R16G16_422_UNorm: Self = Self(sys::VK_FORMAT_B16G16R16G16_422_UNORM.0);
/// `VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM` = `1000156029`
pub const G16_B16_R16_3Plane_420_UNorm: Self = Self(sys::VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM.0);
/// `VK_FORMAT_G16_B16R16_2PLANE_420_UNORM` = `1000156030`
pub const G16_B16R16_2Plane_420_UNorm: Self = Self(sys::VK_FORMAT_G16_B16R16_2PLANE_420_UNORM.0);
/// `VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM` = `1000156031`
pub const G16_B16_R16_3Plane_422_UNorm: Self = Self(sys::VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM.0);
/// `VK_FORMAT_G16_B16R16_2PLANE_422_UNORM` = `1000156032`
pub const G16_B16R16_2Plane_422_UNorm: Self = Self(sys::VK_FORMAT_G16_B16R16_2PLANE_422_UNORM.0);
/// `VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM` = `1000156033`
pub const G16_B16_R16_3Plane_444_UNorm: Self = Self(sys::VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM.0);
/// `VK_FORMAT_G8_B8R8_2PLANE_444_UNORM` = `1000330000`
pub const G8_B8R8_2Plane_444_UNorm: Self = Self(sys::VK_FORMAT_G8_B8R8_2PLANE_444_UNORM.0);
/// `VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16` = `1000330001`
pub const G10X6_B10X6R10X6_2Plane_444_UNorm_3Pack16: Self = Self(sys::VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16.0);
/// `VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16` = `1000330002`
pub const G12X4_B12X4R12X4_2Plane_444_UNorm_3Pack16: Self = Self(sys::VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16.0);
/// `VK_FORMAT_G16_B16R16_2PLANE_444_UNORM` = `1000330003`
pub const G16_B16R16_2Plane_444_UNorm: Self = Self(sys::VK_FORMAT_G16_B16R16_2PLANE_444_UNORM.0);
/// `VK_FORMAT_A4R4G4B4_UNORM_PACK16` = `1000340000`
pub const A4R4G4B4_UNorm_Pack16: Self = Self(sys::VK_FORMAT_A4R4G4B4_UNORM_PACK16.0);
/// `VK_FORMAT_A4B4G4R4_UNORM_PACK16` = `1000340001`
pub const A4B4G4R4_UNorm_Pack16: Self = Self(sys::VK_FORMAT_A4B4G4R4_UNORM_PACK16.0);
/// `VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK` = `1000066000`
pub const ASTC_4x4_SFloat_Block: Self = Self(sys::VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK.0);
/// `VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK` = `1000066001`
pub const ASTC_5x4_SFloat_Block: Self = Self(sys::VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK.0);
/// `VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK` = `1000066002`
pub const ASTC_5x5_SFloat_Block: Self = Self(sys::VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK.0);
/// `VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK` = `1000066003`
pub const ASTC_6x5_SFloat_Block: Self = Self(sys::VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK.0);
/// `VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK` = `1000066004`
pub const ASTC_6x6_SFloat_Block: Self = Self(sys::VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK.0);
/// `VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK` = `1000066005`
pub const ASTC_8x5_SFloat_Block: Self = Self(sys::VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK.0);
/// `VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK` = `1000066006`
pub const ASTC_8x6_SFloat_Block: Self = Self(sys::VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK.0);
/// `VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK` = `1000066007`
pub const ASTC_8x8_SFloat_Block: Self = Self(sys::VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK.0);
/// `VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK` = `1000066008`
pub const ASTC_10x5_SFloat_Block: Self = Self(sys::VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK.0);
/// `VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK` = `1000066009`
pub const ASTC_10x6_SFloat_Block: Self = Self(sys::VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK.0);
/// `VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK` = `1000066010`
pub const ASTC_10x8_SFloat_Block: Self = Self(sys::VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK.0);
/// `VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK` = `1000066011`
pub const ASTC_10x10_SFloat_Block: Self = Self(sys::VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK.0);
/// `VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK` = `1000066012`
pub const ASTC_12x10_SFloat_Block: Self = Self(sys::VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK.0);
/// `VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK` = `1000066013`
pub const ASTC_12x12_SFloat_Block: Self = Self(sys::VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK.0);
/// `VK_FORMAT_A1B5G5R5_UNORM_PACK16` = `1000470000`
pub const A1B5G5R5_UNorm_Pack16: Self = Self(sys::VK_FORMAT_A1B5G5R5_UNORM_PACK16.0);
/// `VK_FORMAT_A8_UNORM` = `1000470001`
pub const A8_UNorm: Self = Self(sys::VK_FORMAT_A8_UNORM.0);
/// `VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG` = `1000054000`
pub const PVRTC1_2BPP_UNorm_Block_IMG: Self = Self(sys::VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG.0);
/// `VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG` = `1000054001`
pub const PVRTC1_4BPP_UNorm_Block_IMG: Self = Self(sys::VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG.0);
/// `VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG` = `1000054002`
pub const PVRTC2_2BPP_UNorm_Block_IMG: Self = Self(sys::VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG.0);
/// `VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG` = `1000054003`
pub const PVRTC2_4BPP_UNorm_Block_IMG: Self = Self(sys::VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG.0);
/// `VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG` = `1000054004`
pub const PVRTC1_2BPP_Srgb_Block_IMG: Self = Self(sys::VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG.0);
/// `VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG` = `1000054005`
pub const PVRTC1_4BPP_Srgb_Block_IMG: Self = Self(sys::VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG.0);
/// `VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG` = `1000054006`
pub const PVRTC2_2BPP_Srgb_Block_IMG: Self = Self(sys::VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG.0);
/// `VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG` = `1000054007`
pub const PVRTC2_4BPP_Srgb_Block_IMG: Self = Self(sys::VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG.0);
/// `VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT` = `VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK`
pub const ASTC_4x4_SFloat_Block_EXT: Self = Self(sys::VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT.0);
/// `VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT` = `VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK`
pub const ASTC_5x4_SFloat_Block_EXT: Self = Self(sys::VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT.0);
/// `VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT` = `VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK`
pub const ASTC_5x5_SFloat_Block_EXT: Self = Self(sys::VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT.0);
/// `VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT` = `VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK`
pub const ASTC_6x5_SFloat_Block_EXT: Self = Self(sys::VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT.0);
/// `VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT` = `VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK`
pub const ASTC_6x6_SFloat_Block_EXT: Self = Self(sys::VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT.0);
/// `VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT` = `VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK`
pub const ASTC_8x5_SFloat_Block_EXT: Self = Self(sys::VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT.0);
/// `VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT` = `VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK`
pub const ASTC_8x6_SFloat_Block_EXT: Self = Self(sys::VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT.0);
/// `VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT` = `VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK`
pub const ASTC_8x8_SFloat_Block_EXT: Self = Self(sys::VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT.0);
/// `VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT` = `VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK`
pub const ASTC_10x5_SFloat_Block_EXT: Self = Self(sys::VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT.0);
/// `VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT` = `VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK`
pub const ASTC_10x6_SFloat_Block_EXT: Self = Self(sys::VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT.0);
/// `VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT` = `VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK`
pub const ASTC_10x8_SFloat_Block_EXT: Self = Self(sys::VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT.0);
/// `VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT` = `VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK`
pub const ASTC_10x10_SFloat_Block_EXT: Self = Self(sys::VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT.0);
/// `VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT` = `VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK`
pub const ASTC_12x10_SFloat_Block_EXT: Self = Self(sys::VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT.0);
/// `VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT` = `VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK`
pub const ASTC_12x12_SFloat_Block_EXT: Self = Self(sys::VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT.0);
/// `VK_FORMAT_G8B8G8R8_422_UNORM_KHR` = `VK_FORMAT_G8B8G8R8_422_UNORM`
pub const G8B8G8R8_422_UNorm_KHR: Self = Self(sys::VK_FORMAT_G8B8G8R8_422_UNORM_KHR.0);
/// `VK_FORMAT_B8G8R8G8_422_UNORM_KHR` = `VK_FORMAT_B8G8R8G8_422_UNORM`
pub const B8G8R8G8_422_UNorm_KHR: Self = Self(sys::VK_FORMAT_B8G8R8G8_422_UNORM_KHR.0);
/// `VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR` = `VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM`
pub const G8_B8_R8_3Plane_420_UNorm_KHR: Self = Self(sys::VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR.0);
/// `VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR` = `VK_FORMAT_G8_B8R8_2PLANE_420_UNORM`
pub const G8_B8R8_2Plane_420_UNorm_KHR: Self = Self(sys::VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR.0);
/// `VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR` = `VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM`
pub const G8_B8_R8_3Plane_422_UNorm_KHR: Self = Self(sys::VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR.0);
/// `VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR` = `VK_FORMAT_G8_B8R8_2PLANE_422_UNORM`
pub const G8_B8R8_2Plane_422_UNorm_KHR: Self = Self(sys::VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR.0);
/// `VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR` = `VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM`
pub const G8_B8_R8_3Plane_444_UNorm_KHR: Self = Self(sys::VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR.0);
/// `VK_FORMAT_R10X6_UNORM_PACK16_KHR` = `VK_FORMAT_R10X6_UNORM_PACK16`
pub const R10X6_UNorm_Pack16_KHR: Self = Self(sys::VK_FORMAT_R10X6_UNORM_PACK16_KHR.0);
/// `VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR` = `VK_FORMAT_R10X6G10X6_UNORM_2PACK16`
pub const R10X6G10X6_UNorm_2Pack16_KHR: Self = Self(sys::VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR.0);
/// `VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR` = `VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16`
pub const R10X6G10X6B10X6A10X6_UNorm_4Pack16_KHR: Self = Self(sys::VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR.0);
/// `VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR` = `VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16`
pub const G10X6B10X6G10X6R10X6_422_UNorm_4Pack16_KHR: Self = Self(sys::VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR.0);
/// `VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR` = `VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16`
pub const B10X6G10X6R10X6G10X6_422_UNorm_4Pack16_KHR: Self = Self(sys::VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR.0);
/// `VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR` = `VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16`
pub const G10X6_B10X6_R10X6_3Plane_420_UNorm_3Pack16_KHR: Self = Self(sys::VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR.0);
/// `VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR` = `VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16`
pub const G10X6_B10X6R10X6_2Plane_420_UNorm_3Pack16_KHR: Self = Self(sys::VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR.0);
/// `VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR` = `VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16`
pub const G10X6_B10X6_R10X6_3Plane_422_UNorm_3Pack16_KHR: Self = Self(sys::VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR.0);
/// `VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR` = `VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16`
pub const G10X6_B10X6R10X6_2Plane_422_UNorm_3Pack16_KHR: Self = Self(sys::VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR.0);
/// `VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR` = `VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16`
pub const G10X6_B10X6_R10X6_3Plane_444_UNorm_3Pack16_KHR: Self = Self(sys::VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR.0);
/// `VK_FORMAT_R12X4_UNORM_PACK16_KHR` = `VK_FORMAT_R12X4_UNORM_PACK16`
pub const R12X4_UNorm_Pack16_KHR: Self = Self(sys::VK_FORMAT_R12X4_UNORM_PACK16_KHR.0);
/// `VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR` = `VK_FORMAT_R12X4G12X4_UNORM_2PACK16`
pub const R12X4G12X4_UNorm_2Pack16_KHR: Self = Self(sys::VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR.0);
/// `VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR` = `VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16`
pub const R12X4G12X4B12X4A12X4_UNorm_4Pack16_KHR: Self = Self(sys::VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR.0);
/// `VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR` = `VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16`
pub const G12X4B12X4G12X4R12X4_422_UNorm_4Pack16_KHR: Self = Self(sys::VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR.0);
/// `VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR` = `VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16`
pub const B12X4G12X4R12X4G12X4_422_UNorm_4Pack16_KHR: Self = Self(sys::VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR.0);
/// `VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR` = `VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16`
pub const G12X4_B12X4_R12X4_3Plane_420_UNorm_3Pack16_KHR: Self = Self(sys::VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR.0);
/// `VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR` = `VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16`
pub const G12X4_B12X4R12X4_2Plane_420_UNorm_3Pack16_KHR: Self = Self(sys::VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR.0);
/// `VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR` = `VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16`
pub const G12X4_B12X4_R12X4_3Plane_422_UNorm_3Pack16_KHR: Self = Self(sys::VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR.0);
/// `VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR` = `VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16`
pub const G12X4_B12X4R12X4_2Plane_422_UNorm_3Pack16_KHR: Self = Self(sys::VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR.0);
/// `VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR` = `VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16`
pub const G12X4_B12X4_R12X4_3Plane_444_UNorm_3Pack16_KHR: Self = Self(sys::VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR.0);
/// `VK_FORMAT_G16B16G16R16_422_UNORM_KHR` = `VK_FORMAT_G16B16G16R16_422_UNORM`
pub const G16B16G16R16_422_UNorm_KHR: Self = Self(sys::VK_FORMAT_G16B16G16R16_422_UNORM_KHR.0);
/// `VK_FORMAT_B16G16R16G16_422_UNORM_KHR` = `VK_FORMAT_B16G16R16G16_422_UNORM`
pub const B16G16R16G16_422_UNorm_KHR: Self = Self(sys::VK_FORMAT_B16G16R16G16_422_UNORM_KHR.0);
/// `VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR` = `VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM`
pub const G16_B16_R16_3Plane_420_UNorm_KHR: Self = Self(sys::VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR.0);
/// `VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR` = `VK_FORMAT_G16_B16R16_2PLANE_420_UNORM`
pub const G16_B16R16_2Plane_420_UNorm_KHR: Self = Self(sys::VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR.0);
/// `VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR` = `VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM`
pub const G16_B16_R16_3Plane_422_UNorm_KHR: Self = Self(sys::VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR.0);
/// `VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR` = `VK_FORMAT_G16_B16R16_2PLANE_422_UNORM`
pub const G16_B16R16_2Plane_422_UNorm_KHR: Self = Self(sys::VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR.0);
/// `VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR` = `VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM`
pub const G16_B16_R16_3Plane_444_UNorm_KHR: Self = Self(sys::VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR.0);
/// `VK_FORMAT_ASTC_3x3x3_UNORM_BLOCK_EXT` = `1000288000`
pub const ASTC_3x3x3_UNorm_Block_EXT: Self = Self(sys::VK_FORMAT_ASTC_3x3x3_UNORM_BLOCK_EXT.0);
/// `VK_FORMAT_ASTC_3x3x3_SRGB_BLOCK_EXT` = `1000288001`
pub const ASTC_3x3x3_Srgb_Block_EXT: Self = Self(sys::VK_FORMAT_ASTC_3x3x3_SRGB_BLOCK_EXT.0);
/// `VK_FORMAT_ASTC_3x3x3_SFLOAT_BLOCK_EXT` = `1000288002`
pub const ASTC_3x3x3_SFloat_Block_EXT: Self = Self(sys::VK_FORMAT_ASTC_3x3x3_SFLOAT_BLOCK_EXT.0);
/// `VK_FORMAT_ASTC_4x3x3_UNORM_BLOCK_EXT` = `1000288003`
pub const ASTC_4x3x3_UNorm_Block_EXT: Self = Self(sys::VK_FORMAT_ASTC_4x3x3_UNORM_BLOCK_EXT.0);
/// `VK_FORMAT_ASTC_4x3x3_SRGB_BLOCK_EXT` = `1000288004`
pub const ASTC_4x3x3_Srgb_Block_EXT: Self = Self(sys::VK_FORMAT_ASTC_4x3x3_SRGB_BLOCK_EXT.0);
/// `VK_FORMAT_ASTC_4x3x3_SFLOAT_BLOCK_EXT` = `1000288005`
pub const ASTC_4x3x3_SFloat_Block_EXT: Self = Self(sys::VK_FORMAT_ASTC_4x3x3_SFLOAT_BLOCK_EXT.0);
/// `VK_FORMAT_ASTC_4x4x3_UNORM_BLOCK_EXT` = `1000288006`
pub const ASTC_4x4x3_UNorm_Block_EXT: Self = Self(sys::VK_FORMAT_ASTC_4x4x3_UNORM_BLOCK_EXT.0);
/// `VK_FORMAT_ASTC_4x4x3_SRGB_BLOCK_EXT` = `1000288007`
pub const ASTC_4x4x3_Srgb_Block_EXT: Self = Self(sys::VK_FORMAT_ASTC_4x4x3_SRGB_BLOCK_EXT.0);
/// `VK_FORMAT_ASTC_4x4x3_SFLOAT_BLOCK_EXT` = `1000288008`
pub const ASTC_4x4x3_SFloat_Block_EXT: Self = Self(sys::VK_FORMAT_ASTC_4x4x3_SFLOAT_BLOCK_EXT.0);
/// `VK_FORMAT_ASTC_4x4x4_UNORM_BLOCK_EXT` = `1000288009`
pub const ASTC_4x4x4_UNorm_Block_EXT: Self = Self(sys::VK_FORMAT_ASTC_4x4x4_UNORM_BLOCK_EXT.0);
/// `VK_FORMAT_ASTC_4x4x4_SRGB_BLOCK_EXT` = `1000288010`
pub const ASTC_4x4x4_Srgb_Block_EXT: Self = Self(sys::VK_FORMAT_ASTC_4x4x4_SRGB_BLOCK_EXT.0);
/// `VK_FORMAT_ASTC_4x4x4_SFLOAT_BLOCK_EXT` = `1000288011`
pub const ASTC_4x4x4_SFloat_Block_EXT: Self = Self(sys::VK_FORMAT_ASTC_4x4x4_SFLOAT_BLOCK_EXT.0);
/// `VK_FORMAT_ASTC_5x4x4_UNORM_BLOCK_EXT` = `1000288012`
pub const ASTC_5x4x4_UNorm_Block_EXT: Self = Self(sys::VK_FORMAT_ASTC_5x4x4_UNORM_BLOCK_EXT.0);
/// `VK_FORMAT_ASTC_5x4x4_SRGB_BLOCK_EXT` = `1000288013`
pub const ASTC_5x4x4_Srgb_Block_EXT: Self = Self(sys::VK_FORMAT_ASTC_5x4x4_SRGB_BLOCK_EXT.0);
/// `VK_FORMAT_ASTC_5x4x4_SFLOAT_BLOCK_EXT` = `1000288014`
pub const ASTC_5x4x4_SFloat_Block_EXT: Self = Self(sys::VK_FORMAT_ASTC_5x4x4_SFLOAT_BLOCK_EXT.0);
/// `VK_FORMAT_ASTC_5x5x4_UNORM_BLOCK_EXT` = `1000288015`
pub const ASTC_5x5x4_UNorm_Block_EXT: Self = Self(sys::VK_FORMAT_ASTC_5x5x4_UNORM_BLOCK_EXT.0);
/// `VK_FORMAT_ASTC_5x5x4_SRGB_BLOCK_EXT` = `1000288016`
pub const ASTC_5x5x4_Srgb_Block_EXT: Self = Self(sys::VK_FORMAT_ASTC_5x5x4_SRGB_BLOCK_EXT.0);
/// `VK_FORMAT_ASTC_5x5x4_SFLOAT_BLOCK_EXT` = `1000288017`
pub const ASTC_5x5x4_SFloat_Block_EXT: Self = Self(sys::VK_FORMAT_ASTC_5x5x4_SFLOAT_BLOCK_EXT.0);
/// `VK_FORMAT_ASTC_5x5x5_UNORM_BLOCK_EXT` = `1000288018`
pub const ASTC_5x5x5_UNorm_Block_EXT: Self = Self(sys::VK_FORMAT_ASTC_5x5x5_UNORM_BLOCK_EXT.0);
/// `VK_FORMAT_ASTC_5x5x5_SRGB_BLOCK_EXT` = `1000288019`
pub const ASTC_5x5x5_Srgb_Block_EXT: Self = Self(sys::VK_FORMAT_ASTC_5x5x5_SRGB_BLOCK_EXT.0);
/// `VK_FORMAT_ASTC_5x5x5_SFLOAT_BLOCK_EXT` = `1000288020`
pub const ASTC_5x5x5_SFloat_Block_EXT: Self = Self(sys::VK_FORMAT_ASTC_5x5x5_SFLOAT_BLOCK_EXT.0);
/// `VK_FORMAT_ASTC_6x5x5_UNORM_BLOCK_EXT` = `1000288021`
pub const ASTC_6x5x5_UNorm_Block_EXT: Self = Self(sys::VK_FORMAT_ASTC_6x5x5_UNORM_BLOCK_EXT.0);
/// `VK_FORMAT_ASTC_6x5x5_SRGB_BLOCK_EXT` = `1000288022`
pub const ASTC_6x5x5_Srgb_Block_EXT: Self = Self(sys::VK_FORMAT_ASTC_6x5x5_SRGB_BLOCK_EXT.0);
/// `VK_FORMAT_ASTC_6x5x5_SFLOAT_BLOCK_EXT` = `1000288023`
pub const ASTC_6x5x5_SFloat_Block_EXT: Self = Self(sys::VK_FORMAT_ASTC_6x5x5_SFLOAT_BLOCK_EXT.0);
/// `VK_FORMAT_ASTC_6x6x5_UNORM_BLOCK_EXT` = `1000288024`
pub const ASTC_6x6x5_UNorm_Block_EXT: Self = Self(sys::VK_FORMAT_ASTC_6x6x5_UNORM_BLOCK_EXT.0);
/// `VK_FORMAT_ASTC_6x6x5_SRGB_BLOCK_EXT` = `1000288025`
pub const ASTC_6x6x5_Srgb_Block_EXT: Self = Self(sys::VK_FORMAT_ASTC_6x6x5_SRGB_BLOCK_EXT.0);
/// `VK_FORMAT_ASTC_6x6x5_SFLOAT_BLOCK_EXT` = `1000288026`
pub const ASTC_6x6x5_SFloat_Block_EXT: Self = Self(sys::VK_FORMAT_ASTC_6x6x5_SFLOAT_BLOCK_EXT.0);
/// `VK_FORMAT_ASTC_6x6x6_UNORM_BLOCK_EXT` = `1000288027`
pub const ASTC_6x6x6_UNorm_Block_EXT: Self = Self(sys::VK_FORMAT_ASTC_6x6x6_UNORM_BLOCK_EXT.0);
/// `VK_FORMAT_ASTC_6x6x6_SRGB_BLOCK_EXT` = `1000288028`
pub const ASTC_6x6x6_Srgb_Block_EXT: Self = Self(sys::VK_FORMAT_ASTC_6x6x6_SRGB_BLOCK_EXT.0);
/// `VK_FORMAT_ASTC_6x6x6_SFLOAT_BLOCK_EXT` = `1000288029`
pub const ASTC_6x6x6_SFloat_Block_EXT: Self = Self(sys::VK_FORMAT_ASTC_6x6x6_SFLOAT_BLOCK_EXT.0);
/// `VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT` = `VK_FORMAT_G8_B8R8_2PLANE_444_UNORM`
pub const G8_B8R8_2Plane_444_UNorm_EXT: Self = Self(sys::VK_FORMAT_G8_B8R8_2PLANE_444_UNORM_EXT.0);
/// `VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT` = `VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16`
pub const G10X6_B10X6R10X6_2Plane_444_UNorm_3Pack16_EXT: Self = Self(sys::VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16_EXT.0);
/// `VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT` = `VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16`
pub const G12X4_B12X4R12X4_2Plane_444_UNorm_3Pack16_EXT: Self = Self(sys::VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16_EXT.0);
/// `VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT` = `VK_FORMAT_G16_B16R16_2PLANE_444_UNORM`
pub const G16_B16R16_2Plane_444_UNorm_EXT: Self = Self(sys::VK_FORMAT_G16_B16R16_2PLANE_444_UNORM_EXT.0);
/// `VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT` = `VK_FORMAT_A4R4G4B4_UNORM_PACK16`
pub const A4R4G4B4_UNorm_Pack16_EXT: Self = Self(sys::VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT.0);
/// `VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT` = `VK_FORMAT_A4B4G4R4_UNORM_PACK16`
pub const A4B4G4R4_UNorm_Pack16_EXT: Self = Self(sys::VK_FORMAT_A4B4G4R4_UNORM_PACK16_EXT.0);
/// `VK_FORMAT_R8_BOOL_ARM` = `1000460000`
pub const R8_Bool_ARM: Self = Self(sys::VK_FORMAT_R8_BOOL_ARM.0);
/// `VK_FORMAT_R16_SFLOAT_FPENCODING_BFLOAT16_ARM` = `1000460001`
pub const R16_SFloat_FpEncoding_BFLOAT16_ARM: Self = Self(sys::VK_FORMAT_R16_SFLOAT_FPENCODING_BFLOAT16_ARM.0);
/// `VK_FORMAT_R8_SFLOAT_FPENCODING_FLOAT8E4M3_ARM` = `1000460002`
pub const R8_SFloat_FpEncoding_FLOAT8E4M3_ARM: Self = Self(sys::VK_FORMAT_R8_SFLOAT_FPENCODING_FLOAT8E4M3_ARM.0);
/// `VK_FORMAT_R8_SFLOAT_FPENCODING_FLOAT8E5M2_ARM` = `1000460003`
pub const R8_SFloat_FpEncoding_FLOAT8E5M2_ARM: Self = Self(sys::VK_FORMAT_R8_SFLOAT_FPENCODING_FLOAT8E5M2_ARM.0);
/// `VK_FORMAT_R16G16_SFIXED5_NV` = `1000464000`
pub const R16G16_SFixed5_NV: Self = Self(sys::VK_FORMAT_R16G16_SFIXED5_NV.0);
/// `VK_FORMAT_R16G16_S10_5_NV` = `VK_FORMAT_R16G16_SFIXED5_NV`
pub const R16G16_S10_5_NV: Self = Self(sys::VK_FORMAT_R16G16_S10_5_NV.0);
/// `VK_FORMAT_A1B5G5R5_UNORM_PACK16_KHR` = `VK_FORMAT_A1B5G5R5_UNORM_PACK16`
pub const A1B5G5R5_UNorm_Pack16_KHR: Self = Self(sys::VK_FORMAT_A1B5G5R5_UNORM_PACK16_KHR.0);
/// `VK_FORMAT_A8_UNORM_KHR` = `VK_FORMAT_A8_UNORM`
pub const A8_UNorm_KHR: Self = Self(sys::VK_FORMAT_A8_UNORM_KHR.0);
/// `VK_FORMAT_R10X6_UINT_PACK16_ARM` = `1000609000`
pub const R10X6_UInt_Pack16_ARM: Self = Self(sys::VK_FORMAT_R10X6_UINT_PACK16_ARM.0);
/// `VK_FORMAT_R10X6G10X6_UINT_2PACK16_ARM` = `1000609001`
pub const R10X6G10X6_UInt_2Pack16_ARM: Self = Self(sys::VK_FORMAT_R10X6G10X6_UINT_2PACK16_ARM.0);
/// `VK_FORMAT_R10X6G10X6B10X6A10X6_UINT_4PACK16_ARM` = `1000609002`
pub const R10X6G10X6B10X6A10X6_UInt_4Pack16_ARM: Self = Self(sys::VK_FORMAT_R10X6G10X6B10X6A10X6_UINT_4PACK16_ARM.0);
/// `VK_FORMAT_R12X4_UINT_PACK16_ARM` = `1000609003`
pub const R12X4_UInt_Pack16_ARM: Self = Self(sys::VK_FORMAT_R12X4_UINT_PACK16_ARM.0);
/// `VK_FORMAT_R12X4G12X4_UINT_2PACK16_ARM` = `1000609004`
pub const R12X4G12X4_UInt_2Pack16_ARM: Self = Self(sys::VK_FORMAT_R12X4G12X4_UINT_2PACK16_ARM.0);
/// `VK_FORMAT_R12X4G12X4B12X4A12X4_UINT_4PACK16_ARM` = `1000609005`
pub const R12X4G12X4B12X4A12X4_UInt_4Pack16_ARM: Self = Self(sys::VK_FORMAT_R12X4G12X4B12X4A12X4_UINT_4PACK16_ARM.0);
/// `VK_FORMAT_R14X2_UINT_PACK16_ARM` = `1000609006`
pub const R14X2_UInt_Pack16_ARM: Self = Self(sys::VK_FORMAT_R14X2_UINT_PACK16_ARM.0);
/// `VK_FORMAT_R14X2G14X2_UINT_2PACK16_ARM` = `1000609007`
pub const R14X2G14X2_UInt_2Pack16_ARM: Self = Self(sys::VK_FORMAT_R14X2G14X2_UINT_2PACK16_ARM.0);
/// `VK_FORMAT_R14X2G14X2B14X2A14X2_UINT_4PACK16_ARM` = `1000609008`
pub const R14X2G14X2B14X2A14X2_UInt_4Pack16_ARM: Self = Self(sys::VK_FORMAT_R14X2G14X2B14X2A14X2_UINT_4PACK16_ARM.0);
/// `VK_FORMAT_R14X2_UNORM_PACK16_ARM` = `1000609009`
pub const R14X2_UNorm_Pack16_ARM: Self = Self(sys::VK_FORMAT_R14X2_UNORM_PACK16_ARM.0);
/// `VK_FORMAT_R14X2G14X2_UNORM_2PACK16_ARM` = `1000609010`
pub const R14X2G14X2_UNorm_2Pack16_ARM: Self = Self(sys::VK_FORMAT_R14X2G14X2_UNORM_2PACK16_ARM.0);
/// `VK_FORMAT_R14X2G14X2B14X2A14X2_UNORM_4PACK16_ARM` = `1000609011`
pub const R14X2G14X2B14X2A14X2_UNorm_4Pack16_ARM: Self = Self(sys::VK_FORMAT_R14X2G14X2B14X2A14X2_UNORM_4PACK16_ARM.0);
/// `VK_FORMAT_G14X2_B14X2R14X2_2PLANE_420_UNORM_3PACK16_ARM` = `1000609012`
pub const G14X2_B14X2R14X2_2Plane_420_UNorm_3Pack16_ARM: Self = Self(sys::VK_FORMAT_G14X2_B14X2R14X2_2PLANE_420_UNORM_3PACK16_ARM.0);
/// `VK_FORMAT_G14X2_B14X2R14X2_2PLANE_422_UNORM_3PACK16_ARM` = `1000609013`
pub const G14X2_B14X2R14X2_2Plane_422_UNorm_3Pack16_ARM: Self = Self(sys::VK_FORMAT_G14X2_B14X2R14X2_2PLANE_422_UNORM_3PACK16_ARM.0);
}
impl_enum_display!(Format = VkFormat { Undefined, R4G4_UNorm_Pack8, R4G4B4A4_UNorm_Pack16, B4G4R4A4_UNorm_Pack16, R5G6B5_UNorm_Pack16, B5G6R5_UNorm_Pack16, R5G5B5A1_UNorm_Pack16, B5G5R5A1_UNorm_Pack16, A1R5G5B5_UNorm_Pack16, R8_UNorm, R8_SNorm, R8_UScaled, R8_SScaled, R8_UInt, R8_SInt, R8_Srgb, R8G8_UNorm, R8G8_SNorm, R8G8_UScaled, R8G8_SScaled, R8G8_UInt, R8G8_SInt, R8G8_Srgb, R8G8B8_UNorm, R8G8B8_SNorm, R8G8B8_UScaled, R8G8B8_SScaled, R8G8B8_UInt, R8G8B8_SInt, R8G8B8_Srgb, B8G8R8_UNorm, B8G8R8_SNorm, B8G8R8_UScaled, B8G8R8_SScaled, B8G8R8_UInt, B8G8R8_SInt, B8G8R8_Srgb, R8G8B8A8_UNorm, R8G8B8A8_SNorm, R8G8B8A8_UScaled, R8G8B8A8_SScaled, R8G8B8A8_UInt, R8G8B8A8_SInt, R8G8B8A8_Srgb, B8G8R8A8_UNorm, B8G8R8A8_SNorm, B8G8R8A8_UScaled, B8G8R8A8_SScaled, B8G8R8A8_UInt, B8G8R8A8_SInt, B8G8R8A8_Srgb, A8B8G8R8_UNorm_Pack32, A8B8G8R8_SNorm_Pack32, A8B8G8R8_UScaled_Pack32, A8B8G8R8_SScaled_Pack32, A8B8G8R8_UInt_Pack32, A8B8G8R8_SInt_Pack32, A8B8G8R8_Srgb_Pack32, A2R10G10B10_UNorm_Pack32, A2R10G10B10_SNorm_Pack32, A2R10G10B10_UScaled_Pack32, A2R10G10B10_SScaled_Pack32, A2R10G10B10_UInt_Pack32, A2R10G10B10_SInt_Pack32, A2B10G10R10_UNorm_Pack32, A2B10G10R10_SNorm_Pack32, A2B10G10R10_UScaled_Pack32, A2B10G10R10_SScaled_Pack32, A2B10G10R10_UInt_Pack32, A2B10G10R10_SInt_Pack32, R16_UNorm, R16_SNorm, R16_UScaled, R16_SScaled, R16_UInt, R16_SInt, R16_SFloat, R16G16_UNorm, R16G16_SNorm, R16G16_UScaled, R16G16_SScaled, R16G16_UInt, R16G16_SInt, R16G16_SFloat, R16G16B16_UNorm, R16G16B16_SNorm, R16G16B16_UScaled, R16G16B16_SScaled, R16G16B16_UInt, R16G16B16_SInt, R16G16B16_SFloat, R16G16B16A16_UNorm, R16G16B16A16_SNorm, R16G16B16A16_UScaled, R16G16B16A16_SScaled, R16G16B16A16_UInt, R16G16B16A16_SInt, R16G16B16A16_SFloat, R32_UInt, R32_SInt, R32_SFloat, R32G32_UInt, R32G32_SInt, R32G32_SFloat, R32G32B32_UInt, R32G32B32_SInt, R32G32B32_SFloat, R32G32B32A32_UInt, R32G32B32A32_SInt, R32G32B32A32_SFloat, R64_UInt, R64_SInt, R64_SFloat, R64G64_UInt, R64G64_SInt, R64G64_SFloat, R64G64B64_UInt, R64G64B64_SInt, R64G64B64_SFloat, R64G64B64A64_UInt, R64G64B64A64_SInt, R64G64B64A64_SFloat, B10G11R11_UFloat_Pack32, E5B9G9R9_UFloat_Pack32, D16_UNorm, X8_D24_UNorm_Pack32, D32_SFloat, S8_UInt, D16_UNorm_S8_UInt, D24_UNorm_S8_UInt, D32_SFloat_S8_UInt, BC1_RGB_UNorm_Block, BC1_RGB_Srgb_Block, BC1_RGBA_UNorm_Block, BC1_RGBA_Srgb_Block, BC2_UNorm_Block, BC2_Srgb_Block, BC3_UNorm_Block, BC3_Srgb_Block, BC4_UNorm_Block, BC4_SNorm_Block, BC5_UNorm_Block, BC5_SNorm_Block, BC6H_UFloat_Block, BC6H_SFloat_Block, BC7_UNorm_Block, BC7_Srgb_Block, ETC2_R8G8B8_UNorm_Block, ETC2_R8G8B8_Srgb_Block, ETC2_R8G8B8A1_UNorm_Block, ETC2_R8G8B8A1_Srgb_Block, ETC2_R8G8B8A8_UNorm_Block, ETC2_R8G8B8A8_Srgb_Block, EAC_R11_UNorm_Block, EAC_R11_SNorm_Block, EAC_R11G11_UNorm_Block, EAC_R11G11_SNorm_Block, ASTC_4x4_UNorm_Block, ASTC_4x4_Srgb_Block, ASTC_5x4_UNorm_Block, ASTC_5x4_Srgb_Block, ASTC_5x5_UNorm_Block, ASTC_5x5_Srgb_Block, ASTC_6x5_UNorm_Block, ASTC_6x5_Srgb_Block, ASTC_6x6_UNorm_Block, ASTC_6x6_Srgb_Block, ASTC_8x5_UNorm_Block, ASTC_8x5_Srgb_Block, ASTC_8x6_UNorm_Block, ASTC_8x6_Srgb_Block, ASTC_8x8_UNorm_Block, ASTC_8x8_Srgb_Block, ASTC_10x5_UNorm_Block, ASTC_10x5_Srgb_Block, ASTC_10x6_UNorm_Block, ASTC_10x6_Srgb_Block, ASTC_10x8_UNorm_Block, ASTC_10x8_Srgb_Block, ASTC_10x10_UNorm_Block, ASTC_10x10_Srgb_Block, ASTC_12x10_UNorm_Block, ASTC_12x10_Srgb_Block, ASTC_12x12_UNorm_Block, ASTC_12x12_Srgb_Block, G8B8G8R8_422_UNorm, B8G8R8G8_422_UNorm, G8_B8_R8_3Plane_420_UNorm, G8_B8R8_2Plane_420_UNorm, G8_B8_R8_3Plane_422_UNorm, G8_B8R8_2Plane_422_UNorm, G8_B8_R8_3Plane_444_UNorm, R10X6_UNorm_Pack16, R10X6G10X6_UNorm_2Pack16, R10X6G10X6B10X6A10X6_UNorm_4Pack16, G10X6B10X6G10X6R10X6_422_UNorm_4Pack16, B10X6G10X6R10X6G10X6_422_UNorm_4Pack16, G10X6_B10X6_R10X6_3Plane_420_UNorm_3Pack16, G10X6_B10X6R10X6_2Plane_420_UNorm_3Pack16, G10X6_B10X6_R10X6_3Plane_422_UNorm_3Pack16, G10X6_B10X6R10X6_2Plane_422_UNorm_3Pack16, G10X6_B10X6_R10X6_3Plane_444_UNorm_3Pack16, R12X4_UNorm_Pack16, R12X4G12X4_UNorm_2Pack16, R12X4G12X4B12X4A12X4_UNorm_4Pack16, G12X4B12X4G12X4R12X4_422_UNorm_4Pack16, B12X4G12X4R12X4G12X4_422_UNorm_4Pack16, G12X4_B12X4_R12X4_3Plane_420_UNorm_3Pack16, G12X4_B12X4R12X4_2Plane_420_UNorm_3Pack16, G12X4_B12X4_R12X4_3Plane_422_UNorm_3Pack16, G12X4_B12X4R12X4_2Plane_422_UNorm_3Pack16, G12X4_B12X4_R12X4_3Plane_444_UNorm_3Pack16, G16B16G16R16_422_UNorm, B16G16R16G16_422_UNorm, G16_B16_R16_3Plane_420_UNorm, G16_B16R16_2Plane_420_UNorm, G16_B16_R16_3Plane_422_UNorm, G16_B16R16_2Plane_422_UNorm, G16_B16_R16_3Plane_444_UNorm, G8_B8R8_2Plane_444_UNorm, G10X6_B10X6R10X6_2Plane_444_UNorm_3Pack16, G12X4_B12X4R12X4_2Plane_444_UNorm_3Pack16, G16_B16R16_2Plane_444_UNorm, A4R4G4B4_UNorm_Pack16, A4B4G4R4_UNorm_Pack16, ASTC_4x4_SFloat_Block, ASTC_5x4_SFloat_Block, ASTC_5x5_SFloat_Block, ASTC_6x5_SFloat_Block, ASTC_6x6_SFloat_Block, ASTC_8x5_SFloat_Block, ASTC_8x6_SFloat_Block, ASTC_8x8_SFloat_Block, ASTC_10x5_SFloat_Block, ASTC_10x6_SFloat_Block, ASTC_10x8_SFloat_Block, ASTC_10x10_SFloat_Block, ASTC_12x10_SFloat_Block, ASTC_12x12_SFloat_Block, A1B5G5R5_UNorm_Pack16, A8_UNorm, PVRTC1_2BPP_UNorm_Block_IMG, PVRTC1_4BPP_UNorm_Block_IMG, PVRTC2_2BPP_UNorm_Block_IMG, PVRTC2_4BPP_UNorm_Block_IMG, PVRTC1_2BPP_Srgb_Block_IMG, PVRTC1_4BPP_Srgb_Block_IMG, PVRTC2_2BPP_Srgb_Block_IMG, PVRTC2_4BPP_Srgb_Block_IMG, ASTC_4x4_SFloat_Block_EXT, ASTC_5x4_SFloat_Block_EXT, ASTC_5x5_SFloat_Block_EXT, ASTC_6x5_SFloat_Block_EXT, ASTC_6x6_SFloat_Block_EXT, ASTC_8x5_SFloat_Block_EXT, ASTC_8x6_SFloat_Block_EXT, ASTC_8x8_SFloat_Block_EXT, ASTC_10x5_SFloat_Block_EXT, ASTC_10x6_SFloat_Block_EXT, ASTC_10x8_SFloat_Block_EXT, ASTC_10x10_SFloat_Block_EXT, ASTC_12x10_SFloat_Block_EXT, ASTC_12x12_SFloat_Block_EXT, G8B8G8R8_422_UNorm_KHR, B8G8R8G8_422_UNorm_KHR, G8_B8_R8_3Plane_420_UNorm_KHR, G8_B8R8_2Plane_420_UNorm_KHR, G8_B8_R8_3Plane_422_UNorm_KHR, G8_B8R8_2Plane_422_UNorm_KHR, G8_B8_R8_3Plane_444_UNorm_KHR, R10X6_UNorm_Pack16_KHR, R10X6G10X6_UNorm_2Pack16_KHR, R10X6G10X6B10X6A10X6_UNorm_4Pack16_KHR, G10X6B10X6G10X6R10X6_422_UNorm_4Pack16_KHR, B10X6G10X6R10X6G10X6_422_UNorm_4Pack16_KHR, G10X6_B10X6_R10X6_3Plane_420_UNorm_3Pack16_KHR, G10X6_B10X6R10X6_2Plane_420_UNorm_3Pack16_KHR, G10X6_B10X6_R10X6_3Plane_422_UNorm_3Pack16_KHR, G10X6_B10X6R10X6_2Plane_422_UNorm_3Pack16_KHR, G10X6_B10X6_R10X6_3Plane_444_UNorm_3Pack16_KHR, R12X4_UNorm_Pack16_KHR, R12X4G12X4_UNorm_2Pack16_KHR, R12X4G12X4B12X4A12X4_UNorm_4Pack16_KHR, G12X4B12X4G12X4R12X4_422_UNorm_4Pack16_KHR, B12X4G12X4R12X4G12X4_422_UNorm_4Pack16_KHR, G12X4_B12X4_R12X4_3Plane_420_UNorm_3Pack16_KHR, G12X4_B12X4R12X4_2Plane_420_UNorm_3Pack16_KHR, G12X4_B12X4_R12X4_3Plane_422_UNorm_3Pack16_KHR, G12X4_B12X4R12X4_2Plane_422_UNorm_3Pack16_KHR, G12X4_B12X4_R12X4_3Plane_444_UNorm_3Pack16_KHR, G16B16G16R16_422_UNorm_KHR, B16G16R16G16_422_UNorm_KHR, G16_B16_R16_3Plane_420_UNorm_KHR, G16_B16R16_2Plane_420_UNorm_KHR, G16_B16_R16_3Plane_422_UNorm_KHR, G16_B16R16_2Plane_422_UNorm_KHR, G16_B16_R16_3Plane_444_UNorm_KHR, ASTC_3x3x3_UNorm_Block_EXT, ASTC_3x3x3_Srgb_Block_EXT, ASTC_3x3x3_SFloat_Block_EXT, ASTC_4x3x3_UNorm_Block_EXT, ASTC_4x3x3_Srgb_Block_EXT, ASTC_4x3x3_SFloat_Block_EXT, ASTC_4x4x3_UNorm_Block_EXT, ASTC_4x4x3_Srgb_Block_EXT, ASTC_4x4x3_SFloat_Block_EXT, ASTC_4x4x4_UNorm_Block_EXT, ASTC_4x4x4_Srgb_Block_EXT, ASTC_4x4x4_SFloat_Block_EXT, ASTC_5x4x4_UNorm_Block_EXT, ASTC_5x4x4_Srgb_Block_EXT, ASTC_5x4x4_SFloat_Block_EXT, ASTC_5x5x4_UNorm_Block_EXT, ASTC_5x5x4_Srgb_Block_EXT, ASTC_5x5x4_SFloat_Block_EXT, ASTC_5x5x5_UNorm_Block_EXT, ASTC_5x5x5_Srgb_Block_EXT, ASTC_5x5x5_SFloat_Block_EXT, ASTC_6x5x5_UNorm_Block_EXT, ASTC_6x5x5_Srgb_Block_EXT, ASTC_6x5x5_SFloat_Block_EXT, ASTC_6x6x5_UNorm_Block_EXT, ASTC_6x6x5_Srgb_Block_EXT, ASTC_6x6x5_SFloat_Block_EXT, ASTC_6x6x6_UNorm_Block_EXT, ASTC_6x6x6_Srgb_Block_EXT, ASTC_6x6x6_SFloat_Block_EXT, G8_B8R8_2Plane_444_UNorm_EXT, G10X6_B10X6R10X6_2Plane_444_UNorm_3Pack16_EXT, G12X4_B12X4R12X4_2Plane_444_UNorm_3Pack16_EXT, G16_B16R16_2Plane_444_UNorm_EXT, A4R4G4B4_UNorm_Pack16_EXT, A4B4G4R4_UNorm_Pack16_EXT, R8_Bool_ARM, R16_SFloat_FpEncoding_BFLOAT16_ARM, R8_SFloat_FpEncoding_FLOAT8E4M3_ARM, R8_SFloat_FpEncoding_FLOAT8E5M2_ARM, R16G16_SFixed5_NV, R16G16_S10_5_NV, A1B5G5R5_UNorm_Pack16_KHR, A8_UNorm_KHR, R10X6_UInt_Pack16_ARM, R10X6G10X6_UInt_2Pack16_ARM, R10X6G10X6B10X6A10X6_UInt_4Pack16_ARM, R12X4_UInt_Pack16_ARM, R12X4G12X4_UInt_2Pack16_ARM, R12X4G12X4B12X4A12X4_UInt_4Pack16_ARM, R14X2_UInt_Pack16_ARM, R14X2G14X2_UInt_2Pack16_ARM, R14X2G14X2B14X2A14X2_UInt_4Pack16_ARM, R14X2_UNorm_Pack16_ARM, R14X2G14X2_UNorm_2Pack16_ARM, R14X2G14X2B14X2A14X2_UNorm_4Pack16_ARM, G14X2_B14X2R14X2_2Plane_420_UNorm_3Pack16_ARM, G14X2_B14X2R14X2_2Plane_422_UNorm_3Pack16_ARM });
/// `VkFormatFeatureFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct FormatFeatureFlags(pub i32);
flags!(FormatFeatureFlags);
from_into_transparent!(FormatFeatureFlags : i32);
from_by_transmute!(FormatFeatureFlags => sys::VkFormatFeatureFlags);
from_by_transmute!(sys::VkFormatFeatureFlags => FormatFeatureFlags);
impl_to_sys!(FormatFeatureFlags => sys::VkFormatFeatureFlags);
impl_enum!(FormatFeatureFlags => sys::VkFormatFeatureFlags);
impl FormatFeatureFlags {
/// `VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT` = `1 << 0`
///
/// Format can be used for sampled images (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER descriptor types)
pub const SampledImage: Self = Self(sys::VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT.0);
/// `VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT` = `1 << 1`
///
/// Format can be used for storage images (STORAGE_IMAGE descriptor type)
pub const StorageImage: Self = Self(sys::VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT.0);
/// `VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT` = `1 << 2`
///
/// Format supports atomic operations in case it is used for storage images
pub const StorageImageAtomic: Self = Self(sys::VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT.0);
/// `VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT` = `1 << 3`
///
/// Format can be used for uniform texel buffers (TBOs)
pub const UniformTexelBuffer: Self = Self(sys::VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT.0);
/// `VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT` = `1 << 4`
///
/// Format can be used for storage texel buffers (IBOs)
pub const StorageTexelBuffer: Self = Self(sys::VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT.0);
/// `VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT` = `1 << 5`
///
/// Format supports atomic operations in case it is used for storage texel buffers
pub const StorageTexelBufferAtomic: Self = Self(sys::VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT.0);
/// `VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT` = `1 << 6`
///
/// Format can be used for vertex buffers (VBOs)
pub const VertexBuffer: Self = Self(sys::VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT.0);
/// `VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT` = `1 << 7`
///
/// Format can be used for color attachment images
pub const ColorAttachment: Self = Self(sys::VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT.0);
/// `VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT` = `1 << 8`
///
/// Format supports blending in case it is used for color attachment images
pub const ColorAttachmentBlend: Self = Self(sys::VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT.0);
/// `VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT` = `1 << 9`
///
/// Format can be used for depth/stencil attachment images
pub const DepthStencilAttachment: Self = Self(sys::VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT.0);
/// `VK_FORMAT_FEATURE_BLIT_SRC_BIT` = `1 << 10`
///
/// Format can be used as the source image of blits with vkCmdBlitImage
pub const BlitSrc: Self = Self(sys::VK_FORMAT_FEATURE_BLIT_SRC_BIT.0);
/// `VK_FORMAT_FEATURE_BLIT_DST_BIT` = `1 << 11`
///
/// Format can be used as the destination image of blits with vkCmdBlitImage
pub const BlitDst: Self = Self(sys::VK_FORMAT_FEATURE_BLIT_DST_BIT.0);
/// `VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT` = `1 << 12`
///
/// Format can be filtered with VK_FILTER_LINEAR when being sampled
pub const SampledImageFilterLinear: Self = Self(sys::VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT.0);
/// `VK_FORMAT_FEATURE_TRANSFER_SRC_BIT` = `1 << 14`
///
/// Format can be used as the source image of image transfer commands
pub const TransferSrc: Self = Self(sys::VK_FORMAT_FEATURE_TRANSFER_SRC_BIT.0);
/// `VK_FORMAT_FEATURE_TRANSFER_DST_BIT` = `1 << 15`
///
/// Format can be used as the destination image of image transfer commands
pub const TransferDst: Self = Self(sys::VK_FORMAT_FEATURE_TRANSFER_DST_BIT.0);
/// `VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT` = `1 << 17`
///
/// Format can have midpoint rather than cosited chroma samples
pub const MidpointChromaSamples: Self = Self(sys::VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT.0);
/// `VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT` = `1 << 18`
///
/// Format can be used with linear filtering whilst color conversion is enabled
pub const SampledImageYcbcrConversionLinearFilter: Self = Self(sys::VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT.0);
/// `VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT` = `1 << 19`
///
/// Format can have different chroma, min and mag filters
pub const SampledImageYcbcrConversionSeparateReconstructionFilter: Self = Self(sys::VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT.0);
/// `VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT` = `1 << 20`
pub const SampledImageYcbcrConversionChromaReconstructionExplicit: Self = Self(sys::VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT.0);
/// `VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT` = `1 << 21`
pub const SampledImageYcbcrConversionChromaReconstructionExplicitForceable: Self = Self(sys::VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT.0);
/// `VK_FORMAT_FEATURE_DISJOINT_BIT` = `1 << 22`
///
/// Format supports disjoint planes
pub const Disjoint: Self = Self(sys::VK_FORMAT_FEATURE_DISJOINT_BIT.0);
/// `VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT` = `1 << 23`
///
/// Format can have cosited rather than midpoint chroma samples
pub const CositedChromaSamples: Self = Self(sys::VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT.0);
/// `VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT` = `1 << 16`
///
/// Format can be used with min/max reduction filtering
pub const SampledImageFilterMinmax: Self = Self(sys::VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT.0);
/// `VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG` = `VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT`
///
/// Format can be filtered with VK_FILTER_CUBIC_IMG when being sampled
pub const SampledImageFilterCubicImg: Self = Self(sys::VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG.0);
/// `VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR` = `1 << 25`
pub const VideoDecodeOutputKhr: Self = Self(sys::VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR` = `1 << 26`
pub const VideoDecodeDpbKhr: Self = Self(sys::VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR` = `VK_FORMAT_FEATURE_TRANSFER_SRC_BIT`
pub const TransferSrcKhr: Self = Self(sys::VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR` = `VK_FORMAT_FEATURE_TRANSFER_DST_BIT`
pub const TransferDstKhr: Self = Self(sys::VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT` = `VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT`
pub const SampledImageFilterMinmaxExt: Self = Self(sys::VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT.0);
/// `VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR` = `1 << 29`
pub const AccelerationStructureVertexBufferKhr: Self = Self(sys::VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR` = `VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT`
pub const MidpointChromaSamplesKhr: Self = Self(sys::VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR` = `VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT`
pub const SampledImageYcbcrConversionLinearFilterKhr: Self = Self(sys::VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR` = `VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT`
pub const SampledImageYcbcrConversionSeparateReconstructionFilterKhr: Self = Self(sys::VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR` = `VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT`
pub const SampledImageYcbcrConversionChromaReconstructionExplicitKhr: Self = Self(sys::VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR` = `VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT`
pub const SampledImageYcbcrConversionChromaReconstructionExplicitForceableKhr: Self = Self(sys::VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_DISJOINT_BIT_KHR` = `VK_FORMAT_FEATURE_DISJOINT_BIT`
pub const DisjointKhr: Self = Self(sys::VK_FORMAT_FEATURE_DISJOINT_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR` = `VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT`
pub const CositedChromaSamplesKhr: Self = Self(sys::VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT` = `1 << 13`
pub const SampledImageFilterCubicExt: Self = Self(sys::VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT.0);
/// `VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT` = `1 << 24`
pub const FragmentDensityMapExt: Self = Self(sys::VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT.0);
/// `VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR` = `1 << 30`
pub const FragmentShadingRateAttachmentKhr: Self = Self(sys::VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR` = `1 << 27`
pub const VideoEncodeInputKhr: Self = Self(sys::VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR` = `1 << 28`
pub const VideoEncodeDpbKhr: Self = Self(sys::VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR.0);
}
impl_flags_display!(FormatFeatureFlags = VkFormatFeatureFlags { SampledImage, StorageImage, StorageImageAtomic, UniformTexelBuffer, StorageTexelBuffer, StorageTexelBufferAtomic, VertexBuffer, ColorAttachment, ColorAttachmentBlend, DepthStencilAttachment, BlitSrc, BlitDst, SampledImageFilterLinear, TransferSrc, TransferDst, MidpointChromaSamples, SampledImageYcbcrConversionLinearFilter, SampledImageYcbcrConversionSeparateReconstructionFilter, SampledImageYcbcrConversionChromaReconstructionExplicit, SampledImageYcbcrConversionChromaReconstructionExplicitForceable, Disjoint, CositedChromaSamples, SampledImageFilterMinmax, SampledImageFilterCubicImg, VideoDecodeOutputKhr, VideoDecodeDpbKhr, TransferSrcKhr, TransferDstKhr, SampledImageFilterMinmaxExt, AccelerationStructureVertexBufferKhr, MidpointChromaSamplesKhr, SampledImageYcbcrConversionLinearFilterKhr, SampledImageYcbcrConversionSeparateReconstructionFilterKhr, SampledImageYcbcrConversionChromaReconstructionExplicitKhr, SampledImageYcbcrConversionChromaReconstructionExplicitForceableKhr, DisjointKhr, CositedChromaSamplesKhr, SampledImageFilterCubicExt, FragmentDensityMapExt, FragmentShadingRateAttachmentKhr, VideoEncodeInputKhr, VideoEncodeDpbKhr });
/// `VkFormatFeatureFlags2`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct FormatFeatureFlags2(pub i64);
flags!(FormatFeatureFlags2);
from_into_transparent!(FormatFeatureFlags2 : i64);
from_by_transmute!(FormatFeatureFlags2 => sys::VkFormatFeatureFlags2);
from_by_transmute!(sys::VkFormatFeatureFlags2 => FormatFeatureFlags2);
impl_to_sys!(FormatFeatureFlags2 => sys::VkFormatFeatureFlags2);
impl_enum!(FormatFeatureFlags2 => sys::VkFormatFeatureFlags2);
impl FormatFeatureFlags2 {
/// `VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT` = `1 << 0`
pub const SampledImage: Self = Self(sys::VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT.0);
/// `VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT` = `1 << 1`
pub const StorageImage: Self = Self(sys::VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT.0);
/// `VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT` = `1 << 2`
pub const StorageImageAtomic: Self = Self(sys::VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT.0);
/// `VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT` = `1 << 3`
pub const UniformTexelBuffer: Self = Self(sys::VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT.0);
/// `VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT` = `1 << 4`
pub const StorageTexelBuffer: Self = Self(sys::VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT.0);
/// `VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT` = `1 << 5`
pub const StorageTexelBufferAtomic: Self = Self(sys::VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT.0);
/// `VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT` = `1 << 6`
pub const VertexBuffer: Self = Self(sys::VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT.0);
/// `VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT` = `1 << 7`
pub const ColorAttachment: Self = Self(sys::VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT.0);
/// `VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT` = `1 << 8`
pub const ColorAttachmentBlend: Self = Self(sys::VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT.0);
/// `VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT` = `1 << 9`
pub const DepthStencilAttachment: Self = Self(sys::VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT.0);
/// `VK_FORMAT_FEATURE_2_BLIT_SRC_BIT` = `1 << 10`
pub const BlitSrc: Self = Self(sys::VK_FORMAT_FEATURE_2_BLIT_SRC_BIT.0);
/// `VK_FORMAT_FEATURE_2_BLIT_DST_BIT` = `1 << 11`
pub const BlitDst: Self = Self(sys::VK_FORMAT_FEATURE_2_BLIT_DST_BIT.0);
/// `VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT` = `1 << 12`
pub const SampledImageFilterLinear: Self = Self(sys::VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT.0);
/// `VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT` = `1 << 14`
pub const TransferSrc: Self = Self(sys::VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT.0);
/// `VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT` = `1 << 15`
pub const TransferDst: Self = Self(sys::VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT.0);
/// `VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT` = `1 << 16`
pub const SampledImageFilterMinmax: Self = Self(sys::VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT.0);
/// `VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT` = `1 << 17`
pub const MidpointChromaSamples: Self = Self(sys::VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT.0);
/// `VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT` = `1 << 18`
pub const SampledImageYcbcrConversionLinearFilter: Self = Self(sys::VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT.0);
/// `VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT` = `1 << 19`
pub const SampledImageYcbcrConversionSeparateReconstructionFilter: Self = Self(sys::VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT.0);
/// `VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT` = `1 << 20`
pub const SampledImageYcbcrConversionChromaReconstructionExplicit: Self = Self(sys::VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT.0);
/// `VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT` = `1 << 21`
pub const SampledImageYcbcrConversionChromaReconstructionExplicitForceable: Self = Self(sys::VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT.0);
/// `VK_FORMAT_FEATURE_2_DISJOINT_BIT` = `1 << 22`
pub const Disjoint: Self = Self(sys::VK_FORMAT_FEATURE_2_DISJOINT_BIT.0);
/// `VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT` = `1 << 23`
pub const CositedChromaSamples: Self = Self(sys::VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT.0);
/// `VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT` = `1 << 31`
pub const StorageReadWithoutFormat: Self = Self(sys::VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT.0);
/// `VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT` = `1 << 32`
pub const StorageWriteWithoutFormat: Self = Self(sys::VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT.0);
/// `VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT` = `1 << 33`
pub const SampledImageDepthComparison: Self = Self(sys::VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT.0);
/// `VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT` = `1 << 13`
///
/// This is an interaction with EXT_filter_cubic, though not tagged that way
pub const SampledImageFilterCubic: Self = Self(sys::VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT.0);
/// `VK_FORMAT_FEATURE_2_HOST_IMAGE_TRANSFER_BIT` = `1 << 46`
pub const HostImageTransfer: Self = Self(sys::VK_FORMAT_FEATURE_2_HOST_IMAGE_TRANSFER_BIT.0);
/// `VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR` = `1 << 25`
pub const VideoDecodeOutputKhr: Self = Self(sys::VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR` = `1 << 26`
pub const VideoDecodeDpbKhr: Self = Self(sys::VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR` = `1 << 29`
pub const AccelerationStructureVertexBufferKhr: Self = Self(sys::VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT` = `1 << 24`
pub const FragmentDensityMapExt: Self = Self(sys::VK_FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT.0);
/// `VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR` = `1 << 30`
pub const FragmentShadingRateAttachmentKhr: Self = Self(sys::VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_2_HOST_IMAGE_TRANSFER_BIT_EXT` = `VK_FORMAT_FEATURE_2_HOST_IMAGE_TRANSFER_BIT`
///
/// Host image copies are supported
pub const HostImageTransferExt: Self = Self(sys::VK_FORMAT_FEATURE_2_HOST_IMAGE_TRANSFER_BIT_EXT.0);
/// `VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR` = `1 << 27`
pub const VideoEncodeInputKhr: Self = Self(sys::VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR` = `1 << 28`
pub const VideoEncodeDpbKhr: Self = Self(sys::VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR` = `VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT`
pub const SampledImageKhr: Self = Self(sys::VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR` = `VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT`
pub const StorageImageKhr: Self = Self(sys::VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR` = `VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT`
pub const StorageImageAtomicKhr: Self = Self(sys::VK_FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR` = `VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT`
pub const UniformTexelBufferKhr: Self = Self(sys::VK_FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT_KHR` = `VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT`
pub const StorageTexelBufferKhr: Self = Self(sys::VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR` = `VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT`
pub const StorageTexelBufferAtomicKhr: Self = Self(sys::VK_FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR` = `VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT`
pub const VertexBufferKhr: Self = Self(sys::VK_FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR` = `VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT`
pub const ColorAttachmentKhr: Self = Self(sys::VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR` = `VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT`
pub const ColorAttachmentBlendKhr: Self = Self(sys::VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR` = `VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT`
pub const DepthStencilAttachmentKhr: Self = Self(sys::VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR` = `VK_FORMAT_FEATURE_2_BLIT_SRC_BIT`
pub const BlitSrcKhr: Self = Self(sys::VK_FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_2_BLIT_DST_BIT_KHR` = `VK_FORMAT_FEATURE_2_BLIT_DST_BIT`
pub const BlitDstKhr: Self = Self(sys::VK_FORMAT_FEATURE_2_BLIT_DST_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR` = `VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT`
pub const SampledImageFilterLinearKhr: Self = Self(sys::VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR` = `VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT`
pub const TransferSrcKhr: Self = Self(sys::VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR` = `VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT`
pub const TransferDstKhr: Self = Self(sys::VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR` = `VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT`
pub const MidpointChromaSamplesKhr: Self = Self(sys::VK_FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR` = `VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT`
pub const SampledImageYcbcrConversionLinearFilterKhr: Self = Self(sys::VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR` = `VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT`
pub const SampledImageYcbcrConversionSeparateReconstructionFilterKhr: Self = Self(sys::VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR` = `VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT`
pub const SampledImageYcbcrConversionChromaReconstructionExplicitKhr: Self = Self(sys::VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR` = `VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT`
pub const SampledImageYcbcrConversionChromaReconstructionExplicitForceableKhr: Self = Self(sys::VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_2_DISJOINT_BIT_KHR` = `VK_FORMAT_FEATURE_2_DISJOINT_BIT`
pub const DisjointKhr: Self = Self(sys::VK_FORMAT_FEATURE_2_DISJOINT_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR` = `VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT`
pub const CositedChromaSamplesKhr: Self = Self(sys::VK_FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR` = `VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT`
pub const StorageReadWithoutFormatKhr: Self = Self(sys::VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR` = `VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT`
pub const StorageWriteWithoutFormatKhr: Self = Self(sys::VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR` = `VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT`
pub const SampledImageDepthComparisonKhr: Self = Self(sys::VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR` = `VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT`
pub const SampledImageFilterMinmaxKhr: Self = Self(sys::VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT` = `VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT`
pub const SampledImageFilterCubicExt: Self = Self(sys::VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT.0);
/// `VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_RADIUS_BUFFER_BIT_NV` = `1 << 51`
pub const AccelerationStructureRadiusBufferNv: Self = Self(sys::VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_RADIUS_BUFFER_BIT_NV.0);
/// `VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV` = `1 << 38`
///
/// Format support linear image as render target, it cannot be mixed with non linear attachment
pub const LinearColorAttachmentNv: Self = Self(sys::VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV.0);
/// `VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM` = `1 << 34`
pub const WeightImageQcom: Self = Self(sys::VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM.0);
/// `VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM` = `1 << 35`
pub const WeightSampledImageQcom: Self = Self(sys::VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM.0);
/// `VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM` = `1 << 36`
pub const BlockMatchingQcom: Self = Self(sys::VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM.0);
/// `VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM` = `1 << 37`
pub const BoxFilterSampledQcom: Self = Self(sys::VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM.0);
/// `VK_FORMAT_FEATURE_2_TENSOR_SHADER_BIT_ARM` = `1 << 39`
pub const TensorShaderArm: Self = Self(sys::VK_FORMAT_FEATURE_2_TENSOR_SHADER_BIT_ARM.0);
/// `VK_FORMAT_FEATURE_2_TENSOR_IMAGE_ALIASING_BIT_ARM` = `1 << 43`
pub const TensorImageAliasingArm: Self = Self(sys::VK_FORMAT_FEATURE_2_TENSOR_IMAGE_ALIASING_BIT_ARM.0);
/// `VK_FORMAT_FEATURE_2_OPTICAL_FLOW_IMAGE_BIT_NV` = `1 << 40`
pub const OpticalFlowImageNv: Self = Self(sys::VK_FORMAT_FEATURE_2_OPTICAL_FLOW_IMAGE_BIT_NV.0);
/// `VK_FORMAT_FEATURE_2_OPTICAL_FLOW_VECTOR_BIT_NV` = `1 << 41`
pub const OpticalFlowVectorNv: Self = Self(sys::VK_FORMAT_FEATURE_2_OPTICAL_FLOW_VECTOR_BIT_NV.0);
/// `VK_FORMAT_FEATURE_2_OPTICAL_FLOW_COST_BIT_NV` = `1 << 42`
pub const OpticalFlowCostNv: Self = Self(sys::VK_FORMAT_FEATURE_2_OPTICAL_FLOW_COST_BIT_NV.0);
/// `VK_FORMAT_FEATURE_2_TENSOR_DATA_GRAPH_BIT_ARM` = `1 << 48`
pub const TensorDataGraphArm: Self = Self(sys::VK_FORMAT_FEATURE_2_TENSOR_DATA_GRAPH_BIT_ARM.0);
/// `VK_FORMAT_FEATURE_2_RESERVED_60_BIT_EXT` = `1 << 60`
pub const Reserved60Ext: Self = Self(sys::VK_FORMAT_FEATURE_2_RESERVED_60_BIT_EXT.0);
/// `VK_FORMAT_FEATURE_2_COPY_IMAGE_INDIRECT_DST_BIT_KHR` = `1 << 59`
pub const CopyImageIndirectDstKhr: Self = Self(sys::VK_FORMAT_FEATURE_2_COPY_IMAGE_INDIRECT_DST_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_2_VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR` = `1 << 49`
pub const VideoEncodeQuantizationDeltaMapKhr: Self = Self(sys::VK_FORMAT_FEATURE_2_VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_2_VIDEO_ENCODE_EMPHASIS_MAP_BIT_KHR` = `1 << 50`
pub const VideoEncodeEmphasisMapKhr: Self = Self(sys::VK_FORMAT_FEATURE_2_VIDEO_ENCODE_EMPHASIS_MAP_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_2_DEPTH_COPY_ON_COMPUTE_QUEUE_BIT_KHR` = `1 << 52`
pub const DepthCopyOnComputeQueueKhr: Self = Self(sys::VK_FORMAT_FEATURE_2_DEPTH_COPY_ON_COMPUTE_QUEUE_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_2_DEPTH_COPY_ON_TRANSFER_QUEUE_BIT_KHR` = `1 << 53`
pub const DepthCopyOnTransferQueueKhr: Self = Self(sys::VK_FORMAT_FEATURE_2_DEPTH_COPY_ON_TRANSFER_QUEUE_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_2_STENCIL_COPY_ON_COMPUTE_QUEUE_BIT_KHR` = `1 << 54`
pub const StencilCopyOnComputeQueueKhr: Self = Self(sys::VK_FORMAT_FEATURE_2_STENCIL_COPY_ON_COMPUTE_QUEUE_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_2_STENCIL_COPY_ON_TRANSFER_QUEUE_BIT_KHR` = `1 << 55`
pub const StencilCopyOnTransferQueueKhr: Self = Self(sys::VK_FORMAT_FEATURE_2_STENCIL_COPY_ON_TRANSFER_QUEUE_BIT_KHR.0);
/// `VK_FORMAT_FEATURE_2_RESERVED_56_BIT_ARM` = `1 << 56`
pub const Reserved56Arm: Self = Self(sys::VK_FORMAT_FEATURE_2_RESERVED_56_BIT_ARM.0);
/// `VK_FORMAT_FEATURE_2_RESERVED_57_BIT_ARM` = `1 << 57`
pub const Reserved57Arm: Self = Self(sys::VK_FORMAT_FEATURE_2_RESERVED_57_BIT_ARM.0);
/// `VK_FORMAT_FEATURE_2_RESERVED_58_BIT_ARM` = `1 << 58`
pub const Reserved58Arm: Self = Self(sys::VK_FORMAT_FEATURE_2_RESERVED_58_BIT_ARM.0);
/// `VK_FORMAT_FEATURE_2_RESERVED_47_BIT_ARM` = `1 << 47`
pub const Reserved47Arm: Self = Self(sys::VK_FORMAT_FEATURE_2_RESERVED_47_BIT_ARM.0);
/// `VK_FORMAT_FEATURE_2_RESERVED_61_BIT_HUAWEI` = `1 << 61`
pub const Reserved61Huawei: Self = Self(sys::VK_FORMAT_FEATURE_2_RESERVED_61_BIT_HUAWEI.0);
}
impl_flags_display!(FormatFeatureFlags2 = VkFormatFeatureFlags2 { SampledImage, StorageImage, StorageImageAtomic, UniformTexelBuffer, StorageTexelBuffer, StorageTexelBufferAtomic, VertexBuffer, ColorAttachment, ColorAttachmentBlend, DepthStencilAttachment, BlitSrc, BlitDst, SampledImageFilterLinear, TransferSrc, TransferDst, SampledImageFilterMinmax, MidpointChromaSamples, SampledImageYcbcrConversionLinearFilter, SampledImageYcbcrConversionSeparateReconstructionFilter, SampledImageYcbcrConversionChromaReconstructionExplicit, SampledImageYcbcrConversionChromaReconstructionExplicitForceable, Disjoint, CositedChromaSamples, StorageReadWithoutFormat, StorageWriteWithoutFormat, SampledImageDepthComparison, SampledImageFilterCubic, HostImageTransfer, VideoDecodeOutputKhr, VideoDecodeDpbKhr, AccelerationStructureVertexBufferKhr, FragmentDensityMapExt, FragmentShadingRateAttachmentKhr, HostImageTransferExt, VideoEncodeInputKhr, VideoEncodeDpbKhr, SampledImageKhr, StorageImageKhr, StorageImageAtomicKhr, UniformTexelBufferKhr, StorageTexelBufferKhr, StorageTexelBufferAtomicKhr, VertexBufferKhr, ColorAttachmentKhr, ColorAttachmentBlendKhr, DepthStencilAttachmentKhr, BlitSrcKhr, BlitDstKhr, SampledImageFilterLinearKhr, TransferSrcKhr, TransferDstKhr, MidpointChromaSamplesKhr, SampledImageYcbcrConversionLinearFilterKhr, SampledImageYcbcrConversionSeparateReconstructionFilterKhr, SampledImageYcbcrConversionChromaReconstructionExplicitKhr, SampledImageYcbcrConversionChromaReconstructionExplicitForceableKhr, DisjointKhr, CositedChromaSamplesKhr, StorageReadWithoutFormatKhr, StorageWriteWithoutFormatKhr, SampledImageDepthComparisonKhr, SampledImageFilterMinmaxKhr, SampledImageFilterCubicExt, AccelerationStructureRadiusBufferNv, LinearColorAttachmentNv, WeightImageQcom, WeightSampledImageQcom, BlockMatchingQcom, BoxFilterSampledQcom, TensorShaderArm, TensorImageAliasingArm, OpticalFlowImageNv, OpticalFlowVectorNv, OpticalFlowCostNv, TensorDataGraphArm, Reserved60Ext, CopyImageIndirectDstKhr, VideoEncodeQuantizationDeltaMapKhr, VideoEncodeEmphasisMapKhr, DepthCopyOnComputeQueueKhr, DepthCopyOnTransferQueueKhr, StencilCopyOnComputeQueueKhr, StencilCopyOnTransferQueueKhr, Reserved56Arm, Reserved57Arm, Reserved58Arm, Reserved47Arm, Reserved61Huawei });
/// `VkFormatFeatureFlags2KHR` = `VkFormatFeatureFlags2`
pub type FormatFeatureFlags2KHR = FormatFeatureFlags2;
/// `VkFragmentShadingRateCombinerOpKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct FragmentShadingRateCombinerOpKHR(pub i32);
from_into_transparent!(FragmentShadingRateCombinerOpKHR : i32);
from_by_transmute!(FragmentShadingRateCombinerOpKHR => sys::VkFragmentShadingRateCombinerOpKHR);
from_by_transmute!(sys::VkFragmentShadingRateCombinerOpKHR => FragmentShadingRateCombinerOpKHR);
impl_to_sys!(FragmentShadingRateCombinerOpKHR => sys::VkFragmentShadingRateCombinerOpKHR);
impl_enum!(FragmentShadingRateCombinerOpKHR => sys::VkFragmentShadingRateCombinerOpKHR);
impl FragmentShadingRateCombinerOpKHR {
/// `VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR` = `0`
pub const KeepKhr: Self = Self(sys::VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR.0);
/// `VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR` = `1`
pub const ReplaceKhr: Self = Self(sys::VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR.0);
/// `VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR` = `2`
pub const MinKhr: Self = Self(sys::VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR.0);
/// `VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR` = `3`
pub const MaxKhr: Self = Self(sys::VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR.0);
/// `VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR` = `4`
pub const MulKhr: Self = Self(sys::VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR.0);
}
impl_enum_display!(FragmentShadingRateCombinerOpKHR = VkFragmentShadingRateCombinerOpKHR { KeepKhr, ReplaceKhr, MinKhr, MaxKhr, MulKhr });
/// `VkFragmentShadingRateNV`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct FragmentShadingRateNV(pub i32);
from_into_transparent!(FragmentShadingRateNV : i32);
from_by_transmute!(FragmentShadingRateNV => sys::VkFragmentShadingRateNV);
from_by_transmute!(sys::VkFragmentShadingRateNV => FragmentShadingRateNV);
impl_to_sys!(FragmentShadingRateNV => sys::VkFragmentShadingRateNV);
impl_enum!(FragmentShadingRateNV => sys::VkFragmentShadingRateNV);
impl FragmentShadingRateNV {
/// `VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV` = `0`
pub const _1InvocationPerPixelNv: Self = Self(sys::VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV.0);
/// `VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV` = `1`
pub const _1InvocationPer1x2PixelsNv: Self = Self(sys::VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV.0);
/// `VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV` = `4`
pub const _1InvocationPer2x1PixelsNv: Self = Self(sys::VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV.0);
/// `VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV` = `5`
pub const _1InvocationPer2x2PixelsNv: Self = Self(sys::VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV.0);
/// `VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV` = `6`
pub const _1InvocationPer2x4PixelsNv: Self = Self(sys::VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV.0);
/// `VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV` = `9`
pub const _1InvocationPer4x2PixelsNv: Self = Self(sys::VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV.0);
/// `VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV` = `10`
pub const _1InvocationPer4x4PixelsNv: Self = Self(sys::VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV.0);
/// `VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV` = `11`
pub const _2InvocationsPerPixelNv: Self = Self(sys::VK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV.0);
/// `VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV` = `12`
pub const _4InvocationsPerPixelNv: Self = Self(sys::VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV.0);
/// `VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV` = `13`
pub const _8InvocationsPerPixelNv: Self = Self(sys::VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV.0);
/// `VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV` = `14`
pub const _16InvocationsPerPixelNv: Self = Self(sys::VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV.0);
/// `VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV` = `15`
pub const NoInvocationsNv: Self = Self(sys::VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV.0);
}
impl_enum_display!(FragmentShadingRateNV = VkFragmentShadingRateNV { _1InvocationPerPixelNv, _1InvocationPer1x2PixelsNv, _1InvocationPer2x1PixelsNv, _1InvocationPer2x2PixelsNv, _1InvocationPer2x4PixelsNv, _1InvocationPer4x2PixelsNv, _1InvocationPer4x4PixelsNv, _2InvocationsPerPixelNv, _4InvocationsPerPixelNv, _8InvocationsPerPixelNv, _16InvocationsPerPixelNv, NoInvocationsNv });
/// `VkFragmentShadingRateTypeNV`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct FragmentShadingRateTypeNV(pub i32);
from_into_transparent!(FragmentShadingRateTypeNV : i32);
from_by_transmute!(FragmentShadingRateTypeNV => sys::VkFragmentShadingRateTypeNV);
from_by_transmute!(sys::VkFragmentShadingRateTypeNV => FragmentShadingRateTypeNV);
impl_to_sys!(FragmentShadingRateTypeNV => sys::VkFragmentShadingRateTypeNV);
impl_enum!(FragmentShadingRateTypeNV => sys::VkFragmentShadingRateTypeNV);
impl FragmentShadingRateTypeNV {
/// `VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV` = `0`
pub const FragmentSizeNv: Self = Self(sys::VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV.0);
/// `VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV` = `1`
pub const EnumsNv: Self = Self(sys::VK_FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV.0);
}
impl_enum_display!(FragmentShadingRateTypeNV = VkFragmentShadingRateTypeNV { FragmentSizeNv, EnumsNv });
/// `VkFrameBoundaryFlagsEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct FrameBoundaryFlagsEXT(pub i32);
flags!(FrameBoundaryFlagsEXT);
from_into_transparent!(FrameBoundaryFlagsEXT : i32);
from_by_transmute!(FrameBoundaryFlagsEXT => sys::VkFrameBoundaryFlagsEXT);
from_by_transmute!(sys::VkFrameBoundaryFlagsEXT => FrameBoundaryFlagsEXT);
impl_to_sys!(FrameBoundaryFlagsEXT => sys::VkFrameBoundaryFlagsEXT);
impl_enum!(FrameBoundaryFlagsEXT => sys::VkFrameBoundaryFlagsEXT);
impl FrameBoundaryFlagsEXT {
/// `VK_FRAME_BOUNDARY_FRAME_END_BIT_EXT` = `1 << 0`
pub const FrameEndExt: Self = Self(sys::VK_FRAME_BOUNDARY_FRAME_END_BIT_EXT.0);
}
impl_flags_display!(FrameBoundaryFlagsEXT = VkFrameBoundaryFlagsEXT { FrameEndExt });
/// `VkFramebufferCreateFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct FramebufferCreateFlags(pub i32);
flags!(FramebufferCreateFlags);
from_into_transparent!(FramebufferCreateFlags : i32);
from_by_transmute!(FramebufferCreateFlags => sys::VkFramebufferCreateFlags);
from_by_transmute!(sys::VkFramebufferCreateFlags => FramebufferCreateFlags);
impl_to_sys!(FramebufferCreateFlags => sys::VkFramebufferCreateFlags);
impl_enum!(FramebufferCreateFlags => sys::VkFramebufferCreateFlags);
impl FramebufferCreateFlags {
/// `VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT` = `1 << 0`
pub const Imageless: Self = Self(sys::VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT.0);
/// `VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR` = `VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT`
pub const ImagelessKhr: Self = Self(sys::VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT_KHR.0);
}
impl_flags_display!(FramebufferCreateFlags = VkFramebufferCreateFlags { Imageless, ImagelessKhr });
/// `VkFrontFace`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct FrontFace(pub i32);
from_into_transparent!(FrontFace : i32);
from_by_transmute!(FrontFace => sys::VkFrontFace);
from_by_transmute!(sys::VkFrontFace => FrontFace);
impl_to_sys!(FrontFace => sys::VkFrontFace);
impl_enum!(FrontFace => sys::VkFrontFace);
impl FrontFace {
/// `VK_FRONT_FACE_COUNTER_CLOCKWISE` = `0`
pub const CounterClockwise: Self = Self(sys::VK_FRONT_FACE_COUNTER_CLOCKWISE.0);
/// `VK_FRONT_FACE_CLOCKWISE` = `1`
pub const Clockwise: Self = Self(sys::VK_FRONT_FACE_CLOCKWISE.0);
}
impl_enum_display!(FrontFace = VkFrontFace { CounterClockwise, Clockwise });
/// `VkFullScreenExclusiveEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct FullScreenExclusiveEXT(pub i32);
from_into_transparent!(FullScreenExclusiveEXT : i32);
from_by_transmute!(FullScreenExclusiveEXT => sys::VkFullScreenExclusiveEXT);
from_by_transmute!(sys::VkFullScreenExclusiveEXT => FullScreenExclusiveEXT);
impl_to_sys!(FullScreenExclusiveEXT => sys::VkFullScreenExclusiveEXT);
impl_enum!(FullScreenExclusiveEXT => sys::VkFullScreenExclusiveEXT);
impl FullScreenExclusiveEXT {
/// `VK_FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT` = `0`
pub const DefaultExt: Self = Self(sys::VK_FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT.0);
/// `VK_FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT` = `1`
pub const AllowedExt: Self = Self(sys::VK_FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT.0);
/// `VK_FULL_SCREEN_EXCLUSIVE_DISALLOWED_EXT` = `2`
pub const DisallowedExt: Self = Self(sys::VK_FULL_SCREEN_EXCLUSIVE_DISALLOWED_EXT.0);
/// `VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT` = `3`
pub const ApplicationControlledExt: Self = Self(sys::VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT.0);
}
impl_enum_display!(FullScreenExclusiveEXT = VkFullScreenExclusiveEXT { DefaultExt, AllowedExt, DisallowedExt, ApplicationControlledExt });
/// `VkGeometryFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct GeometryFlagsKHR(pub i32);
flags!(GeometryFlagsKHR);
from_into_transparent!(GeometryFlagsKHR : i32);
from_by_transmute!(GeometryFlagsKHR => sys::VkGeometryFlagsKHR);
from_by_transmute!(sys::VkGeometryFlagsKHR => GeometryFlagsKHR);
impl_to_sys!(GeometryFlagsKHR => sys::VkGeometryFlagsKHR);
impl_enum!(GeometryFlagsKHR => sys::VkGeometryFlagsKHR);
impl GeometryFlagsKHR {
/// `VK_GEOMETRY_OPAQUE_BIT_KHR` = `1 << 0`
pub const OpaqueKhr: Self = Self(sys::VK_GEOMETRY_OPAQUE_BIT_KHR.0);
/// `VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR` = `1 << 1`
pub const NoDuplicateAnyHitInvocationKhr: Self = Self(sys::VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR.0);
/// `VK_GEOMETRY_OPAQUE_BIT_NV` = `VK_GEOMETRY_OPAQUE_BIT_KHR`
pub const OpaqueNv: Self = Self(sys::VK_GEOMETRY_OPAQUE_BIT_NV.0);
/// `VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV` = `VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR`
pub const NoDuplicateAnyHitInvocationNv: Self = Self(sys::VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_NV.0);
}
impl_flags_display!(GeometryFlagsKHR = VkGeometryFlagsKHR { OpaqueKhr, NoDuplicateAnyHitInvocationKhr, OpaqueNv, NoDuplicateAnyHitInvocationNv });
/// `VkGeometryFlagsNV` = `VkGeometryFlagsKHR`
pub type GeometryFlagsNV = GeometryFlagsKHR;
/// `VkGeometryInstanceFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct GeometryInstanceFlagsKHR(pub i32);
flags!(GeometryInstanceFlagsKHR);
from_into_transparent!(GeometryInstanceFlagsKHR : i32);
from_by_transmute!(GeometryInstanceFlagsKHR => sys::VkGeometryInstanceFlagsKHR);
from_by_transmute!(sys::VkGeometryInstanceFlagsKHR => GeometryInstanceFlagsKHR);
impl_to_sys!(GeometryInstanceFlagsKHR => sys::VkGeometryInstanceFlagsKHR);
impl_enum!(GeometryInstanceFlagsKHR => sys::VkGeometryInstanceFlagsKHR);
impl GeometryInstanceFlagsKHR {
/// `VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR` = `1 << 0`
pub const TriangleFacingCullDisableKhr: Self = Self(sys::VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR.0);
/// `VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR` = `1 << 1`
pub const TriangleFlipFacingKhr: Self = Self(sys::VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR.0);
/// `VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR` = `1 << 2`
pub const ForceOpaqueKhr: Self = Self(sys::VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR.0);
/// `VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR` = `1 << 3`
pub const ForceNoOpaqueKhr: Self = Self(sys::VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR.0);
/// `VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR` = `VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR`
pub const TriangleFrontCounterclockwiseKhr: Self = Self(sys::VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR.0);
/// `VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV` = `VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR`
pub const TriangleCullDisableNv: Self = Self(sys::VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV.0);
/// `VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV` = `VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR`
pub const TriangleFrontCounterclockwiseNv: Self = Self(sys::VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV.0);
/// `VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV` = `VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR`
pub const ForceOpaqueNv: Self = Self(sys::VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV.0);
/// `VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV` = `VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR`
pub const ForceNoOpaqueNv: Self = Self(sys::VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_NV.0);
/// `VK_GEOMETRY_INSTANCE_FORCE_OPACITY_MICROMAP_2_STATE_BIT_EXT` = `1 << 4`
pub const ForceOpacityMicromap2StateExt: Self = Self(sys::VK_GEOMETRY_INSTANCE_FORCE_OPACITY_MICROMAP_2_STATE_BIT_EXT.0);
/// `VK_GEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_BIT_EXT` = `1 << 5`
pub const DisableOpacityMicromapsExt: Self = Self(sys::VK_GEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_BIT_EXT.0);
}
impl_flags_display!(GeometryInstanceFlagsKHR = VkGeometryInstanceFlagsKHR { TriangleFacingCullDisableKhr, TriangleFlipFacingKhr, ForceOpaqueKhr, ForceNoOpaqueKhr, TriangleFrontCounterclockwiseKhr, TriangleCullDisableNv, TriangleFrontCounterclockwiseNv, ForceOpaqueNv, ForceNoOpaqueNv, ForceOpacityMicromap2StateExt, DisableOpacityMicromapsExt });
/// `VkGeometryInstanceFlagsNV` = `VkGeometryInstanceFlagsKHR`
pub type GeometryInstanceFlagsNV = GeometryInstanceFlagsKHR;
/// `VkGeometryTypeKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct GeometryTypeKHR(pub i32);
from_into_transparent!(GeometryTypeKHR : i32);
from_by_transmute!(GeometryTypeKHR => sys::VkGeometryTypeKHR);
from_by_transmute!(sys::VkGeometryTypeKHR => GeometryTypeKHR);
impl_to_sys!(GeometryTypeKHR => sys::VkGeometryTypeKHR);
impl_enum!(GeometryTypeKHR => sys::VkGeometryTypeKHR);
impl GeometryTypeKHR {
/// `VK_GEOMETRY_TYPE_TRIANGLES_KHR` = `0`
pub const TrianglesKhr: Self = Self(sys::VK_GEOMETRY_TYPE_TRIANGLES_KHR.0);
/// `VK_GEOMETRY_TYPE_AABBS_KHR` = `1`
pub const AabbsKhr: Self = Self(sys::VK_GEOMETRY_TYPE_AABBS_KHR.0);
/// `VK_GEOMETRY_TYPE_INSTANCES_KHR` = `2`
pub const InstancesKhr: Self = Self(sys::VK_GEOMETRY_TYPE_INSTANCES_KHR.0);
/// `VK_GEOMETRY_TYPE_TRIANGLES_NV` = `VK_GEOMETRY_TYPE_TRIANGLES_KHR`
pub const TrianglesNv: Self = Self(sys::VK_GEOMETRY_TYPE_TRIANGLES_NV.0);
/// `VK_GEOMETRY_TYPE_AABBS_NV` = `VK_GEOMETRY_TYPE_AABBS_KHR`
pub const AabbsNv: Self = Self(sys::VK_GEOMETRY_TYPE_AABBS_NV.0);
/// `VK_GEOMETRY_TYPE_SPHERES_NV` = `1000429004`
pub const SpheresNv: Self = Self(sys::VK_GEOMETRY_TYPE_SPHERES_NV.0);
/// `VK_GEOMETRY_TYPE_LINEAR_SWEPT_SPHERES_NV` = `1000429005`
pub const LinearSweptSpheresNv: Self = Self(sys::VK_GEOMETRY_TYPE_LINEAR_SWEPT_SPHERES_NV.0);
/// `VK_GEOMETRY_TYPE_DENSE_GEOMETRY_FORMAT_TRIANGLES_AMDX` = `1000478000`
pub const DenseGeometryFormatTrianglesAmdx: Self = Self(sys::VK_GEOMETRY_TYPE_DENSE_GEOMETRY_FORMAT_TRIANGLES_AMDX.0);
}
impl_enum_display!(GeometryTypeKHR = VkGeometryTypeKHR { TrianglesKhr, AabbsKhr, InstancesKhr, TrianglesNv, AabbsNv, SpheresNv, LinearSweptSpheresNv, DenseGeometryFormatTrianglesAmdx });
/// `VkGeometryTypeNV` = `VkGeometryTypeKHR`
pub type GeometryTypeNV = GeometryTypeKHR;
/// `VkGraphicsPipelineLibraryFlagsEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct GraphicsPipelineLibraryFlagsEXT(pub i32);
flags!(GraphicsPipelineLibraryFlagsEXT);
from_into_transparent!(GraphicsPipelineLibraryFlagsEXT : i32);
from_by_transmute!(GraphicsPipelineLibraryFlagsEXT => sys::VkGraphicsPipelineLibraryFlagsEXT);
from_by_transmute!(sys::VkGraphicsPipelineLibraryFlagsEXT => GraphicsPipelineLibraryFlagsEXT);
impl_to_sys!(GraphicsPipelineLibraryFlagsEXT => sys::VkGraphicsPipelineLibraryFlagsEXT);
impl_enum!(GraphicsPipelineLibraryFlagsEXT => sys::VkGraphicsPipelineLibraryFlagsEXT);
impl GraphicsPipelineLibraryFlagsEXT {
/// `VK_GRAPHICS_PIPELINE_LIBRARY_VERTEX_INPUT_INTERFACE_BIT_EXT` = `1 << 0`
pub const VertexInputInterfaceExt: Self = Self(sys::VK_GRAPHICS_PIPELINE_LIBRARY_VERTEX_INPUT_INTERFACE_BIT_EXT.0);
/// `VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT` = `1 << 1`
pub const PreRasterizationShadersExt: Self = Self(sys::VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT.0);
/// `VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT` = `1 << 2`
pub const FragmentShaderExt: Self = Self(sys::VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT.0);
/// `VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT` = `1 << 3`
pub const FragmentOutputInterfaceExt: Self = Self(sys::VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT.0);
}
impl_flags_display!(GraphicsPipelineLibraryFlagsEXT = VkGraphicsPipelineLibraryFlagsEXT { VertexInputInterfaceExt, PreRasterizationShadersExt, FragmentShaderExt, FragmentOutputInterfaceExt });
/// `VkHeadlessSurfaceCreateFlagsEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct HeadlessSurfaceCreateFlagsEXT(pub i32);
flags!(HeadlessSurfaceCreateFlagsEXT);
from_into_transparent!(HeadlessSurfaceCreateFlagsEXT : i32);
from_by_transmute!(HeadlessSurfaceCreateFlagsEXT => sys::VkHeadlessSurfaceCreateFlagsEXT);
from_by_transmute!(sys::VkHeadlessSurfaceCreateFlagsEXT => HeadlessSurfaceCreateFlagsEXT);
impl_to_sys!(HeadlessSurfaceCreateFlagsEXT => sys::VkHeadlessSurfaceCreateFlagsEXT);
impl_enum!(HeadlessSurfaceCreateFlagsEXT => sys::VkHeadlessSurfaceCreateFlagsEXT);
impl_flags_display!(HeadlessSurfaceCreateFlagsEXT = VkHeadlessSurfaceCreateFlagsEXT { });
/// `VkHostImageCopyFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct HostImageCopyFlags(pub i32);
flags!(HostImageCopyFlags);
from_into_transparent!(HostImageCopyFlags : i32);
from_by_transmute!(HostImageCopyFlags => sys::VkHostImageCopyFlags);
from_by_transmute!(sys::VkHostImageCopyFlags => HostImageCopyFlags);
impl_to_sys!(HostImageCopyFlags => sys::VkHostImageCopyFlags);
impl_enum!(HostImageCopyFlags => sys::VkHostImageCopyFlags);
impl HostImageCopyFlags {
/// `VK_HOST_IMAGE_COPY_MEMCPY_BIT` = `1 << 0`
pub const Memcpy: Self = Self(sys::VK_HOST_IMAGE_COPY_MEMCPY_BIT.0);
/// `VK_HOST_IMAGE_COPY_MEMCPY_BIT_EXT` = `VK_HOST_IMAGE_COPY_MEMCPY_BIT`
pub const MemcpyExt: Self = Self(sys::VK_HOST_IMAGE_COPY_MEMCPY_BIT_EXT.0);
}
impl_flags_display!(HostImageCopyFlags = VkHostImageCopyFlags { Memcpy, MemcpyExt });
/// `VkHostImageCopyFlagsEXT` = `VkHostImageCopyFlags`
pub type HostImageCopyFlagsEXT = HostImageCopyFlags;
/// `VkIOSSurfaceCreateFlagsMVK`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct IOSSurfaceCreateFlagsMVK(pub i32);
flags!(IOSSurfaceCreateFlagsMVK);
from_into_transparent!(IOSSurfaceCreateFlagsMVK : i32);
from_by_transmute!(IOSSurfaceCreateFlagsMVK => sys::VkIOSSurfaceCreateFlagsMVK);
from_by_transmute!(sys::VkIOSSurfaceCreateFlagsMVK => IOSSurfaceCreateFlagsMVK);
impl_to_sys!(IOSSurfaceCreateFlagsMVK => sys::VkIOSSurfaceCreateFlagsMVK);
impl_enum!(IOSSurfaceCreateFlagsMVK => sys::VkIOSSurfaceCreateFlagsMVK);
impl_flags_display!(IOSSurfaceCreateFlagsMVK = VkIOSSurfaceCreateFlagsMVK { });
/// `VkImageAspectFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ImageAspectFlags(pub i32);
flags!(ImageAspectFlags);
from_into_transparent!(ImageAspectFlags : i32);
from_by_transmute!(ImageAspectFlags => sys::VkImageAspectFlags);
from_by_transmute!(sys::VkImageAspectFlags => ImageAspectFlags);
impl_to_sys!(ImageAspectFlags => sys::VkImageAspectFlags);
impl_enum!(ImageAspectFlags => sys::VkImageAspectFlags);
impl ImageAspectFlags {
/// `VK_IMAGE_ASPECT_COLOR_BIT` = `1 << 0`
pub const Color: Self = Self(sys::VK_IMAGE_ASPECT_COLOR_BIT.0);
/// `VK_IMAGE_ASPECT_DEPTH_BIT` = `1 << 1`
pub const Depth: Self = Self(sys::VK_IMAGE_ASPECT_DEPTH_BIT.0);
/// `VK_IMAGE_ASPECT_STENCIL_BIT` = `1 << 2`
pub const Stencil: Self = Self(sys::VK_IMAGE_ASPECT_STENCIL_BIT.0);
/// `VK_IMAGE_ASPECT_METADATA_BIT` = `1 << 3`
pub const Metadata: Self = Self(sys::VK_IMAGE_ASPECT_METADATA_BIT.0);
/// `VK_IMAGE_ASPECT_PLANE_0_BIT` = `1 << 4`
pub const Plane0: Self = Self(sys::VK_IMAGE_ASPECT_PLANE_0_BIT.0);
/// `VK_IMAGE_ASPECT_PLANE_1_BIT` = `1 << 5`
pub const Plane1: Self = Self(sys::VK_IMAGE_ASPECT_PLANE_1_BIT.0);
/// `VK_IMAGE_ASPECT_PLANE_2_BIT` = `1 << 6`
pub const Plane2: Self = Self(sys::VK_IMAGE_ASPECT_PLANE_2_BIT.0);
/// `VK_IMAGE_ASPECT_NONE` = `0`
pub const None: Self = Self(sys::VK_IMAGE_ASPECT_NONE.0);
/// `VK_IMAGE_ASPECT_PLANE_0_BIT_KHR` = `VK_IMAGE_ASPECT_PLANE_0_BIT`
pub const Plane0Khr: Self = Self(sys::VK_IMAGE_ASPECT_PLANE_0_BIT_KHR.0);
/// `VK_IMAGE_ASPECT_PLANE_1_BIT_KHR` = `VK_IMAGE_ASPECT_PLANE_1_BIT`
pub const Plane1Khr: Self = Self(sys::VK_IMAGE_ASPECT_PLANE_1_BIT_KHR.0);
/// `VK_IMAGE_ASPECT_PLANE_2_BIT_KHR` = `VK_IMAGE_ASPECT_PLANE_2_BIT`
pub const Plane2Khr: Self = Self(sys::VK_IMAGE_ASPECT_PLANE_2_BIT_KHR.0);
/// `VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT` = `1 << 7`
pub const MemoryPlane0Ext: Self = Self(sys::VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT.0);
/// `VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT` = `1 << 8`
pub const MemoryPlane1Ext: Self = Self(sys::VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT.0);
/// `VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT` = `1 << 9`
pub const MemoryPlane2Ext: Self = Self(sys::VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT.0);
/// `VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT` = `1 << 10`
pub const MemoryPlane3Ext: Self = Self(sys::VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT.0);
/// `VK_IMAGE_ASPECT_NONE_KHR` = `VK_IMAGE_ASPECT_NONE`
pub const NoneKhr: Self = Self(sys::VK_IMAGE_ASPECT_NONE_KHR.0);
/// `VK_IMAGE_ASPECT_RESERVED_11_BIT_HUAWEI` = `1 << 11`
pub const Reserved11Huawei: Self = Self(sys::VK_IMAGE_ASPECT_RESERVED_11_BIT_HUAWEI.0);
}
impl_flags_display!(ImageAspectFlags = VkImageAspectFlags { Color, Depth, Stencil, Metadata, Plane0, Plane1, Plane2, None, Plane0Khr, Plane1Khr, Plane2Khr, MemoryPlane0Ext, MemoryPlane1Ext, MemoryPlane2Ext, MemoryPlane3Ext, NoneKhr, Reserved11Huawei });
/// `VkImageCompressionFixedRateFlagsEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ImageCompressionFixedRateFlagsEXT(pub i32);
flags!(ImageCompressionFixedRateFlagsEXT);
from_into_transparent!(ImageCompressionFixedRateFlagsEXT : i32);
from_by_transmute!(ImageCompressionFixedRateFlagsEXT => sys::VkImageCompressionFixedRateFlagsEXT);
from_by_transmute!(sys::VkImageCompressionFixedRateFlagsEXT => ImageCompressionFixedRateFlagsEXT);
impl_to_sys!(ImageCompressionFixedRateFlagsEXT => sys::VkImageCompressionFixedRateFlagsEXT);
impl_enum!(ImageCompressionFixedRateFlagsEXT => sys::VkImageCompressionFixedRateFlagsEXT);
impl ImageCompressionFixedRateFlagsEXT {
/// `VK_IMAGE_COMPRESSION_FIXED_RATE_NONE_EXT` = `0`
pub const NoneExt: Self = Self(sys::VK_IMAGE_COMPRESSION_FIXED_RATE_NONE_EXT.0);
/// `VK_IMAGE_COMPRESSION_FIXED_RATE_1BPC_BIT_EXT` = `1 << 0`
pub const _1bpcExt: Self = Self(sys::VK_IMAGE_COMPRESSION_FIXED_RATE_1BPC_BIT_EXT.0);
/// `VK_IMAGE_COMPRESSION_FIXED_RATE_2BPC_BIT_EXT` = `1 << 1`
pub const _2bpcExt: Self = Self(sys::VK_IMAGE_COMPRESSION_FIXED_RATE_2BPC_BIT_EXT.0);
/// `VK_IMAGE_COMPRESSION_FIXED_RATE_3BPC_BIT_EXT` = `1 << 2`
pub const _3bpcExt: Self = Self(sys::VK_IMAGE_COMPRESSION_FIXED_RATE_3BPC_BIT_EXT.0);
/// `VK_IMAGE_COMPRESSION_FIXED_RATE_4BPC_BIT_EXT` = `1 << 3`
pub const _4bpcExt: Self = Self(sys::VK_IMAGE_COMPRESSION_FIXED_RATE_4BPC_BIT_EXT.0);
/// `VK_IMAGE_COMPRESSION_FIXED_RATE_5BPC_BIT_EXT` = `1 << 4`
pub const _5bpcExt: Self = Self(sys::VK_IMAGE_COMPRESSION_FIXED_RATE_5BPC_BIT_EXT.0);
/// `VK_IMAGE_COMPRESSION_FIXED_RATE_6BPC_BIT_EXT` = `1 << 5`
pub const _6bpcExt: Self = Self(sys::VK_IMAGE_COMPRESSION_FIXED_RATE_6BPC_BIT_EXT.0);
/// `VK_IMAGE_COMPRESSION_FIXED_RATE_7BPC_BIT_EXT` = `1 << 6`
pub const _7bpcExt: Self = Self(sys::VK_IMAGE_COMPRESSION_FIXED_RATE_7BPC_BIT_EXT.0);
/// `VK_IMAGE_COMPRESSION_FIXED_RATE_8BPC_BIT_EXT` = `1 << 7`
pub const _8bpcExt: Self = Self(sys::VK_IMAGE_COMPRESSION_FIXED_RATE_8BPC_BIT_EXT.0);
/// `VK_IMAGE_COMPRESSION_FIXED_RATE_9BPC_BIT_EXT` = `1 << 8`
pub const _9bpcExt: Self = Self(sys::VK_IMAGE_COMPRESSION_FIXED_RATE_9BPC_BIT_EXT.0);
/// `VK_IMAGE_COMPRESSION_FIXED_RATE_10BPC_BIT_EXT` = `1 << 9`
pub const _10bpcExt: Self = Self(sys::VK_IMAGE_COMPRESSION_FIXED_RATE_10BPC_BIT_EXT.0);
/// `VK_IMAGE_COMPRESSION_FIXED_RATE_11BPC_BIT_EXT` = `1 << 10`
pub const _11bpcExt: Self = Self(sys::VK_IMAGE_COMPRESSION_FIXED_RATE_11BPC_BIT_EXT.0);
/// `VK_IMAGE_COMPRESSION_FIXED_RATE_12BPC_BIT_EXT` = `1 << 11`
pub const _12bpcExt: Self = Self(sys::VK_IMAGE_COMPRESSION_FIXED_RATE_12BPC_BIT_EXT.0);
/// `VK_IMAGE_COMPRESSION_FIXED_RATE_13BPC_BIT_EXT` = `1 << 12`
pub const _13bpcExt: Self = Self(sys::VK_IMAGE_COMPRESSION_FIXED_RATE_13BPC_BIT_EXT.0);
/// `VK_IMAGE_COMPRESSION_FIXED_RATE_14BPC_BIT_EXT` = `1 << 13`
pub const _14bpcExt: Self = Self(sys::VK_IMAGE_COMPRESSION_FIXED_RATE_14BPC_BIT_EXT.0);
/// `VK_IMAGE_COMPRESSION_FIXED_RATE_15BPC_BIT_EXT` = `1 << 14`
pub const _15bpcExt: Self = Self(sys::VK_IMAGE_COMPRESSION_FIXED_RATE_15BPC_BIT_EXT.0);
/// `VK_IMAGE_COMPRESSION_FIXED_RATE_16BPC_BIT_EXT` = `1 << 15`
pub const _16bpcExt: Self = Self(sys::VK_IMAGE_COMPRESSION_FIXED_RATE_16BPC_BIT_EXT.0);
/// `VK_IMAGE_COMPRESSION_FIXED_RATE_17BPC_BIT_EXT` = `1 << 16`
pub const _17bpcExt: Self = Self(sys::VK_IMAGE_COMPRESSION_FIXED_RATE_17BPC_BIT_EXT.0);
/// `VK_IMAGE_COMPRESSION_FIXED_RATE_18BPC_BIT_EXT` = `1 << 17`
pub const _18bpcExt: Self = Self(sys::VK_IMAGE_COMPRESSION_FIXED_RATE_18BPC_BIT_EXT.0);
/// `VK_IMAGE_COMPRESSION_FIXED_RATE_19BPC_BIT_EXT` = `1 << 18`
pub const _19bpcExt: Self = Self(sys::VK_IMAGE_COMPRESSION_FIXED_RATE_19BPC_BIT_EXT.0);
/// `VK_IMAGE_COMPRESSION_FIXED_RATE_20BPC_BIT_EXT` = `1 << 19`
pub const _20bpcExt: Self = Self(sys::VK_IMAGE_COMPRESSION_FIXED_RATE_20BPC_BIT_EXT.0);
/// `VK_IMAGE_COMPRESSION_FIXED_RATE_21BPC_BIT_EXT` = `1 << 20`
pub const _21bpcExt: Self = Self(sys::VK_IMAGE_COMPRESSION_FIXED_RATE_21BPC_BIT_EXT.0);
/// `VK_IMAGE_COMPRESSION_FIXED_RATE_22BPC_BIT_EXT` = `1 << 21`
pub const _22bpcExt: Self = Self(sys::VK_IMAGE_COMPRESSION_FIXED_RATE_22BPC_BIT_EXT.0);
/// `VK_IMAGE_COMPRESSION_FIXED_RATE_23BPC_BIT_EXT` = `1 << 22`
pub const _23bpcExt: Self = Self(sys::VK_IMAGE_COMPRESSION_FIXED_RATE_23BPC_BIT_EXT.0);
/// `VK_IMAGE_COMPRESSION_FIXED_RATE_24BPC_BIT_EXT` = `1 << 23`
pub const _24bpcExt: Self = Self(sys::VK_IMAGE_COMPRESSION_FIXED_RATE_24BPC_BIT_EXT.0);
}
impl_flags_display!(ImageCompressionFixedRateFlagsEXT = VkImageCompressionFixedRateFlagsEXT { NoneExt, _1bpcExt, _2bpcExt, _3bpcExt, _4bpcExt, _5bpcExt, _6bpcExt, _7bpcExt, _8bpcExt, _9bpcExt, _10bpcExt, _11bpcExt, _12bpcExt, _13bpcExt, _14bpcExt, _15bpcExt, _16bpcExt, _17bpcExt, _18bpcExt, _19bpcExt, _20bpcExt, _21bpcExt, _22bpcExt, _23bpcExt, _24bpcExt });
/// `VkImageCompressionFlagsEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ImageCompressionFlagsEXT(pub i32);
flags!(ImageCompressionFlagsEXT);
from_into_transparent!(ImageCompressionFlagsEXT : i32);
from_by_transmute!(ImageCompressionFlagsEXT => sys::VkImageCompressionFlagsEXT);
from_by_transmute!(sys::VkImageCompressionFlagsEXT => ImageCompressionFlagsEXT);
impl_to_sys!(ImageCompressionFlagsEXT => sys::VkImageCompressionFlagsEXT);
impl_enum!(ImageCompressionFlagsEXT => sys::VkImageCompressionFlagsEXT);
impl ImageCompressionFlagsEXT {
/// `VK_IMAGE_COMPRESSION_DEFAULT_EXT` = `0`
pub const DefaultExt: Self = Self(sys::VK_IMAGE_COMPRESSION_DEFAULT_EXT.0);
/// `VK_IMAGE_COMPRESSION_FIXED_RATE_DEFAULT_EXT` = `1 << 0`
pub const FixedRateDefaultExt: Self = Self(sys::VK_IMAGE_COMPRESSION_FIXED_RATE_DEFAULT_EXT.0);
/// `VK_IMAGE_COMPRESSION_FIXED_RATE_EXPLICIT_EXT` = `1 << 1`
pub const FixedRateExplicitExt: Self = Self(sys::VK_IMAGE_COMPRESSION_FIXED_RATE_EXPLICIT_EXT.0);
/// `VK_IMAGE_COMPRESSION_DISABLED_EXT` = `1 << 2`
pub const DisabledExt: Self = Self(sys::VK_IMAGE_COMPRESSION_DISABLED_EXT.0);
}
impl_flags_display!(ImageCompressionFlagsEXT = VkImageCompressionFlagsEXT { DefaultExt, FixedRateDefaultExt, FixedRateExplicitExt, DisabledExt });
/// `VkImageConstraintsInfoFlagsFUCHSIA`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ImageConstraintsInfoFlagsFUCHSIA(pub i32);
flags!(ImageConstraintsInfoFlagsFUCHSIA);
from_into_transparent!(ImageConstraintsInfoFlagsFUCHSIA : i32);
from_by_transmute!(ImageConstraintsInfoFlagsFUCHSIA => sys::VkImageConstraintsInfoFlagsFUCHSIA);
from_by_transmute!(sys::VkImageConstraintsInfoFlagsFUCHSIA => ImageConstraintsInfoFlagsFUCHSIA);
impl_to_sys!(ImageConstraintsInfoFlagsFUCHSIA => sys::VkImageConstraintsInfoFlagsFUCHSIA);
impl_enum!(ImageConstraintsInfoFlagsFUCHSIA => sys::VkImageConstraintsInfoFlagsFUCHSIA);
impl ImageConstraintsInfoFlagsFUCHSIA {
/// `VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_RARELY_FUCHSIA` = `1 << 0`
pub const CpuReadRarelyFuchsia: Self = Self(sys::VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_RARELY_FUCHSIA.0);
/// `VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_OFTEN_FUCHSIA` = `1 << 1`
pub const CpuReadOftenFuchsia: Self = Self(sys::VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_OFTEN_FUCHSIA.0);
/// `VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIA` = `1 << 2`
pub const CpuWriteRarelyFuchsia: Self = Self(sys::VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIA.0);
/// `VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIA` = `1 << 3`
pub const CpuWriteOftenFuchsia: Self = Self(sys::VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIA.0);
/// `VK_IMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIA` = `1 << 4`
pub const ProtectedOptionalFuchsia: Self = Self(sys::VK_IMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIA.0);
}
impl_flags_display!(ImageConstraintsInfoFlagsFUCHSIA = VkImageConstraintsInfoFlagsFUCHSIA { CpuReadRarelyFuchsia, CpuReadOftenFuchsia, CpuWriteRarelyFuchsia, CpuWriteOftenFuchsia, ProtectedOptionalFuchsia });
/// `VkImageCreateFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ImageCreateFlags(pub i32);
flags!(ImageCreateFlags);
from_into_transparent!(ImageCreateFlags : i32);
from_by_transmute!(ImageCreateFlags => sys::VkImageCreateFlags);
from_by_transmute!(sys::VkImageCreateFlags => ImageCreateFlags);
impl_to_sys!(ImageCreateFlags => sys::VkImageCreateFlags);
impl_enum!(ImageCreateFlags => sys::VkImageCreateFlags);
impl ImageCreateFlags {
/// `VK_IMAGE_CREATE_SPARSE_BINDING_BIT` = `1 << 0`
///
/// Image should support sparse backing
pub const SparseBinding: Self = Self(sys::VK_IMAGE_CREATE_SPARSE_BINDING_BIT.0);
/// `VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT` = `1 << 1`
///
/// Image should support sparse backing with partial residency
pub const SparseResidency: Self = Self(sys::VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT.0);
/// `VK_IMAGE_CREATE_SPARSE_ALIASED_BIT` = `1 << 2`
///
/// Image should support constant data access to physical memory ranges mapped into multiple locations of sparse images
pub const SparseAliased: Self = Self(sys::VK_IMAGE_CREATE_SPARSE_ALIASED_BIT.0);
/// `VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT` = `1 << 3`
///
/// Allows image views to have different format than the base image
pub const MutableFormat: Self = Self(sys::VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT.0);
/// `VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT` = `1 << 4`
///
/// Allows creating image views with cube type from the created image
pub const CubeCompatible: Self = Self(sys::VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT.0);
/// `VK_IMAGE_CREATE_ALIAS_BIT` = `1 << 10`
pub const Alias: Self = Self(sys::VK_IMAGE_CREATE_ALIAS_BIT.0);
/// `VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT` = `1 << 6`
///
/// Allows using VkBindImageMemoryDeviceGroupInfo::pSplitInstanceBindRegions when binding memory to the image
pub const SplitInstanceBindRegions: Self = Self(sys::VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT.0);
/// `VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT` = `1 << 5`
///
/// The 3D image can be viewed as a 2D or 2D array image
pub const _2dArrayCompatible: Self = Self(sys::VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT.0);
/// `VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT` = `1 << 7`
pub const BlockTexelViewCompatible: Self = Self(sys::VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT.0);
/// `VK_IMAGE_CREATE_EXTENDED_USAGE_BIT` = `1 << 8`
pub const ExtendedUsage: Self = Self(sys::VK_IMAGE_CREATE_EXTENDED_USAGE_BIT.0);
/// `VK_IMAGE_CREATE_PROTECTED_BIT` = `1 << 11`
///
/// Image requires protected memory
pub const Protected: Self = Self(sys::VK_IMAGE_CREATE_PROTECTED_BIT.0);
/// `VK_IMAGE_CREATE_DISJOINT_BIT` = `1 << 9`
pub const Disjoint: Self = Self(sys::VK_IMAGE_CREATE_DISJOINT_BIT.0);
/// `VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV` = `1 << 13`
pub const CornerSampledNv: Self = Self(sys::VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV.0);
/// `VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR` = `VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT`
pub const SplitInstanceBindRegionsKhr: Self = Self(sys::VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR.0);
/// `VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR` = `VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT`
pub const _2dArrayCompatibleKhr: Self = Self(sys::VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR.0);
/// `VK_IMAGE_CREATE_RESERVED_21_BIT_IMG` = `1 << 21`
pub const Reserved21Img: Self = Self(sys::VK_IMAGE_CREATE_RESERVED_21_BIT_IMG.0);
/// `VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR` = `VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT`
pub const BlockTexelViewCompatibleKhr: Self = Self(sys::VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR.0);
/// `VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR` = `VK_IMAGE_CREATE_EXTENDED_USAGE_BIT`
pub const ExtendedUsageKhr: Self = Self(sys::VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR.0);
/// `VK_IMAGE_CREATE_DESCRIPTOR_HEAP_CAPTURE_REPLAY_BIT_EXT` = `1 << 16`
pub const DescriptorHeapCaptureReplayExt: Self = Self(sys::VK_IMAGE_CREATE_DESCRIPTOR_HEAP_CAPTURE_REPLAY_BIT_EXT.0);
/// `VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT` = `1 << 12`
pub const SampleLocationsCompatibleDepthExt: Self = Self(sys::VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT.0);
/// `VK_IMAGE_CREATE_DISJOINT_BIT_KHR` = `VK_IMAGE_CREATE_DISJOINT_BIT`
pub const DisjointKhr: Self = Self(sys::VK_IMAGE_CREATE_DISJOINT_BIT_KHR.0);
/// `VK_IMAGE_CREATE_ALIAS_BIT_KHR` = `VK_IMAGE_CREATE_ALIAS_BIT`
pub const AliasKhr: Self = Self(sys::VK_IMAGE_CREATE_ALIAS_BIT_KHR.0);
/// `VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT` = `1 << 14`
pub const SubsampledExt: Self = Self(sys::VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT.0);
/// `VK_IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT` = `VK_IMAGE_CREATE_DESCRIPTOR_HEAP_CAPTURE_REPLAY_BIT_EXT`
pub const DescriptorBufferCaptureReplayExt: Self = Self(sys::VK_IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT.0);
/// `VK_IMAGE_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT` = `1 << 18`
pub const MultisampledRenderToSingleSampledExt: Self = Self(sys::VK_IMAGE_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT.0);
/// `VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT` = `1 << 17`
///
/// Image is created with a layout where individual slices are capable of being used as 2D images
pub const _2dViewCompatibleExt: Self = Self(sys::VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT.0);
/// `VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM` = `VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_EXT`
pub const FragmentDensityMapOffsetQcom: Self = Self(sys::VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM.0);
/// `VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR` = `1 << 20`
pub const VideoProfileIndependentKhr: Self = Self(sys::VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR.0);
/// `VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_EXT` = `1 << 15`
pub const FragmentDensityMapOffsetExt: Self = Self(sys::VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_EXT.0);
/// `VK_IMAGE_CREATE_RESERVED_22_BIT_KHR` = `1 << 22`
pub const Reserved22Khr: Self = Self(sys::VK_IMAGE_CREATE_RESERVED_22_BIT_KHR.0);
}
impl_flags_display!(ImageCreateFlags = VkImageCreateFlags { SparseBinding, SparseResidency, SparseAliased, MutableFormat, CubeCompatible, Alias, SplitInstanceBindRegions, _2dArrayCompatible, BlockTexelViewCompatible, ExtendedUsage, Protected, Disjoint, CornerSampledNv, SplitInstanceBindRegionsKhr, _2dArrayCompatibleKhr, Reserved21Img, BlockTexelViewCompatibleKhr, ExtendedUsageKhr, DescriptorHeapCaptureReplayExt, SampleLocationsCompatibleDepthExt, DisjointKhr, AliasKhr, SubsampledExt, DescriptorBufferCaptureReplayExt, MultisampledRenderToSingleSampledExt, _2dViewCompatibleExt, FragmentDensityMapOffsetQcom, VideoProfileIndependentKhr, FragmentDensityMapOffsetExt, Reserved22Khr });
/// `VkImageFormatConstraintsFlagsFUCHSIA`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ImageFormatConstraintsFlagsFUCHSIA(pub i32);
flags!(ImageFormatConstraintsFlagsFUCHSIA);
from_into_transparent!(ImageFormatConstraintsFlagsFUCHSIA : i32);
from_by_transmute!(ImageFormatConstraintsFlagsFUCHSIA => sys::VkImageFormatConstraintsFlagsFUCHSIA);
from_by_transmute!(sys::VkImageFormatConstraintsFlagsFUCHSIA => ImageFormatConstraintsFlagsFUCHSIA);
impl_to_sys!(ImageFormatConstraintsFlagsFUCHSIA => sys::VkImageFormatConstraintsFlagsFUCHSIA);
impl_enum!(ImageFormatConstraintsFlagsFUCHSIA => sys::VkImageFormatConstraintsFlagsFUCHSIA);
impl_flags_display!(ImageFormatConstraintsFlagsFUCHSIA = VkImageFormatConstraintsFlagsFUCHSIA { });
/// `VkImageLayout`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ImageLayout(pub i32);
from_into_transparent!(ImageLayout : i32);
from_by_transmute!(ImageLayout => sys::VkImageLayout);
from_by_transmute!(sys::VkImageLayout => ImageLayout);
impl_to_sys!(ImageLayout => sys::VkImageLayout);
impl_enum!(ImageLayout => sys::VkImageLayout);
impl ImageLayout {
/// `VK_IMAGE_LAYOUT_UNDEFINED` = `0`
///
/// Implicit layout an image is when its contents are undefined due to various reasons (e.g. right after creation)
pub const Undefined: Self = Self(sys::VK_IMAGE_LAYOUT_UNDEFINED.0);
/// `VK_IMAGE_LAYOUT_GENERAL` = `1`
///
/// General layout when image can be used for any kind of access
pub const General: Self = Self(sys::VK_IMAGE_LAYOUT_GENERAL.0);
/// `VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL` = `2`
///
/// Optimal layout when image is only used for color attachment read/write
pub const ColorAttachmentOptimal: Self = Self(sys::VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL.0);
/// `VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL` = `3`
///
/// Optimal layout when image is only used for depth/stencil attachment read/write
pub const DepthStencilAttachmentOptimal: Self = Self(sys::VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL.0);
/// `VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL` = `4`
///
/// Optimal layout when image is used for read only depth/stencil attachment and shader access
pub const DepthStencilReadOnlyOptimal: Self = Self(sys::VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL.0);
/// `VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL` = `5`
///
/// Optimal layout when image is used for read only shader access
pub const ShaderReadOnlyOptimal: Self = Self(sys::VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL.0);
/// `VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL` = `6`
///
/// Optimal layout when image is used only as source of transfer operations
pub const TransferSrcOptimal: Self = Self(sys::VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL.0);
/// `VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL` = `7`
///
/// Optimal layout when image is used only as destination of transfer operations
pub const TransferDstOptimal: Self = Self(sys::VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL.0);
/// `VK_IMAGE_LAYOUT_PREINITIALIZED` = `8`
///
/// Initial layout used when the data is populated by the CPU
pub const Preinitialized: Self = Self(sys::VK_IMAGE_LAYOUT_PREINITIALIZED.0);
/// `VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL` = `1000117000`
pub const DepthReadOnlyStencilAttachmentOptimal: Self = Self(sys::VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL.0);
/// `VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL` = `1000117001`
pub const DepthAttachmentStencilReadOnlyOptimal: Self = Self(sys::VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL.0);
/// `VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL` = `1000241000`
pub const DepthAttachmentOptimal: Self = Self(sys::VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL.0);
/// `VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL` = `1000241001`
pub const DepthReadOnlyOptimal: Self = Self(sys::VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL.0);
/// `VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL` = `1000241002`
pub const StencilAttachmentOptimal: Self = Self(sys::VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL.0);
/// `VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL` = `1000241003`
pub const StencilReadOnlyOptimal: Self = Self(sys::VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL.0);
/// `VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL` = `1000314000`
pub const ReadOnlyOptimal: Self = Self(sys::VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL.0);
/// `VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL` = `1000314001`
pub const AttachmentOptimal: Self = Self(sys::VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL.0);
/// `VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ` = `1000232000`
pub const RenderingLocalRead: Self = Self(sys::VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ.0);
/// `VK_IMAGE_LAYOUT_PRESENT_SRC_KHR` = `1000001002`
pub const PresentSrcKhr: Self = Self(sys::VK_IMAGE_LAYOUT_PRESENT_SRC_KHR.0);
/// `VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR` = `1000024000`
pub const VideoDecodeDstKhr: Self = Self(sys::VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR.0);
/// `VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR` = `1000024001`
pub const VideoDecodeSrcKhr: Self = Self(sys::VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR.0);
/// `VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR` = `1000024002`
pub const VideoDecodeDpbKhr: Self = Self(sys::VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR.0);
/// `VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR` = `1000111000`
pub const SharedPresentKhr: Self = Self(sys::VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR.0);
/// `VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR` = `VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL`
pub const DepthReadOnlyStencilAttachmentOptimalKhr: Self = Self(sys::VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR.0);
/// `VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR` = `VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL`
pub const DepthAttachmentStencilReadOnlyOptimalKhr: Self = Self(sys::VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR.0);
/// `VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV` = `VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR`
pub const ShadingRateOptimalNv: Self = Self(sys::VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV.0);
/// `VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT` = `1000218000`
pub const FragmentDensityMapOptimalExt: Self = Self(sys::VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT.0);
/// `VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR` = `1000164003`
pub const FragmentShadingRateAttachmentOptimalKhr: Self = Self(sys::VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR.0);
/// `VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR` = `VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ`
pub const RenderingLocalReadKhr: Self = Self(sys::VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR.0);
/// `VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR` = `VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL`
pub const DepthAttachmentOptimalKhr: Self = Self(sys::VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR.0);
/// `VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR` = `VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL`
pub const DepthReadOnlyOptimalKhr: Self = Self(sys::VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR.0);
/// `VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR` = `VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL`
pub const StencilAttachmentOptimalKhr: Self = Self(sys::VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR.0);
/// `VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR` = `VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL`
pub const StencilReadOnlyOptimalKhr: Self = Self(sys::VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR.0);
/// `VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR` = `1000299000`
pub const VideoEncodeDstKhr: Self = Self(sys::VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR.0);
/// `VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR` = `1000299001`
pub const VideoEncodeSrcKhr: Self = Self(sys::VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR.0);
/// `VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR` = `1000299002`
pub const VideoEncodeDpbKhr: Self = Self(sys::VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR.0);
/// `VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR` = `VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL`
pub const ReadOnlyOptimalKhr: Self = Self(sys::VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR.0);
/// `VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR` = `VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL`
pub const AttachmentOptimalKhr: Self = Self(sys::VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR.0);
/// `VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT` = `1000339000`
pub const AttachmentFeedbackLoopOptimalExt: Self = Self(sys::VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT.0);
/// `VK_IMAGE_LAYOUT_TENSOR_ALIASING_ARM` = `1000460000`
pub const TensorAliasingArm: Self = Self(sys::VK_IMAGE_LAYOUT_TENSOR_ALIASING_ARM.0);
/// `VK_IMAGE_LAYOUT_VIDEO_ENCODE_QUANTIZATION_MAP_KHR` = `1000553000`
pub const VideoEncodeQuantizationMapKhr: Self = Self(sys::VK_IMAGE_LAYOUT_VIDEO_ENCODE_QUANTIZATION_MAP_KHR.0);
/// `VK_IMAGE_LAYOUT_ZERO_INITIALIZED_EXT` = `1000620000`
pub const ZeroInitializedExt: Self = Self(sys::VK_IMAGE_LAYOUT_ZERO_INITIALIZED_EXT.0);
}
impl_enum_display!(ImageLayout = VkImageLayout { Undefined, General, ColorAttachmentOptimal, DepthStencilAttachmentOptimal, DepthStencilReadOnlyOptimal, ShaderReadOnlyOptimal, TransferSrcOptimal, TransferDstOptimal, Preinitialized, DepthReadOnlyStencilAttachmentOptimal, DepthAttachmentStencilReadOnlyOptimal, DepthAttachmentOptimal, DepthReadOnlyOptimal, StencilAttachmentOptimal, StencilReadOnlyOptimal, ReadOnlyOptimal, AttachmentOptimal, RenderingLocalRead, PresentSrcKhr, VideoDecodeDstKhr, VideoDecodeSrcKhr, VideoDecodeDpbKhr, SharedPresentKhr, DepthReadOnlyStencilAttachmentOptimalKhr, DepthAttachmentStencilReadOnlyOptimalKhr, ShadingRateOptimalNv, FragmentDensityMapOptimalExt, FragmentShadingRateAttachmentOptimalKhr, RenderingLocalReadKhr, DepthAttachmentOptimalKhr, DepthReadOnlyOptimalKhr, StencilAttachmentOptimalKhr, StencilReadOnlyOptimalKhr, VideoEncodeDstKhr, VideoEncodeSrcKhr, VideoEncodeDpbKhr, ReadOnlyOptimalKhr, AttachmentOptimalKhr, AttachmentFeedbackLoopOptimalExt, TensorAliasingArm, VideoEncodeQuantizationMapKhr, ZeroInitializedExt });
/// `VkImagePipeSurfaceCreateFlagsFUCHSIA`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ImagePipeSurfaceCreateFlagsFUCHSIA(pub i32);
flags!(ImagePipeSurfaceCreateFlagsFUCHSIA);
from_into_transparent!(ImagePipeSurfaceCreateFlagsFUCHSIA : i32);
from_by_transmute!(ImagePipeSurfaceCreateFlagsFUCHSIA => sys::VkImagePipeSurfaceCreateFlagsFUCHSIA);
from_by_transmute!(sys::VkImagePipeSurfaceCreateFlagsFUCHSIA => ImagePipeSurfaceCreateFlagsFUCHSIA);
impl_to_sys!(ImagePipeSurfaceCreateFlagsFUCHSIA => sys::VkImagePipeSurfaceCreateFlagsFUCHSIA);
impl_enum!(ImagePipeSurfaceCreateFlagsFUCHSIA => sys::VkImagePipeSurfaceCreateFlagsFUCHSIA);
impl_flags_display!(ImagePipeSurfaceCreateFlagsFUCHSIA = VkImagePipeSurfaceCreateFlagsFUCHSIA { });
/// `VkImageTiling`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ImageTiling(pub i32);
from_into_transparent!(ImageTiling : i32);
from_by_transmute!(ImageTiling => sys::VkImageTiling);
from_by_transmute!(sys::VkImageTiling => ImageTiling);
impl_to_sys!(ImageTiling => sys::VkImageTiling);
impl_enum!(ImageTiling => sys::VkImageTiling);
impl ImageTiling {
/// `VK_IMAGE_TILING_OPTIMAL` = `0`
pub const Optimal: Self = Self(sys::VK_IMAGE_TILING_OPTIMAL.0);
/// `VK_IMAGE_TILING_LINEAR` = `1`
pub const Linear: Self = Self(sys::VK_IMAGE_TILING_LINEAR.0);
/// `VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT` = `1000158000`
pub const DrmFormatModifierExt: Self = Self(sys::VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT.0);
}
impl_enum_display!(ImageTiling = VkImageTiling { Optimal, Linear, DrmFormatModifierExt });
/// `VkImageType`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ImageType(pub i32);
from_into_transparent!(ImageType : i32);
from_by_transmute!(ImageType => sys::VkImageType);
from_by_transmute!(sys::VkImageType => ImageType);
impl_to_sys!(ImageType => sys::VkImageType);
impl_enum!(ImageType => sys::VkImageType);
impl ImageType {
/// `VK_IMAGE_TYPE_1D` = `0`
pub const _1d: Self = Self(sys::VK_IMAGE_TYPE_1D.0);
/// `VK_IMAGE_TYPE_2D` = `1`
pub const _2d: Self = Self(sys::VK_IMAGE_TYPE_2D.0);
/// `VK_IMAGE_TYPE_3D` = `2`
pub const _3d: Self = Self(sys::VK_IMAGE_TYPE_3D.0);
}
impl_enum_display!(ImageType = VkImageType { _1d, _2d, _3d });
/// `VkImageUsageFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ImageUsageFlags(pub i32);
flags!(ImageUsageFlags);
from_into_transparent!(ImageUsageFlags : i32);
from_by_transmute!(ImageUsageFlags => sys::VkImageUsageFlags);
from_by_transmute!(sys::VkImageUsageFlags => ImageUsageFlags);
impl_to_sys!(ImageUsageFlags => sys::VkImageUsageFlags);
impl_enum!(ImageUsageFlags => sys::VkImageUsageFlags);
impl ImageUsageFlags {
/// `VK_IMAGE_USAGE_TRANSFER_SRC_BIT` = `1 << 0`
///
/// Can be used as a source of transfer operations
pub const TransferSrc: Self = Self(sys::VK_IMAGE_USAGE_TRANSFER_SRC_BIT.0);
/// `VK_IMAGE_USAGE_TRANSFER_DST_BIT` = `1 << 1`
///
/// Can be used as a destination of transfer operations
pub const TransferDst: Self = Self(sys::VK_IMAGE_USAGE_TRANSFER_DST_BIT.0);
/// `VK_IMAGE_USAGE_SAMPLED_BIT` = `1 << 2`
///
/// Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER descriptor types)
pub const Sampled: Self = Self(sys::VK_IMAGE_USAGE_SAMPLED_BIT.0);
/// `VK_IMAGE_USAGE_STORAGE_BIT` = `1 << 3`
///
/// Can be used as storage image (STORAGE_IMAGE descriptor type)
pub const Storage: Self = Self(sys::VK_IMAGE_USAGE_STORAGE_BIT.0);
/// `VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT` = `1 << 4`
///
/// Can be used as framebuffer color attachment
pub const ColorAttachment: Self = Self(sys::VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT.0);
/// `VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT` = `1 << 5`
///
/// Can be used as framebuffer depth/stencil attachment
pub const DepthStencilAttachment: Self = Self(sys::VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT.0);
/// `VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT` = `1 << 6`
///
/// Image data not needed outside of rendering
pub const TransientAttachment: Self = Self(sys::VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT.0);
/// `VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT` = `1 << 7`
///
/// Can be used as framebuffer input attachment
pub const InputAttachment: Self = Self(sys::VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT.0);
/// `VK_IMAGE_USAGE_HOST_TRANSFER_BIT` = `1 << 22`
pub const HostTransfer: Self = Self(sys::VK_IMAGE_USAGE_HOST_TRANSFER_BIT.0);
/// `VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR` = `1 << 10`
pub const VideoDecodeDstKhr: Self = Self(sys::VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR.0);
/// `VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR` = `1 << 11`
pub const VideoDecodeSrcKhr: Self = Self(sys::VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR.0);
/// `VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR` = `1 << 12`
pub const VideoDecodeDpbKhr: Self = Self(sys::VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR.0);
/// `VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV` = `VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR`
pub const ShadingRateImageNv: Self = Self(sys::VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV.0);
/// `VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT` = `1 << 9`
pub const FragmentDensityMapExt: Self = Self(sys::VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT.0);
/// `VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR` = `1 << 8`
pub const FragmentShadingRateAttachmentKhr: Self = Self(sys::VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR.0);
/// `VK_IMAGE_USAGE_HOST_TRANSFER_BIT_EXT` = `VK_IMAGE_USAGE_HOST_TRANSFER_BIT`
///
/// Can be used with host image copies
pub const HostTransferExt: Self = Self(sys::VK_IMAGE_USAGE_HOST_TRANSFER_BIT_EXT.0);
/// `VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR` = `1 << 13`
pub const VideoEncodeDstKhr: Self = Self(sys::VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR.0);
/// `VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR` = `1 << 14`
pub const VideoEncodeSrcKhr: Self = Self(sys::VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR.0);
/// `VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR` = `1 << 15`
pub const VideoEncodeDpbKhr: Self = Self(sys::VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR.0);
/// `VK_IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT` = `1 << 19`
pub const AttachmentFeedbackLoopExt: Self = Self(sys::VK_IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT.0);
/// `VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI` = `1 << 18`
pub const InvocationMaskHuawei: Self = Self(sys::VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI.0);
/// `VK_IMAGE_USAGE_SAMPLE_WEIGHT_BIT_QCOM` = `1 << 20`
pub const SampleWeightQcom: Self = Self(sys::VK_IMAGE_USAGE_SAMPLE_WEIGHT_BIT_QCOM.0);
/// `VK_IMAGE_USAGE_SAMPLE_BLOCK_MATCH_BIT_QCOM` = `1 << 21`
pub const SampleBlockMatchQcom: Self = Self(sys::VK_IMAGE_USAGE_SAMPLE_BLOCK_MATCH_BIT_QCOM.0);
/// `VK_IMAGE_USAGE_RESERVED_24_BIT_COREAVI` = `1 << 24`
pub const Reserved24Coreavi: Self = Self(sys::VK_IMAGE_USAGE_RESERVED_24_BIT_COREAVI.0);
/// `VK_IMAGE_USAGE_TENSOR_ALIASING_BIT_ARM` = `1 << 23`
pub const TensorAliasingArm: Self = Self(sys::VK_IMAGE_USAGE_TENSOR_ALIASING_BIT_ARM.0);
/// `VK_IMAGE_USAGE_RESERVED_28_BIT_EXT` = `1 << 28`
pub const Reserved28Ext: Self = Self(sys::VK_IMAGE_USAGE_RESERVED_28_BIT_EXT.0);
/// `VK_IMAGE_USAGE_TILE_MEMORY_BIT_QCOM` = `1 << 27`
pub const TileMemoryQcom: Self = Self(sys::VK_IMAGE_USAGE_TILE_MEMORY_BIT_QCOM.0);
/// `VK_IMAGE_USAGE_VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR` = `1 << 25`
pub const VideoEncodeQuantizationDeltaMapKhr: Self = Self(sys::VK_IMAGE_USAGE_VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR.0);
/// `VK_IMAGE_USAGE_VIDEO_ENCODE_EMPHASIS_MAP_BIT_KHR` = `1 << 26`
pub const VideoEncodeEmphasisMapKhr: Self = Self(sys::VK_IMAGE_USAGE_VIDEO_ENCODE_EMPHASIS_MAP_BIT_KHR.0);
/// `VK_IMAGE_USAGE_RESERVED_29_BIT_KHR` = `1 << 29`
pub const Reserved29Khr: Self = Self(sys::VK_IMAGE_USAGE_RESERVED_29_BIT_KHR.0);
/// `VK_IMAGE_USAGE_RESERVED_30_BIT_KHR` = `1 << 30`
pub const Reserved30Khr: Self = Self(sys::VK_IMAGE_USAGE_RESERVED_30_BIT_KHR.0);
/// `VK_IMAGE_USAGE_RESERVED_16_BIT_HUAWEI` = `1 << 16`
pub const Reserved16Huawei: Self = Self(sys::VK_IMAGE_USAGE_RESERVED_16_BIT_HUAWEI.0);
/// `VK_IMAGE_USAGE_RESERVED_27_BIT_HUAWEI` = `1 << 17`
pub const Reserved27Huawei: Self = Self(sys::VK_IMAGE_USAGE_RESERVED_27_BIT_HUAWEI.0);
}
impl_flags_display!(ImageUsageFlags = VkImageUsageFlags { TransferSrc, TransferDst, Sampled, Storage, ColorAttachment, DepthStencilAttachment, TransientAttachment, InputAttachment, HostTransfer, VideoDecodeDstKhr, VideoDecodeSrcKhr, VideoDecodeDpbKhr, ShadingRateImageNv, FragmentDensityMapExt, FragmentShadingRateAttachmentKhr, HostTransferExt, VideoEncodeDstKhr, VideoEncodeSrcKhr, VideoEncodeDpbKhr, AttachmentFeedbackLoopExt, InvocationMaskHuawei, SampleWeightQcom, SampleBlockMatchQcom, Reserved24Coreavi, TensorAliasingArm, Reserved28Ext, TileMemoryQcom, VideoEncodeQuantizationDeltaMapKhr, VideoEncodeEmphasisMapKhr, Reserved29Khr, Reserved30Khr, Reserved16Huawei, Reserved27Huawei });
/// `VkImageViewCreateFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ImageViewCreateFlags(pub i32);
flags!(ImageViewCreateFlags);
from_into_transparent!(ImageViewCreateFlags : i32);
from_by_transmute!(ImageViewCreateFlags => sys::VkImageViewCreateFlags);
from_by_transmute!(sys::VkImageViewCreateFlags => ImageViewCreateFlags);
impl_to_sys!(ImageViewCreateFlags => sys::VkImageViewCreateFlags);
impl_enum!(ImageViewCreateFlags => sys::VkImageViewCreateFlags);
impl ImageViewCreateFlags {
/// `VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT` = `1 << 0`
pub const FragmentDensityMapDynamicExt: Self = Self(sys::VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT.0);
/// `VK_IMAGE_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT` = `1 << 2`
pub const DescriptorBufferCaptureReplayExt: Self = Self(sys::VK_IMAGE_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT.0);
/// `VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT` = `1 << 1`
pub const FragmentDensityMapDeferredExt: Self = Self(sys::VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT.0);
}
impl_flags_display!(ImageViewCreateFlags = VkImageViewCreateFlags { FragmentDensityMapDynamicExt, DescriptorBufferCaptureReplayExt, FragmentDensityMapDeferredExt });
/// `VkImageViewType`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ImageViewType(pub i32);
from_into_transparent!(ImageViewType : i32);
from_by_transmute!(ImageViewType => sys::VkImageViewType);
from_by_transmute!(sys::VkImageViewType => ImageViewType);
impl_to_sys!(ImageViewType => sys::VkImageViewType);
impl_enum!(ImageViewType => sys::VkImageViewType);
impl ImageViewType {
/// `VK_IMAGE_VIEW_TYPE_1D` = `0`
pub const _1d: Self = Self(sys::VK_IMAGE_VIEW_TYPE_1D.0);
/// `VK_IMAGE_VIEW_TYPE_2D` = `1`
pub const _2d: Self = Self(sys::VK_IMAGE_VIEW_TYPE_2D.0);
/// `VK_IMAGE_VIEW_TYPE_3D` = `2`
pub const _3d: Self = Self(sys::VK_IMAGE_VIEW_TYPE_3D.0);
/// `VK_IMAGE_VIEW_TYPE_CUBE` = `3`
pub const Cube: Self = Self(sys::VK_IMAGE_VIEW_TYPE_CUBE.0);
/// `VK_IMAGE_VIEW_TYPE_1D_ARRAY` = `4`
pub const _1dArray: Self = Self(sys::VK_IMAGE_VIEW_TYPE_1D_ARRAY.0);
/// `VK_IMAGE_VIEW_TYPE_2D_ARRAY` = `5`
pub const _2dArray: Self = Self(sys::VK_IMAGE_VIEW_TYPE_2D_ARRAY.0);
/// `VK_IMAGE_VIEW_TYPE_CUBE_ARRAY` = `6`
pub const CubeArray: Self = Self(sys::VK_IMAGE_VIEW_TYPE_CUBE_ARRAY.0);
}
impl_enum_display!(ImageViewType = VkImageViewType { _1d, _2d, _3d, Cube, _1dArray, _2dArray, CubeArray });
/// `VkIndexType`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct IndexType(pub i32);
from_into_transparent!(IndexType : i32);
from_by_transmute!(IndexType => sys::VkIndexType);
from_by_transmute!(sys::VkIndexType => IndexType);
impl_to_sys!(IndexType => sys::VkIndexType);
impl_enum!(IndexType => sys::VkIndexType);
impl IndexType {
/// `VK_INDEX_TYPE_UINT16` = `0`
pub const Uint16: Self = Self(sys::VK_INDEX_TYPE_UINT16.0);
/// `VK_INDEX_TYPE_UINT32` = `1`
pub const Uint32: Self = Self(sys::VK_INDEX_TYPE_UINT32.0);
/// `VK_INDEX_TYPE_UINT8` = `1000265000`
pub const Uint8: Self = Self(sys::VK_INDEX_TYPE_UINT8.0);
/// `VK_INDEX_TYPE_NONE_KHR` = `1000165000`
pub const NoneKhr: Self = Self(sys::VK_INDEX_TYPE_NONE_KHR.0);
/// `VK_INDEX_TYPE_NONE_NV` = `VK_INDEX_TYPE_NONE_KHR`
pub const NoneNv: Self = Self(sys::VK_INDEX_TYPE_NONE_NV.0);
/// `VK_INDEX_TYPE_UINT8_EXT` = `VK_INDEX_TYPE_UINT8`
pub const Uint8Ext: Self = Self(sys::VK_INDEX_TYPE_UINT8_EXT.0);
/// `VK_INDEX_TYPE_UINT8_KHR` = `VK_INDEX_TYPE_UINT8`
pub const Uint8Khr: Self = Self(sys::VK_INDEX_TYPE_UINT8_KHR.0);
}
impl_enum_display!(IndexType = VkIndexType { Uint16, Uint32, Uint8, NoneKhr, NoneNv, Uint8Ext, Uint8Khr });
/// `VkIndirectCommandsInputModeFlagsEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct IndirectCommandsInputModeFlagsEXT(pub i32);
flags!(IndirectCommandsInputModeFlagsEXT);
from_into_transparent!(IndirectCommandsInputModeFlagsEXT : i32);
from_by_transmute!(IndirectCommandsInputModeFlagsEXT => sys::VkIndirectCommandsInputModeFlagsEXT);
from_by_transmute!(sys::VkIndirectCommandsInputModeFlagsEXT => IndirectCommandsInputModeFlagsEXT);
impl_to_sys!(IndirectCommandsInputModeFlagsEXT => sys::VkIndirectCommandsInputModeFlagsEXT);
impl_enum!(IndirectCommandsInputModeFlagsEXT => sys::VkIndirectCommandsInputModeFlagsEXT);
impl IndirectCommandsInputModeFlagsEXT {
/// `VK_INDIRECT_COMMANDS_INPUT_MODE_VULKAN_INDEX_BUFFER_EXT` = `1 << 0`
pub const VulkanIndexBufferExt: Self = Self(sys::VK_INDIRECT_COMMANDS_INPUT_MODE_VULKAN_INDEX_BUFFER_EXT.0);
/// `VK_INDIRECT_COMMANDS_INPUT_MODE_DXGI_INDEX_BUFFER_EXT` = `1 << 1`
pub const DxgiIndexBufferExt: Self = Self(sys::VK_INDIRECT_COMMANDS_INPUT_MODE_DXGI_INDEX_BUFFER_EXT.0);
}
impl_flags_display!(IndirectCommandsInputModeFlagsEXT = VkIndirectCommandsInputModeFlagsEXT { VulkanIndexBufferExt, DxgiIndexBufferExt });
/// `VkIndirectCommandsLayoutUsageFlagsEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct IndirectCommandsLayoutUsageFlagsEXT(pub i32);
flags!(IndirectCommandsLayoutUsageFlagsEXT);
from_into_transparent!(IndirectCommandsLayoutUsageFlagsEXT : i32);
from_by_transmute!(IndirectCommandsLayoutUsageFlagsEXT => sys::VkIndirectCommandsLayoutUsageFlagsEXT);
from_by_transmute!(sys::VkIndirectCommandsLayoutUsageFlagsEXT => IndirectCommandsLayoutUsageFlagsEXT);
impl_to_sys!(IndirectCommandsLayoutUsageFlagsEXT => sys::VkIndirectCommandsLayoutUsageFlagsEXT);
impl_enum!(IndirectCommandsLayoutUsageFlagsEXT => sys::VkIndirectCommandsLayoutUsageFlagsEXT);
impl IndirectCommandsLayoutUsageFlagsEXT {
/// `VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_EXT` = `1 << 0`
pub const ExplicitPreprocessExt: Self = Self(sys::VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_EXT.0);
/// `VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_EXT` = `1 << 1`
pub const UnorderedSequencesExt: Self = Self(sys::VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_EXT.0);
}
impl_flags_display!(IndirectCommandsLayoutUsageFlagsEXT = VkIndirectCommandsLayoutUsageFlagsEXT { ExplicitPreprocessExt, UnorderedSequencesExt });
/// `VkIndirectCommandsLayoutUsageFlagsNV`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct IndirectCommandsLayoutUsageFlagsNV(pub i32);
flags!(IndirectCommandsLayoutUsageFlagsNV);
from_into_transparent!(IndirectCommandsLayoutUsageFlagsNV : i32);
from_by_transmute!(IndirectCommandsLayoutUsageFlagsNV => sys::VkIndirectCommandsLayoutUsageFlagsNV);
from_by_transmute!(sys::VkIndirectCommandsLayoutUsageFlagsNV => IndirectCommandsLayoutUsageFlagsNV);
impl_to_sys!(IndirectCommandsLayoutUsageFlagsNV => sys::VkIndirectCommandsLayoutUsageFlagsNV);
impl_enum!(IndirectCommandsLayoutUsageFlagsNV => sys::VkIndirectCommandsLayoutUsageFlagsNV);
impl IndirectCommandsLayoutUsageFlagsNV {
/// `VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV` = `1 << 0`
pub const ExplicitPreprocessNv: Self = Self(sys::VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV.0);
/// `VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV` = `1 << 1`
pub const IndexedSequencesNv: Self = Self(sys::VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV.0);
/// `VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV` = `1 << 2`
pub const UnorderedSequencesNv: Self = Self(sys::VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV.0);
}
impl_flags_display!(IndirectCommandsLayoutUsageFlagsNV = VkIndirectCommandsLayoutUsageFlagsNV { ExplicitPreprocessNv, IndexedSequencesNv, UnorderedSequencesNv });
/// `VkIndirectCommandsTokenTypeEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct IndirectCommandsTokenTypeEXT(pub i32);
from_into_transparent!(IndirectCommandsTokenTypeEXT : i32);
from_by_transmute!(IndirectCommandsTokenTypeEXT => sys::VkIndirectCommandsTokenTypeEXT);
from_by_transmute!(sys::VkIndirectCommandsTokenTypeEXT => IndirectCommandsTokenTypeEXT);
impl_to_sys!(IndirectCommandsTokenTypeEXT => sys::VkIndirectCommandsTokenTypeEXT);
impl_enum!(IndirectCommandsTokenTypeEXT => sys::VkIndirectCommandsTokenTypeEXT);
impl IndirectCommandsTokenTypeEXT {
/// `VK_INDIRECT_COMMANDS_TOKEN_TYPE_EXECUTION_SET_EXT` = `0`
pub const ExecutionSetExt: Self = Self(sys::VK_INDIRECT_COMMANDS_TOKEN_TYPE_EXECUTION_SET_EXT.0);
/// `VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_EXT` = `1`
pub const PushConstantExt: Self = Self(sys::VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_EXT.0);
/// `VK_INDIRECT_COMMANDS_TOKEN_TYPE_SEQUENCE_INDEX_EXT` = `2`
pub const SequenceIndexExt: Self = Self(sys::VK_INDIRECT_COMMANDS_TOKEN_TYPE_SEQUENCE_INDEX_EXT.0);
/// `VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_EXT` = `3`
pub const IndexBufferExt: Self = Self(sys::VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_EXT.0);
/// `VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_EXT` = `4`
pub const VertexBufferExt: Self = Self(sys::VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_EXT.0);
/// `VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_EXT` = `5`
pub const DrawIndexedExt: Self = Self(sys::VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_EXT.0);
/// `VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_EXT` = `6`
pub const DrawExt: Self = Self(sys::VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_EXT.0);
/// `VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_COUNT_EXT` = `7`
pub const DrawIndexedCountExt: Self = Self(sys::VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_COUNT_EXT.0);
/// `VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_COUNT_EXT` = `8`
pub const DrawCountExt: Self = Self(sys::VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_COUNT_EXT.0);
/// `VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_EXT` = `9`
pub const DispatchExt: Self = Self(sys::VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_EXT.0);
/// `VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_DATA_EXT` = `1000135000`
pub const PushDataExt: Self = Self(sys::VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_DATA_EXT.0);
/// `VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_DATA_SEQUENCE_INDEX_EXT` = `1000135001`
pub const PushDataSequenceIndexExt: Self = Self(sys::VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_DATA_SEQUENCE_INDEX_EXT.0);
/// `VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV_EXT` = `1000202002`
pub const DrawMeshTasksNvExt: Self = Self(sys::VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV_EXT.0);
/// `VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_COUNT_NV_EXT` = `1000202003`
pub const DrawMeshTasksCountNvExt: Self = Self(sys::VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_COUNT_NV_EXT.0);
/// `VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_EXT` = `1000328000`
pub const DrawMeshTasksExt: Self = Self(sys::VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_EXT.0);
/// `VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_COUNT_EXT` = `1000328001`
pub const DrawMeshTasksCountExt: Self = Self(sys::VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_COUNT_EXT.0);
/// `VK_INDIRECT_COMMANDS_TOKEN_TYPE_TRACE_RAYS2_EXT` = `1000386004`
pub const TraceRays2Ext: Self = Self(sys::VK_INDIRECT_COMMANDS_TOKEN_TYPE_TRACE_RAYS2_EXT.0);
}
impl_enum_display!(IndirectCommandsTokenTypeEXT = VkIndirectCommandsTokenTypeEXT { ExecutionSetExt, PushConstantExt, SequenceIndexExt, IndexBufferExt, VertexBufferExt, DrawIndexedExt, DrawExt, DrawIndexedCountExt, DrawCountExt, DispatchExt, PushDataExt, PushDataSequenceIndexExt, DrawMeshTasksNvExt, DrawMeshTasksCountNvExt, DrawMeshTasksExt, DrawMeshTasksCountExt, TraceRays2Ext });
/// `VkIndirectCommandsTokenTypeNV`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct IndirectCommandsTokenTypeNV(pub i32);
from_into_transparent!(IndirectCommandsTokenTypeNV : i32);
from_by_transmute!(IndirectCommandsTokenTypeNV => sys::VkIndirectCommandsTokenTypeNV);
from_by_transmute!(sys::VkIndirectCommandsTokenTypeNV => IndirectCommandsTokenTypeNV);
impl_to_sys!(IndirectCommandsTokenTypeNV => sys::VkIndirectCommandsTokenTypeNV);
impl_enum!(IndirectCommandsTokenTypeNV => sys::VkIndirectCommandsTokenTypeNV);
impl IndirectCommandsTokenTypeNV {
/// `VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV` = `0`
pub const ShaderGroupNv: Self = Self(sys::VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV.0);
/// `VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV` = `1`
pub const StateFlagsNv: Self = Self(sys::VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV.0);
/// `VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV` = `2`
pub const IndexBufferNv: Self = Self(sys::VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_NV.0);
/// `VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV` = `3`
pub const VertexBufferNv: Self = Self(sys::VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV.0);
/// `VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV` = `4`
pub const PushConstantNv: Self = Self(sys::VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV.0);
/// `VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV` = `5`
pub const DrawIndexedNv: Self = Self(sys::VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV.0);
/// `VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV` = `6`
pub const DrawNv: Self = Self(sys::VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV.0);
/// `VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV` = `7`
pub const DrawTasksNv: Self = Self(sys::VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV.0);
/// `VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_DATA_NV` = `1000135000`
pub const PushDataNv: Self = Self(sys::VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_DATA_NV.0);
/// `VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV` = `1000328000`
pub const DrawMeshTasksNv: Self = Self(sys::VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV.0);
/// `VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NV` = `1000428003`
pub const PipelineNv: Self = Self(sys::VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NV.0);
/// `VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NV` = `1000428004`
pub const DispatchNv: Self = Self(sys::VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NV.0);
}
impl_enum_display!(IndirectCommandsTokenTypeNV = VkIndirectCommandsTokenTypeNV { ShaderGroupNv, StateFlagsNv, IndexBufferNv, VertexBufferNv, PushConstantNv, DrawIndexedNv, DrawNv, DrawTasksNv, PushDataNv, DrawMeshTasksNv, PipelineNv, DispatchNv });
/// `VkIndirectExecutionSetInfoTypeEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct IndirectExecutionSetInfoTypeEXT(pub i32);
from_into_transparent!(IndirectExecutionSetInfoTypeEXT : i32);
from_by_transmute!(IndirectExecutionSetInfoTypeEXT => sys::VkIndirectExecutionSetInfoTypeEXT);
from_by_transmute!(sys::VkIndirectExecutionSetInfoTypeEXT => IndirectExecutionSetInfoTypeEXT);
impl_to_sys!(IndirectExecutionSetInfoTypeEXT => sys::VkIndirectExecutionSetInfoTypeEXT);
impl_enum!(IndirectExecutionSetInfoTypeEXT => sys::VkIndirectExecutionSetInfoTypeEXT);
impl IndirectExecutionSetInfoTypeEXT {
/// `VK_INDIRECT_EXECUTION_SET_INFO_TYPE_PIPELINES_EXT` = `0`
pub const PipelinesExt: Self = Self(sys::VK_INDIRECT_EXECUTION_SET_INFO_TYPE_PIPELINES_EXT.0);
/// `VK_INDIRECT_EXECUTION_SET_INFO_TYPE_SHADER_OBJECTS_EXT` = `1`
pub const ShaderObjectsExt: Self = Self(sys::VK_INDIRECT_EXECUTION_SET_INFO_TYPE_SHADER_OBJECTS_EXT.0);
}
impl_enum_display!(IndirectExecutionSetInfoTypeEXT = VkIndirectExecutionSetInfoTypeEXT { PipelinesExt, ShaderObjectsExt });
/// `VkIndirectStateFlagsNV`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct IndirectStateFlagsNV(pub i32);
flags!(IndirectStateFlagsNV);
from_into_transparent!(IndirectStateFlagsNV : i32);
from_by_transmute!(IndirectStateFlagsNV => sys::VkIndirectStateFlagsNV);
from_by_transmute!(sys::VkIndirectStateFlagsNV => IndirectStateFlagsNV);
impl_to_sys!(IndirectStateFlagsNV => sys::VkIndirectStateFlagsNV);
impl_enum!(IndirectStateFlagsNV => sys::VkIndirectStateFlagsNV);
impl IndirectStateFlagsNV {
/// `VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV` = `1 << 0`
pub const FlagFrontfaceNv: Self = Self(sys::VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV.0);
}
impl_flags_display!(IndirectStateFlagsNV = VkIndirectStateFlagsNV { FlagFrontfaceNv });
/// `VkInstanceCreateFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct InstanceCreateFlags(pub i32);
flags!(InstanceCreateFlags);
from_into_transparent!(InstanceCreateFlags : i32);
from_by_transmute!(InstanceCreateFlags => sys::VkInstanceCreateFlags);
from_by_transmute!(sys::VkInstanceCreateFlags => InstanceCreateFlags);
impl_to_sys!(InstanceCreateFlags => sys::VkInstanceCreateFlags);
impl_enum!(InstanceCreateFlags => sys::VkInstanceCreateFlags);
impl InstanceCreateFlags {
/// `VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR` = `1 << 0`
pub const EnumeratePortabilityKhr: Self = Self(sys::VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR.0);
/// `VK_INSTANCE_CREATE_RESERVED_616_BIT_EXT` = `1 << 1`
pub const Reserved616Ext: Self = Self(sys::VK_INSTANCE_CREATE_RESERVED_616_BIT_EXT.0);
}
impl_flags_display!(InstanceCreateFlags = VkInstanceCreateFlags { EnumeratePortabilityKhr, Reserved616Ext });
/// `VkInternalAllocationType`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct InternalAllocationType(pub i32);
from_into_transparent!(InternalAllocationType : i32);
from_by_transmute!(InternalAllocationType => sys::VkInternalAllocationType);
from_by_transmute!(sys::VkInternalAllocationType => InternalAllocationType);
impl_to_sys!(InternalAllocationType => sys::VkInternalAllocationType);
impl_enum!(InternalAllocationType => sys::VkInternalAllocationType);
impl InternalAllocationType {
/// `VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE` = `0`
pub const Executable: Self = Self(sys::VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE.0);
}
impl_enum_display!(InternalAllocationType = VkInternalAllocationType { Executable });
/// `VkLatencyMarkerNV`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct LatencyMarkerNV(pub i32);
from_into_transparent!(LatencyMarkerNV : i32);
from_by_transmute!(LatencyMarkerNV => sys::VkLatencyMarkerNV);
from_by_transmute!(sys::VkLatencyMarkerNV => LatencyMarkerNV);
impl_to_sys!(LatencyMarkerNV => sys::VkLatencyMarkerNV);
impl_enum!(LatencyMarkerNV => sys::VkLatencyMarkerNV);
impl LatencyMarkerNV {
/// `VK_LATENCY_MARKER_SIMULATION_START_NV` = `0`
pub const SimulationStartNv: Self = Self(sys::VK_LATENCY_MARKER_SIMULATION_START_NV.0);
/// `VK_LATENCY_MARKER_SIMULATION_END_NV` = `1`
pub const SimulationEndNv: Self = Self(sys::VK_LATENCY_MARKER_SIMULATION_END_NV.0);
/// `VK_LATENCY_MARKER_RENDERSUBMIT_START_NV` = `2`
pub const RendersubmitStartNv: Self = Self(sys::VK_LATENCY_MARKER_RENDERSUBMIT_START_NV.0);
/// `VK_LATENCY_MARKER_RENDERSUBMIT_END_NV` = `3`
pub const RendersubmitEndNv: Self = Self(sys::VK_LATENCY_MARKER_RENDERSUBMIT_END_NV.0);
/// `VK_LATENCY_MARKER_PRESENT_START_NV` = `4`
pub const PresentStartNv: Self = Self(sys::VK_LATENCY_MARKER_PRESENT_START_NV.0);
/// `VK_LATENCY_MARKER_PRESENT_END_NV` = `5`
pub const PresentEndNv: Self = Self(sys::VK_LATENCY_MARKER_PRESENT_END_NV.0);
/// `VK_LATENCY_MARKER_INPUT_SAMPLE_NV` = `6`
pub const InputSampleNv: Self = Self(sys::VK_LATENCY_MARKER_INPUT_SAMPLE_NV.0);
/// `VK_LATENCY_MARKER_TRIGGER_FLASH_NV` = `7`
pub const TriggerFlashNv: Self = Self(sys::VK_LATENCY_MARKER_TRIGGER_FLASH_NV.0);
/// `VK_LATENCY_MARKER_OUT_OF_BAND_RENDERSUBMIT_START_NV` = `8`
pub const OutOfBandRendersubmitStartNv: Self = Self(sys::VK_LATENCY_MARKER_OUT_OF_BAND_RENDERSUBMIT_START_NV.0);
/// `VK_LATENCY_MARKER_OUT_OF_BAND_RENDERSUBMIT_END_NV` = `9`
pub const OutOfBandRendersubmitEndNv: Self = Self(sys::VK_LATENCY_MARKER_OUT_OF_BAND_RENDERSUBMIT_END_NV.0);
/// `VK_LATENCY_MARKER_OUT_OF_BAND_PRESENT_START_NV` = `10`
pub const OutOfBandPresentStartNv: Self = Self(sys::VK_LATENCY_MARKER_OUT_OF_BAND_PRESENT_START_NV.0);
/// `VK_LATENCY_MARKER_OUT_OF_BAND_PRESENT_END_NV` = `11`
pub const OutOfBandPresentEndNv: Self = Self(sys::VK_LATENCY_MARKER_OUT_OF_BAND_PRESENT_END_NV.0);
}
impl_enum_display!(LatencyMarkerNV = VkLatencyMarkerNV { SimulationStartNv, SimulationEndNv, RendersubmitStartNv, RendersubmitEndNv, PresentStartNv, PresentEndNv, InputSampleNv, TriggerFlashNv, OutOfBandRendersubmitStartNv, OutOfBandRendersubmitEndNv, OutOfBandPresentStartNv, OutOfBandPresentEndNv });
/// `VkLayerSettingTypeEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct LayerSettingTypeEXT(pub i32);
from_into_transparent!(LayerSettingTypeEXT : i32);
from_by_transmute!(LayerSettingTypeEXT => sys::VkLayerSettingTypeEXT);
from_by_transmute!(sys::VkLayerSettingTypeEXT => LayerSettingTypeEXT);
impl_to_sys!(LayerSettingTypeEXT => sys::VkLayerSettingTypeEXT);
impl_enum!(LayerSettingTypeEXT => sys::VkLayerSettingTypeEXT);
impl LayerSettingTypeEXT {
/// `VK_LAYER_SETTING_TYPE_BOOL32_EXT` = `0`
pub const Bool32Ext: Self = Self(sys::VK_LAYER_SETTING_TYPE_BOOL32_EXT.0);
/// `VK_LAYER_SETTING_TYPE_INT32_EXT` = `1`
pub const Int32Ext: Self = Self(sys::VK_LAYER_SETTING_TYPE_INT32_EXT.0);
/// `VK_LAYER_SETTING_TYPE_INT64_EXT` = `2`
pub const Int64Ext: Self = Self(sys::VK_LAYER_SETTING_TYPE_INT64_EXT.0);
/// `VK_LAYER_SETTING_TYPE_UINT32_EXT` = `3`
pub const Uint32Ext: Self = Self(sys::VK_LAYER_SETTING_TYPE_UINT32_EXT.0);
/// `VK_LAYER_SETTING_TYPE_UINT64_EXT` = `4`
pub const Uint64Ext: Self = Self(sys::VK_LAYER_SETTING_TYPE_UINT64_EXT.0);
/// `VK_LAYER_SETTING_TYPE_FLOAT32_EXT` = `5`
pub const Float32Ext: Self = Self(sys::VK_LAYER_SETTING_TYPE_FLOAT32_EXT.0);
/// `VK_LAYER_SETTING_TYPE_FLOAT64_EXT` = `6`
pub const Float64Ext: Self = Self(sys::VK_LAYER_SETTING_TYPE_FLOAT64_EXT.0);
/// `VK_LAYER_SETTING_TYPE_STRING_EXT` = `7`
pub const StringExt: Self = Self(sys::VK_LAYER_SETTING_TYPE_STRING_EXT.0);
}
impl_enum_display!(LayerSettingTypeEXT = VkLayerSettingTypeEXT { Bool32Ext, Int32Ext, Int64Ext, Uint32Ext, Uint64Ext, Float32Ext, Float64Ext, StringExt });
/// `VkLayeredDriverUnderlyingApiMSFT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct LayeredDriverUnderlyingApiMSFT(pub i32);
from_into_transparent!(LayeredDriverUnderlyingApiMSFT : i32);
from_by_transmute!(LayeredDriverUnderlyingApiMSFT => sys::VkLayeredDriverUnderlyingApiMSFT);
from_by_transmute!(sys::VkLayeredDriverUnderlyingApiMSFT => LayeredDriverUnderlyingApiMSFT);
impl_to_sys!(LayeredDriverUnderlyingApiMSFT => sys::VkLayeredDriverUnderlyingApiMSFT);
impl_enum!(LayeredDriverUnderlyingApiMSFT => sys::VkLayeredDriverUnderlyingApiMSFT);
impl LayeredDriverUnderlyingApiMSFT {
/// `VK_LAYERED_DRIVER_UNDERLYING_API_NONE_MSFT` = `0`
pub const NoneMsft: Self = Self(sys::VK_LAYERED_DRIVER_UNDERLYING_API_NONE_MSFT.0);
/// `VK_LAYERED_DRIVER_UNDERLYING_API_D3D12_MSFT` = `1`
pub const D3d12Msft: Self = Self(sys::VK_LAYERED_DRIVER_UNDERLYING_API_D3D12_MSFT.0);
}
impl_enum_display!(LayeredDriverUnderlyingApiMSFT = VkLayeredDriverUnderlyingApiMSFT { NoneMsft, D3d12Msft });
/// `VkLineRasterizationMode`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct LineRasterizationMode(pub i32);
from_into_transparent!(LineRasterizationMode : i32);
from_by_transmute!(LineRasterizationMode => sys::VkLineRasterizationMode);
from_by_transmute!(sys::VkLineRasterizationMode => LineRasterizationMode);
impl_to_sys!(LineRasterizationMode => sys::VkLineRasterizationMode);
impl_enum!(LineRasterizationMode => sys::VkLineRasterizationMode);
impl LineRasterizationMode {
/// `VK_LINE_RASTERIZATION_MODE_DEFAULT` = `0`
pub const Default: Self = Self(sys::VK_LINE_RASTERIZATION_MODE_DEFAULT.0);
/// `VK_LINE_RASTERIZATION_MODE_RECTANGULAR` = `1`
pub const Rectangular: Self = Self(sys::VK_LINE_RASTERIZATION_MODE_RECTANGULAR.0);
/// `VK_LINE_RASTERIZATION_MODE_BRESENHAM` = `2`
pub const Bresenham: Self = Self(sys::VK_LINE_RASTERIZATION_MODE_BRESENHAM.0);
/// `VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH` = `3`
pub const RectangularSmooth: Self = Self(sys::VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH.0);
/// `VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT` = `VK_LINE_RASTERIZATION_MODE_DEFAULT`
pub const DefaultExt: Self = Self(sys::VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT.0);
/// `VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT` = `VK_LINE_RASTERIZATION_MODE_RECTANGULAR`
pub const RectangularExt: Self = Self(sys::VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT.0);
/// `VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT` = `VK_LINE_RASTERIZATION_MODE_BRESENHAM`
pub const BresenhamExt: Self = Self(sys::VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT.0);
/// `VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT` = `VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH`
pub const RectangularSmoothExt: Self = Self(sys::VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT.0);
/// `VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR` = `VK_LINE_RASTERIZATION_MODE_DEFAULT`
pub const DefaultKhr: Self = Self(sys::VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR.0);
/// `VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR` = `VK_LINE_RASTERIZATION_MODE_RECTANGULAR`
pub const RectangularKhr: Self = Self(sys::VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR.0);
/// `VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR` = `VK_LINE_RASTERIZATION_MODE_BRESENHAM`
pub const BresenhamKhr: Self = Self(sys::VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR.0);
/// `VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR` = `VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH`
pub const RectangularSmoothKhr: Self = Self(sys::VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR.0);
}
impl_enum_display!(LineRasterizationMode = VkLineRasterizationMode { Default, Rectangular, Bresenham, RectangularSmooth, DefaultExt, RectangularExt, BresenhamExt, RectangularSmoothExt, DefaultKhr, RectangularKhr, BresenhamKhr, RectangularSmoothKhr });
/// `VkLineRasterizationModeEXT` = `VkLineRasterizationMode`
pub type LineRasterizationModeEXT = LineRasterizationMode;
/// `VkLineRasterizationModeKHR` = `VkLineRasterizationMode`
pub type LineRasterizationModeKHR = LineRasterizationMode;
/// `VkLogicOp`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct LogicOp(pub i32);
from_into_transparent!(LogicOp : i32);
from_by_transmute!(LogicOp => sys::VkLogicOp);
from_by_transmute!(sys::VkLogicOp => LogicOp);
impl_to_sys!(LogicOp => sys::VkLogicOp);
impl_enum!(LogicOp => sys::VkLogicOp);
impl LogicOp {
/// `VK_LOGIC_OP_CLEAR` = `0`
pub const Clear: Self = Self(sys::VK_LOGIC_OP_CLEAR.0);
/// `VK_LOGIC_OP_AND` = `1`
pub const And: Self = Self(sys::VK_LOGIC_OP_AND.0);
/// `VK_LOGIC_OP_AND_REVERSE` = `2`
pub const AndReverse: Self = Self(sys::VK_LOGIC_OP_AND_REVERSE.0);
/// `VK_LOGIC_OP_COPY` = `3`
pub const Copy: Self = Self(sys::VK_LOGIC_OP_COPY.0);
/// `VK_LOGIC_OP_AND_INVERTED` = `4`
pub const AndInverted: Self = Self(sys::VK_LOGIC_OP_AND_INVERTED.0);
/// `VK_LOGIC_OP_NO_OP` = `5`
pub const NoOp: Self = Self(sys::VK_LOGIC_OP_NO_OP.0);
/// `VK_LOGIC_OP_XOR` = `6`
pub const Xor: Self = Self(sys::VK_LOGIC_OP_XOR.0);
/// `VK_LOGIC_OP_OR` = `7`
pub const Or: Self = Self(sys::VK_LOGIC_OP_OR.0);
/// `VK_LOGIC_OP_NOR` = `8`
pub const Nor: Self = Self(sys::VK_LOGIC_OP_NOR.0);
/// `VK_LOGIC_OP_EQUIVALENT` = `9`
pub const Equivalent: Self = Self(sys::VK_LOGIC_OP_EQUIVALENT.0);
/// `VK_LOGIC_OP_INVERT` = `10`
pub const Invert: Self = Self(sys::VK_LOGIC_OP_INVERT.0);
/// `VK_LOGIC_OP_OR_REVERSE` = `11`
pub const OrReverse: Self = Self(sys::VK_LOGIC_OP_OR_REVERSE.0);
/// `VK_LOGIC_OP_COPY_INVERTED` = `12`
pub const CopyInverted: Self = Self(sys::VK_LOGIC_OP_COPY_INVERTED.0);
/// `VK_LOGIC_OP_OR_INVERTED` = `13`
pub const OrInverted: Self = Self(sys::VK_LOGIC_OP_OR_INVERTED.0);
/// `VK_LOGIC_OP_NAND` = `14`
pub const Nand: Self = Self(sys::VK_LOGIC_OP_NAND.0);
/// `VK_LOGIC_OP_SET` = `15`
pub const Set: Self = Self(sys::VK_LOGIC_OP_SET.0);
}
impl_enum_display!(LogicOp = VkLogicOp { Clear, And, AndReverse, Copy, AndInverted, NoOp, Xor, Or, Nor, Equivalent, Invert, OrReverse, CopyInverted, OrInverted, Nand, Set });
/// `VkMacOSSurfaceCreateFlagsMVK`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct MacOSSurfaceCreateFlagsMVK(pub i32);
flags!(MacOSSurfaceCreateFlagsMVK);
from_into_transparent!(MacOSSurfaceCreateFlagsMVK : i32);
from_by_transmute!(MacOSSurfaceCreateFlagsMVK => sys::VkMacOSSurfaceCreateFlagsMVK);
from_by_transmute!(sys::VkMacOSSurfaceCreateFlagsMVK => MacOSSurfaceCreateFlagsMVK);
impl_to_sys!(MacOSSurfaceCreateFlagsMVK => sys::VkMacOSSurfaceCreateFlagsMVK);
impl_enum!(MacOSSurfaceCreateFlagsMVK => sys::VkMacOSSurfaceCreateFlagsMVK);
impl_flags_display!(MacOSSurfaceCreateFlagsMVK = VkMacOSSurfaceCreateFlagsMVK { });
/// `VkMemoryAllocateFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct MemoryAllocateFlags(pub i32);
flags!(MemoryAllocateFlags);
from_into_transparent!(MemoryAllocateFlags : i32);
from_by_transmute!(MemoryAllocateFlags => sys::VkMemoryAllocateFlags);
from_by_transmute!(sys::VkMemoryAllocateFlags => MemoryAllocateFlags);
impl_to_sys!(MemoryAllocateFlags => sys::VkMemoryAllocateFlags);
impl_enum!(MemoryAllocateFlags => sys::VkMemoryAllocateFlags);
impl MemoryAllocateFlags {
/// `VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT` = `1 << 0`
///
/// Force allocation on specific devices
pub const DeviceMask: Self = Self(sys::VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT.0);
/// `VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT` = `1 << 1`
pub const DeviceAddress: Self = Self(sys::VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT.0);
/// `VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT` = `1 << 2`
pub const DeviceAddressCaptureReplay: Self = Self(sys::VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT.0);
/// `VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR` = `VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT`
pub const DeviceMaskKhr: Self = Self(sys::VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT_KHR.0);
/// `VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR` = `VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT`
pub const DeviceAddressKhr: Self = Self(sys::VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR.0);
/// `VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR` = `VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT`
pub const DeviceAddressCaptureReplayKhr: Self = Self(sys::VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR.0);
/// `VK_MEMORY_ALLOCATE_ZERO_INITIALIZE_BIT_EXT` = `1 << 3`
pub const ZeroInitializeExt: Self = Self(sys::VK_MEMORY_ALLOCATE_ZERO_INITIALIZE_BIT_EXT.0);
}
impl_flags_display!(MemoryAllocateFlags = VkMemoryAllocateFlags { DeviceMask, DeviceAddress, DeviceAddressCaptureReplay, DeviceMaskKhr, DeviceAddressKhr, DeviceAddressCaptureReplayKhr, ZeroInitializeExt });
/// `VkMemoryAllocateFlagsKHR` = `VkMemoryAllocateFlags`
pub type MemoryAllocateFlagsKHR = MemoryAllocateFlags;
/// `VkMemoryDecompressionMethodFlagsEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct MemoryDecompressionMethodFlagsEXT(pub i64);
flags!(MemoryDecompressionMethodFlagsEXT);
from_into_transparent!(MemoryDecompressionMethodFlagsEXT : i64);
from_by_transmute!(MemoryDecompressionMethodFlagsEXT => sys::VkMemoryDecompressionMethodFlagsEXT);
from_by_transmute!(sys::VkMemoryDecompressionMethodFlagsEXT => MemoryDecompressionMethodFlagsEXT);
impl_to_sys!(MemoryDecompressionMethodFlagsEXT => sys::VkMemoryDecompressionMethodFlagsEXT);
impl_enum!(MemoryDecompressionMethodFlagsEXT => sys::VkMemoryDecompressionMethodFlagsEXT);
impl MemoryDecompressionMethodFlagsEXT {
/// `VK_MEMORY_DECOMPRESSION_METHOD_GDEFLATE_1_0_BIT_EXT` = `1 << 0`
pub const Gdeflate10Ext: Self = Self(sys::VK_MEMORY_DECOMPRESSION_METHOD_GDEFLATE_1_0_BIT_EXT.0);
/// `VK_MEMORY_DECOMPRESSION_METHOD_GDEFLATE_1_0_BIT_NV` = `VK_MEMORY_DECOMPRESSION_METHOD_GDEFLATE_1_0_BIT_EXT`
pub const Gdeflate10Nv: Self = Self(sys::VK_MEMORY_DECOMPRESSION_METHOD_GDEFLATE_1_0_BIT_NV.0);
}
impl_flags_display!(MemoryDecompressionMethodFlagsEXT = VkMemoryDecompressionMethodFlagsEXT { Gdeflate10Ext, Gdeflate10Nv });
/// `VkMemoryDecompressionMethodFlagsNV` = `VkMemoryDecompressionMethodFlagsEXT`
pub type MemoryDecompressionMethodFlagsNV = MemoryDecompressionMethodFlagsEXT;
/// `VkMemoryHeapFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct MemoryHeapFlags(pub i32);
flags!(MemoryHeapFlags);
from_into_transparent!(MemoryHeapFlags : i32);
from_by_transmute!(MemoryHeapFlags => sys::VkMemoryHeapFlags);
from_by_transmute!(sys::VkMemoryHeapFlags => MemoryHeapFlags);
impl_to_sys!(MemoryHeapFlags => sys::VkMemoryHeapFlags);
impl_enum!(MemoryHeapFlags => sys::VkMemoryHeapFlags);
impl MemoryHeapFlags {
/// `VK_MEMORY_HEAP_DEVICE_LOCAL_BIT` = `1 << 0`
///
/// If set, heap represents device memory
pub const DeviceLocal: Self = Self(sys::VK_MEMORY_HEAP_DEVICE_LOCAL_BIT.0);
/// `VK_MEMORY_HEAP_MULTI_INSTANCE_BIT` = `1 << 1`
///
/// If set, heap allocations allocate multiple instances by default
pub const MultiInstance: Self = Self(sys::VK_MEMORY_HEAP_MULTI_INSTANCE_BIT.0);
/// `VK_MEMORY_HEAP_SEU_SAFE_BIT` = `1 << 2`
pub const SeuSafe: Self = Self(sys::VK_MEMORY_HEAP_SEU_SAFE_BIT.0);
/// `VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR` = `VK_MEMORY_HEAP_MULTI_INSTANCE_BIT`
pub const MultiInstanceKhr: Self = Self(sys::VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR.0);
/// `VK_MEMORY_HEAP_TILE_MEMORY_BIT_QCOM` = `1 << 3`
pub const TileMemoryQcom: Self = Self(sys::VK_MEMORY_HEAP_TILE_MEMORY_BIT_QCOM.0);
}
impl_flags_display!(MemoryHeapFlags = VkMemoryHeapFlags { DeviceLocal, MultiInstance, SeuSafe, MultiInstanceKhr, TileMemoryQcom });
/// `VkMemoryMapFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct MemoryMapFlags(pub i32);
flags!(MemoryMapFlags);
from_into_transparent!(MemoryMapFlags : i32);
from_by_transmute!(MemoryMapFlags => sys::VkMemoryMapFlags);
from_by_transmute!(sys::VkMemoryMapFlags => MemoryMapFlags);
impl_to_sys!(MemoryMapFlags => sys::VkMemoryMapFlags);
impl_enum!(MemoryMapFlags => sys::VkMemoryMapFlags);
impl MemoryMapFlags {
/// `VK_MEMORY_MAP_PLACED_BIT_EXT` = `1 << 0`
pub const PlacedExt: Self = Self(sys::VK_MEMORY_MAP_PLACED_BIT_EXT.0);
}
impl_flags_display!(MemoryMapFlags = VkMemoryMapFlags { PlacedExt });
/// `VkMemoryOverallocationBehaviorAMD`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct MemoryOverallocationBehaviorAMD(pub i32);
from_into_transparent!(MemoryOverallocationBehaviorAMD : i32);
from_by_transmute!(MemoryOverallocationBehaviorAMD => sys::VkMemoryOverallocationBehaviorAMD);
from_by_transmute!(sys::VkMemoryOverallocationBehaviorAMD => MemoryOverallocationBehaviorAMD);
impl_to_sys!(MemoryOverallocationBehaviorAMD => sys::VkMemoryOverallocationBehaviorAMD);
impl_enum!(MemoryOverallocationBehaviorAMD => sys::VkMemoryOverallocationBehaviorAMD);
impl MemoryOverallocationBehaviorAMD {
/// `VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD` = `0`
pub const DefaultAmd: Self = Self(sys::VK_MEMORY_OVERALLOCATION_BEHAVIOR_DEFAULT_AMD.0);
/// `VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD` = `1`
pub const AllowedAmd: Self = Self(sys::VK_MEMORY_OVERALLOCATION_BEHAVIOR_ALLOWED_AMD.0);
/// `VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD` = `2`
pub const DisallowedAmd: Self = Self(sys::VK_MEMORY_OVERALLOCATION_BEHAVIOR_DISALLOWED_AMD.0);
}
impl_enum_display!(MemoryOverallocationBehaviorAMD = VkMemoryOverallocationBehaviorAMD { DefaultAmd, AllowedAmd, DisallowedAmd });
/// `VkMemoryPropertyFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct MemoryPropertyFlags(pub i32);
flags!(MemoryPropertyFlags);
from_into_transparent!(MemoryPropertyFlags : i32);
from_by_transmute!(MemoryPropertyFlags => sys::VkMemoryPropertyFlags);
from_by_transmute!(sys::VkMemoryPropertyFlags => MemoryPropertyFlags);
impl_to_sys!(MemoryPropertyFlags => sys::VkMemoryPropertyFlags);
impl_enum!(MemoryPropertyFlags => sys::VkMemoryPropertyFlags);
impl MemoryPropertyFlags {
/// `VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT` = `1 << 0`
///
/// If otherwise stated, then allocate memory on device
pub const DeviceLocal: Self = Self(sys::VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT.0);
/// `VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT` = `1 << 1`
///
/// Memory is mappable by host
pub const HostVisible: Self = Self(sys::VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT.0);
/// `VK_MEMORY_PROPERTY_HOST_COHERENT_BIT` = `1 << 2`
///
/// Memory will have i/o coherency. If not set, application may need to use vkFlushMappedMemoryRanges and vkInvalidateMappedMemoryRanges to flush/invalidate host cache
pub const HostCoherent: Self = Self(sys::VK_MEMORY_PROPERTY_HOST_COHERENT_BIT.0);
/// `VK_MEMORY_PROPERTY_HOST_CACHED_BIT` = `1 << 3`
///
/// Memory will be cached by the host
pub const HostCached: Self = Self(sys::VK_MEMORY_PROPERTY_HOST_CACHED_BIT.0);
/// `VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT` = `1 << 4`
///
/// Memory may be allocated by the driver when it is required
pub const LazilyAllocated: Self = Self(sys::VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT.0);
/// `VK_MEMORY_PROPERTY_PROTECTED_BIT` = `1 << 5`
///
/// Memory is protected
pub const Protected: Self = Self(sys::VK_MEMORY_PROPERTY_PROTECTED_BIT.0);
/// `VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD` = `1 << 6`
pub const DeviceCoherentAmd: Self = Self(sys::VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD.0);
/// `VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD` = `1 << 7`
pub const DeviceUncachedAmd: Self = Self(sys::VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD.0);
/// `VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV` = `1 << 8`
pub const RdmaCapableNv: Self = Self(sys::VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV.0);
}
impl_flags_display!(MemoryPropertyFlags = VkMemoryPropertyFlags { DeviceLocal, HostVisible, HostCoherent, HostCached, LazilyAllocated, Protected, DeviceCoherentAmd, DeviceUncachedAmd, RdmaCapableNv });
/// `VkMemoryUnmapFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct MemoryUnmapFlags(pub i32);
flags!(MemoryUnmapFlags);
from_into_transparent!(MemoryUnmapFlags : i32);
from_by_transmute!(MemoryUnmapFlags => sys::VkMemoryUnmapFlags);
from_by_transmute!(sys::VkMemoryUnmapFlags => MemoryUnmapFlags);
impl_to_sys!(MemoryUnmapFlags => sys::VkMemoryUnmapFlags);
impl_enum!(MemoryUnmapFlags => sys::VkMemoryUnmapFlags);
impl MemoryUnmapFlags {
/// `VK_MEMORY_UNMAP_RESERVE_BIT_EXT` = `1 << 0`
pub const ReserveExt: Self = Self(sys::VK_MEMORY_UNMAP_RESERVE_BIT_EXT.0);
}
impl_flags_display!(MemoryUnmapFlags = VkMemoryUnmapFlags { ReserveExt });
/// `VkMemoryUnmapFlagsKHR` = `VkMemoryUnmapFlags`
pub type MemoryUnmapFlagsKHR = MemoryUnmapFlags;
/// `VkMetalSurfaceCreateFlagsEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct MetalSurfaceCreateFlagsEXT(pub i32);
flags!(MetalSurfaceCreateFlagsEXT);
from_into_transparent!(MetalSurfaceCreateFlagsEXT : i32);
from_by_transmute!(MetalSurfaceCreateFlagsEXT => sys::VkMetalSurfaceCreateFlagsEXT);
from_by_transmute!(sys::VkMetalSurfaceCreateFlagsEXT => MetalSurfaceCreateFlagsEXT);
impl_to_sys!(MetalSurfaceCreateFlagsEXT => sys::VkMetalSurfaceCreateFlagsEXT);
impl_enum!(MetalSurfaceCreateFlagsEXT => sys::VkMetalSurfaceCreateFlagsEXT);
impl_flags_display!(MetalSurfaceCreateFlagsEXT = VkMetalSurfaceCreateFlagsEXT { });
/// `VkMicromapCreateFlagsEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct MicromapCreateFlagsEXT(pub i32);
flags!(MicromapCreateFlagsEXT);
from_into_transparent!(MicromapCreateFlagsEXT : i32);
from_by_transmute!(MicromapCreateFlagsEXT => sys::VkMicromapCreateFlagsEXT);
from_by_transmute!(sys::VkMicromapCreateFlagsEXT => MicromapCreateFlagsEXT);
impl_to_sys!(MicromapCreateFlagsEXT => sys::VkMicromapCreateFlagsEXT);
impl_enum!(MicromapCreateFlagsEXT => sys::VkMicromapCreateFlagsEXT);
impl MicromapCreateFlagsEXT {
/// `VK_MICROMAP_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT` = `1 << 0`
pub const DeviceAddressCaptureReplayExt: Self = Self(sys::VK_MICROMAP_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT.0);
}
impl_flags_display!(MicromapCreateFlagsEXT = VkMicromapCreateFlagsEXT { DeviceAddressCaptureReplayExt });
/// `VkMicromapTypeEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct MicromapTypeEXT(pub i32);
from_into_transparent!(MicromapTypeEXT : i32);
from_by_transmute!(MicromapTypeEXT => sys::VkMicromapTypeEXT);
from_by_transmute!(sys::VkMicromapTypeEXT => MicromapTypeEXT);
impl_to_sys!(MicromapTypeEXT => sys::VkMicromapTypeEXT);
impl_enum!(MicromapTypeEXT => sys::VkMicromapTypeEXT);
impl MicromapTypeEXT {
/// `VK_MICROMAP_TYPE_OPACITY_MICROMAP_EXT` = `0`
pub const OpacityMicromapExt: Self = Self(sys::VK_MICROMAP_TYPE_OPACITY_MICROMAP_EXT.0);
/// `VK_MICROMAP_TYPE_DISPLACEMENT_MICROMAP_NV` = `1000397000`
pub const DisplacementMicromapNv: Self = Self(sys::VK_MICROMAP_TYPE_DISPLACEMENT_MICROMAP_NV.0);
}
impl_enum_display!(MicromapTypeEXT = VkMicromapTypeEXT { OpacityMicromapExt, DisplacementMicromapNv });
/// `VkObjectType`
///
/// Enums to track objects of various types - also see objtypeenum attributes on type tags
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ObjectType(pub i32);
from_into_transparent!(ObjectType : i32);
from_by_transmute!(ObjectType => sys::VkObjectType);
from_by_transmute!(sys::VkObjectType => ObjectType);
impl_to_sys!(ObjectType => sys::VkObjectType);
impl_enum!(ObjectType => sys::VkObjectType);
impl ObjectType {
/// `VK_OBJECT_TYPE_UNKNOWN` = `0`
pub const Unknown: Self = Self(sys::VK_OBJECT_TYPE_UNKNOWN.0);
/// `VK_OBJECT_TYPE_INSTANCE` = `1`
pub const Instance: Self = Self(sys::VK_OBJECT_TYPE_INSTANCE.0);
/// `VK_OBJECT_TYPE_PHYSICAL_DEVICE` = `2`
pub const PhysicalDevice: Self = Self(sys::VK_OBJECT_TYPE_PHYSICAL_DEVICE.0);
/// `VK_OBJECT_TYPE_DEVICE` = `3`
pub const Device: Self = Self(sys::VK_OBJECT_TYPE_DEVICE.0);
/// `VK_OBJECT_TYPE_QUEUE` = `4`
pub const Queue: Self = Self(sys::VK_OBJECT_TYPE_QUEUE.0);
/// `VK_OBJECT_TYPE_SEMAPHORE` = `5`
pub const Semaphore: Self = Self(sys::VK_OBJECT_TYPE_SEMAPHORE.0);
/// `VK_OBJECT_TYPE_COMMAND_BUFFER` = `6`
pub const CommandBuffer: Self = Self(sys::VK_OBJECT_TYPE_COMMAND_BUFFER.0);
/// `VK_OBJECT_TYPE_FENCE` = `7`
pub const Fence: Self = Self(sys::VK_OBJECT_TYPE_FENCE.0);
/// `VK_OBJECT_TYPE_DEVICE_MEMORY` = `8`
pub const DeviceMemory: Self = Self(sys::VK_OBJECT_TYPE_DEVICE_MEMORY.0);
/// `VK_OBJECT_TYPE_BUFFER` = `9`
pub const Buffer: Self = Self(sys::VK_OBJECT_TYPE_BUFFER.0);
/// `VK_OBJECT_TYPE_IMAGE` = `10`
pub const Image: Self = Self(sys::VK_OBJECT_TYPE_IMAGE.0);
/// `VK_OBJECT_TYPE_EVENT` = `11`
pub const Event: Self = Self(sys::VK_OBJECT_TYPE_EVENT.0);
/// `VK_OBJECT_TYPE_QUERY_POOL` = `12`
pub const QueryPool: Self = Self(sys::VK_OBJECT_TYPE_QUERY_POOL.0);
/// `VK_OBJECT_TYPE_BUFFER_VIEW` = `13`
pub const BufferView: Self = Self(sys::VK_OBJECT_TYPE_BUFFER_VIEW.0);
/// `VK_OBJECT_TYPE_IMAGE_VIEW` = `14`
pub const ImageView: Self = Self(sys::VK_OBJECT_TYPE_IMAGE_VIEW.0);
/// `VK_OBJECT_TYPE_SHADER_MODULE` = `15`
pub const ShaderModule: Self = Self(sys::VK_OBJECT_TYPE_SHADER_MODULE.0);
/// `VK_OBJECT_TYPE_PIPELINE_CACHE` = `16`
pub const PipelineCache: Self = Self(sys::VK_OBJECT_TYPE_PIPELINE_CACHE.0);
/// `VK_OBJECT_TYPE_PIPELINE_LAYOUT` = `17`
pub const PipelineLayout: Self = Self(sys::VK_OBJECT_TYPE_PIPELINE_LAYOUT.0);
/// `VK_OBJECT_TYPE_RENDER_PASS` = `18`
pub const RenderPass: Self = Self(sys::VK_OBJECT_TYPE_RENDER_PASS.0);
/// `VK_OBJECT_TYPE_PIPELINE` = `19`
pub const Pipeline: Self = Self(sys::VK_OBJECT_TYPE_PIPELINE.0);
/// `VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT` = `20`
pub const DescriptorSetLayout: Self = Self(sys::VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT.0);
/// `VK_OBJECT_TYPE_SAMPLER` = `21`
pub const Sampler: Self = Self(sys::VK_OBJECT_TYPE_SAMPLER.0);
/// `VK_OBJECT_TYPE_DESCRIPTOR_POOL` = `22`
pub const DescriptorPool: Self = Self(sys::VK_OBJECT_TYPE_DESCRIPTOR_POOL.0);
/// `VK_OBJECT_TYPE_DESCRIPTOR_SET` = `23`
pub const DescriptorSet: Self = Self(sys::VK_OBJECT_TYPE_DESCRIPTOR_SET.0);
/// `VK_OBJECT_TYPE_FRAMEBUFFER` = `24`
pub const Framebuffer: Self = Self(sys::VK_OBJECT_TYPE_FRAMEBUFFER.0);
/// `VK_OBJECT_TYPE_COMMAND_POOL` = `25`
pub const CommandPool: Self = Self(sys::VK_OBJECT_TYPE_COMMAND_POOL.0);
/// `VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE` = `1000085000`
pub const DescriptorUpdateTemplate: Self = Self(sys::VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE.0);
/// `VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION` = `1000156000`
pub const SamplerYcbcrConversion: Self = Self(sys::VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION.0);
/// `VK_OBJECT_TYPE_PRIVATE_DATA_SLOT` = `1000295000`
pub const PrivateDataSlot: Self = Self(sys::VK_OBJECT_TYPE_PRIVATE_DATA_SLOT.0);
/// `VK_OBJECT_TYPE_SURFACE_KHR` = `1000000000`
pub const SurfaceKhr: Self = Self(sys::VK_OBJECT_TYPE_SURFACE_KHR.0);
/// `VK_OBJECT_TYPE_SWAPCHAIN_KHR` = `1000001000`
pub const SwapchainKhr: Self = Self(sys::VK_OBJECT_TYPE_SWAPCHAIN_KHR.0);
/// `VK_OBJECT_TYPE_DISPLAY_KHR` = `1000002000`
pub const DisplayKhr: Self = Self(sys::VK_OBJECT_TYPE_DISPLAY_KHR.0);
/// `VK_OBJECT_TYPE_DISPLAY_MODE_KHR` = `1000002001`
pub const DisplayModeKhr: Self = Self(sys::VK_OBJECT_TYPE_DISPLAY_MODE_KHR.0);
/// `VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT` = `1000011000`
pub const DebugReportCallbackExt: Self = Self(sys::VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT.0);
/// `VK_OBJECT_TYPE_VIDEO_SESSION_KHR` = `1000023000`
///
/// VkVideoSessionKHR
pub const VideoSessionKhr: Self = Self(sys::VK_OBJECT_TYPE_VIDEO_SESSION_KHR.0);
/// `VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR` = `1000023001`
///
/// VkVideoSessionParametersKHR
pub const VideoSessionParametersKhr: Self = Self(sys::VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR.0);
/// `VK_OBJECT_TYPE_CU_MODULE_NVX` = `1000029000`
pub const CuModuleNvx: Self = Self(sys::VK_OBJECT_TYPE_CU_MODULE_NVX.0);
/// `VK_OBJECT_TYPE_CU_FUNCTION_NVX` = `1000029001`
pub const CuFunctionNvx: Self = Self(sys::VK_OBJECT_TYPE_CU_FUNCTION_NVX.0);
/// `VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR` = `VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE`
pub const DescriptorUpdateTemplateKhr: Self = Self(sys::VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR.0);
/// `VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT` = `1000128000`
pub const DebugUtilsMessengerExt: Self = Self(sys::VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT.0);
/// `VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR` = `1000150000`
pub const AccelerationStructureKhr: Self = Self(sys::VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR.0);
/// `VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR` = `VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION`
pub const SamplerYcbcrConversionKhr: Self = Self(sys::VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR.0);
/// `VK_OBJECT_TYPE_VALIDATION_CACHE_EXT` = `1000160000`
pub const ValidationCacheExt: Self = Self(sys::VK_OBJECT_TYPE_VALIDATION_CACHE_EXT.0);
/// `VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV` = `1000165000`
pub const AccelerationStructureNv: Self = Self(sys::VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV.0);
/// `VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL` = `1000210000`
pub const PerformanceConfigurationIntel: Self = Self(sys::VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL.0);
/// `VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR` = `1000268000`
pub const DeferredOperationKhr: Self = Self(sys::VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR.0);
/// `VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV` = `1000277000`
pub const IndirectCommandsLayoutNv: Self = Self(sys::VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV.0);
/// `VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT` = `VK_OBJECT_TYPE_PRIVATE_DATA_SLOT`
pub const PrivateDataSlotExt: Self = Self(sys::VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT.0);
/// `VK_OBJECT_TYPE_CUDA_MODULE_NV` = `1000307000`
pub const CudaModuleNv: Self = Self(sys::VK_OBJECT_TYPE_CUDA_MODULE_NV.0);
/// `VK_OBJECT_TYPE_CUDA_FUNCTION_NV` = `1000307001`
pub const CudaFunctionNv: Self = Self(sys::VK_OBJECT_TYPE_CUDA_FUNCTION_NV.0);
/// `VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA` = `1000366000`
///
/// VkBufferCollectionFUCHSIA
pub const BufferCollectionFuchsia: Self = Self(sys::VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA.0);
/// `VK_OBJECT_TYPE_MICROMAP_EXT` = `1000396000`
pub const MicromapExt: Self = Self(sys::VK_OBJECT_TYPE_MICROMAP_EXT.0);
/// `VK_OBJECT_TYPE_TENSOR_ARM` = `1000460000`
pub const TensorArm: Self = Self(sys::VK_OBJECT_TYPE_TENSOR_ARM.0);
/// `VK_OBJECT_TYPE_TENSOR_VIEW_ARM` = `1000460001`
pub const TensorViewArm: Self = Self(sys::VK_OBJECT_TYPE_TENSOR_VIEW_ARM.0);
/// `VK_OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV` = `1000464000`
pub const OpticalFlowSessionNv: Self = Self(sys::VK_OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV.0);
/// `VK_OBJECT_TYPE_SHADER_EXT` = `1000482000`
pub const ShaderExt: Self = Self(sys::VK_OBJECT_TYPE_SHADER_EXT.0);
/// `VK_OBJECT_TYPE_PIPELINE_BINARY_KHR` = `1000483000`
pub const PipelineBinaryKhr: Self = Self(sys::VK_OBJECT_TYPE_PIPELINE_BINARY_KHR.0);
/// `VK_OBJECT_TYPE_SEMAPHORE_SCI_SYNC_POOL_NV` = `1000489000`
///
/// VkSemaphoreSciSyncPoolNV
pub const SemaphoreSciSyncPoolNv: Self = Self(sys::VK_OBJECT_TYPE_SEMAPHORE_SCI_SYNC_POOL_NV.0);
/// `VK_OBJECT_TYPE_DATA_GRAPH_PIPELINE_SESSION_ARM` = `1000507000`
pub const DataGraphPipelineSessionArm: Self = Self(sys::VK_OBJECT_TYPE_DATA_GRAPH_PIPELINE_SESSION_ARM.0);
/// `VK_OBJECT_TYPE_EXTERNAL_COMPUTE_QUEUE_NV` = `1000556000`
pub const ExternalComputeQueueNv: Self = Self(sys::VK_OBJECT_TYPE_EXTERNAL_COMPUTE_QUEUE_NV.0);
/// `VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_EXT` = `1000572000`
pub const IndirectCommandsLayoutExt: Self = Self(sys::VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_EXT.0);
/// `VK_OBJECT_TYPE_INDIRECT_EXECUTION_SET_EXT` = `1000572001`
pub const IndirectExecutionSetExt: Self = Self(sys::VK_OBJECT_TYPE_INDIRECT_EXECUTION_SET_EXT.0);
/// `VK_OBJECT_TYPE_SHADER_INSTRUMENTATION_ARM` = `1000607000`
pub const ShaderInstrumentationArm: Self = Self(sys::VK_OBJECT_TYPE_SHADER_INSTRUMENTATION_ARM.0);
}
impl_enum_display!(ObjectType = VkObjectType { Unknown, Instance, PhysicalDevice, Device, Queue, Semaphore, CommandBuffer, Fence, DeviceMemory, Buffer, Image, Event, QueryPool, BufferView, ImageView, ShaderModule, PipelineCache, PipelineLayout, RenderPass, Pipeline, DescriptorSetLayout, Sampler, DescriptorPool, DescriptorSet, Framebuffer, CommandPool, DescriptorUpdateTemplate, SamplerYcbcrConversion, PrivateDataSlot, SurfaceKhr, SwapchainKhr, DisplayKhr, DisplayModeKhr, DebugReportCallbackExt, VideoSessionKhr, VideoSessionParametersKhr, CuModuleNvx, CuFunctionNvx, DescriptorUpdateTemplateKhr, DebugUtilsMessengerExt, AccelerationStructureKhr, SamplerYcbcrConversionKhr, ValidationCacheExt, AccelerationStructureNv, PerformanceConfigurationIntel, DeferredOperationKhr, IndirectCommandsLayoutNv, PrivateDataSlotExt, CudaModuleNv, CudaFunctionNv, BufferCollectionFuchsia, MicromapExt, TensorArm, TensorViewArm, OpticalFlowSessionNv, ShaderExt, PipelineBinaryKhr, SemaphoreSciSyncPoolNv, DataGraphPipelineSessionArm, ExternalComputeQueueNv, IndirectCommandsLayoutExt, IndirectExecutionSetExt, ShaderInstrumentationArm });
/// `VkOpacityMicromapFormatEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct OpacityMicromapFormatEXT(pub i32);
from_into_transparent!(OpacityMicromapFormatEXT : i32);
from_by_transmute!(OpacityMicromapFormatEXT => sys::VkOpacityMicromapFormatEXT);
from_by_transmute!(sys::VkOpacityMicromapFormatEXT => OpacityMicromapFormatEXT);
impl_to_sys!(OpacityMicromapFormatEXT => sys::VkOpacityMicromapFormatEXT);
impl_enum!(OpacityMicromapFormatEXT => sys::VkOpacityMicromapFormatEXT);
impl OpacityMicromapFormatEXT {
/// `VK_OPACITY_MICROMAP_FORMAT_2_STATE_EXT` = `1`
pub const _2StateExt: Self = Self(sys::VK_OPACITY_MICROMAP_FORMAT_2_STATE_EXT.0);
/// `VK_OPACITY_MICROMAP_FORMAT_4_STATE_EXT` = `2`
pub const _4StateExt: Self = Self(sys::VK_OPACITY_MICROMAP_FORMAT_4_STATE_EXT.0);
}
impl_enum_display!(OpacityMicromapFormatEXT = VkOpacityMicromapFormatEXT { _2StateExt, _4StateExt });
/// `VkOpacityMicromapSpecialIndexEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct OpacityMicromapSpecialIndexEXT(pub i32);
from_into_transparent!(OpacityMicromapSpecialIndexEXT : i32);
from_by_transmute!(OpacityMicromapSpecialIndexEXT => sys::VkOpacityMicromapSpecialIndexEXT);
from_by_transmute!(sys::VkOpacityMicromapSpecialIndexEXT => OpacityMicromapSpecialIndexEXT);
impl_to_sys!(OpacityMicromapSpecialIndexEXT => sys::VkOpacityMicromapSpecialIndexEXT);
impl_enum!(OpacityMicromapSpecialIndexEXT => sys::VkOpacityMicromapSpecialIndexEXT);
impl OpacityMicromapSpecialIndexEXT {
/// `VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_TRANSPARENT_EXT` = `-1`
pub const FullyTransparentExt: Self = Self(sys::VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_TRANSPARENT_EXT.0);
/// `VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_OPAQUE_EXT` = `-2`
pub const FullyOpaqueExt: Self = Self(sys::VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_OPAQUE_EXT.0);
/// `VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_TRANSPARENT_EXT` = `-3`
pub const FullyUnknownTransparentExt: Self = Self(sys::VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_TRANSPARENT_EXT.0);
/// `VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_OPAQUE_EXT` = `-4`
pub const FullyUnknownOpaqueExt: Self = Self(sys::VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_OPAQUE_EXT.0);
/// `VK_OPACITY_MICROMAP_SPECIAL_INDEX_CLUSTER_GEOMETRY_DISABLE_OPACITY_MICROMAP_NV` = `-5`
pub const ClusterGeometryDisableOpacityMicromapNv: Self = Self(sys::VK_OPACITY_MICROMAP_SPECIAL_INDEX_CLUSTER_GEOMETRY_DISABLE_OPACITY_MICROMAP_NV.0);
}
impl_enum_display!(OpacityMicromapSpecialIndexEXT = VkOpacityMicromapSpecialIndexEXT { FullyTransparentExt, FullyOpaqueExt, FullyUnknownTransparentExt, FullyUnknownOpaqueExt, ClusterGeometryDisableOpacityMicromapNv });
/// `VkOpticalFlowExecuteFlagsNV`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct OpticalFlowExecuteFlagsNV(pub i32);
flags!(OpticalFlowExecuteFlagsNV);
from_into_transparent!(OpticalFlowExecuteFlagsNV : i32);
from_by_transmute!(OpticalFlowExecuteFlagsNV => sys::VkOpticalFlowExecuteFlagsNV);
from_by_transmute!(sys::VkOpticalFlowExecuteFlagsNV => OpticalFlowExecuteFlagsNV);
impl_to_sys!(OpticalFlowExecuteFlagsNV => sys::VkOpticalFlowExecuteFlagsNV);
impl_enum!(OpticalFlowExecuteFlagsNV => sys::VkOpticalFlowExecuteFlagsNV);
impl OpticalFlowExecuteFlagsNV {
/// `VK_OPTICAL_FLOW_EXECUTE_DISABLE_TEMPORAL_HINTS_BIT_NV` = `1 << 0`
pub const DisableTemporalHintsNv: Self = Self(sys::VK_OPTICAL_FLOW_EXECUTE_DISABLE_TEMPORAL_HINTS_BIT_NV.0);
}
impl_flags_display!(OpticalFlowExecuteFlagsNV = VkOpticalFlowExecuteFlagsNV { DisableTemporalHintsNv });
/// `VkOpticalFlowGridSizeFlagsNV`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct OpticalFlowGridSizeFlagsNV(pub i32);
flags!(OpticalFlowGridSizeFlagsNV);
from_into_transparent!(OpticalFlowGridSizeFlagsNV : i32);
from_by_transmute!(OpticalFlowGridSizeFlagsNV => sys::VkOpticalFlowGridSizeFlagsNV);
from_by_transmute!(sys::VkOpticalFlowGridSizeFlagsNV => OpticalFlowGridSizeFlagsNV);
impl_to_sys!(OpticalFlowGridSizeFlagsNV => sys::VkOpticalFlowGridSizeFlagsNV);
impl_enum!(OpticalFlowGridSizeFlagsNV => sys::VkOpticalFlowGridSizeFlagsNV);
impl OpticalFlowGridSizeFlagsNV {
/// `VK_OPTICAL_FLOW_GRID_SIZE_UNKNOWN_NV` = `0`
pub const UnknownNv: Self = Self(sys::VK_OPTICAL_FLOW_GRID_SIZE_UNKNOWN_NV.0);
/// `VK_OPTICAL_FLOW_GRID_SIZE_1X1_BIT_NV` = `1 << 0`
pub const _1x1Nv: Self = Self(sys::VK_OPTICAL_FLOW_GRID_SIZE_1X1_BIT_NV.0);
/// `VK_OPTICAL_FLOW_GRID_SIZE_2X2_BIT_NV` = `1 << 1`
pub const _2x2Nv: Self = Self(sys::VK_OPTICAL_FLOW_GRID_SIZE_2X2_BIT_NV.0);
/// `VK_OPTICAL_FLOW_GRID_SIZE_4X4_BIT_NV` = `1 << 2`
pub const _4x4Nv: Self = Self(sys::VK_OPTICAL_FLOW_GRID_SIZE_4X4_BIT_NV.0);
/// `VK_OPTICAL_FLOW_GRID_SIZE_8X8_BIT_NV` = `1 << 3`
pub const _8x8Nv: Self = Self(sys::VK_OPTICAL_FLOW_GRID_SIZE_8X8_BIT_NV.0);
}
impl_flags_display!(OpticalFlowGridSizeFlagsNV = VkOpticalFlowGridSizeFlagsNV { UnknownNv, _1x1Nv, _2x2Nv, _4x4Nv, _8x8Nv });
/// `VkOpticalFlowPerformanceLevelNV`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct OpticalFlowPerformanceLevelNV(pub i32);
from_into_transparent!(OpticalFlowPerformanceLevelNV : i32);
from_by_transmute!(OpticalFlowPerformanceLevelNV => sys::VkOpticalFlowPerformanceLevelNV);
from_by_transmute!(sys::VkOpticalFlowPerformanceLevelNV => OpticalFlowPerformanceLevelNV);
impl_to_sys!(OpticalFlowPerformanceLevelNV => sys::VkOpticalFlowPerformanceLevelNV);
impl_enum!(OpticalFlowPerformanceLevelNV => sys::VkOpticalFlowPerformanceLevelNV);
impl OpticalFlowPerformanceLevelNV {
/// `VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_UNKNOWN_NV` = `0`
pub const UnknownNv: Self = Self(sys::VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_UNKNOWN_NV.0);
/// `VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_SLOW_NV` = `1`
pub const SlowNv: Self = Self(sys::VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_SLOW_NV.0);
/// `VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_MEDIUM_NV` = `2`
pub const MediumNv: Self = Self(sys::VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_MEDIUM_NV.0);
/// `VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_FAST_NV` = `3`
pub const FastNv: Self = Self(sys::VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_FAST_NV.0);
}
impl_enum_display!(OpticalFlowPerformanceLevelNV = VkOpticalFlowPerformanceLevelNV { UnknownNv, SlowNv, MediumNv, FastNv });
/// `VkOpticalFlowSessionBindingPointNV`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct OpticalFlowSessionBindingPointNV(pub i32);
from_into_transparent!(OpticalFlowSessionBindingPointNV : i32);
from_by_transmute!(OpticalFlowSessionBindingPointNV => sys::VkOpticalFlowSessionBindingPointNV);
from_by_transmute!(sys::VkOpticalFlowSessionBindingPointNV => OpticalFlowSessionBindingPointNV);
impl_to_sys!(OpticalFlowSessionBindingPointNV => sys::VkOpticalFlowSessionBindingPointNV);
impl_enum!(OpticalFlowSessionBindingPointNV => sys::VkOpticalFlowSessionBindingPointNV);
impl OpticalFlowSessionBindingPointNV {
/// `VK_OPTICAL_FLOW_SESSION_BINDING_POINT_UNKNOWN_NV` = `0`
pub const UnknownNv: Self = Self(sys::VK_OPTICAL_FLOW_SESSION_BINDING_POINT_UNKNOWN_NV.0);
/// `VK_OPTICAL_FLOW_SESSION_BINDING_POINT_INPUT_NV` = `1`
pub const InputNv: Self = Self(sys::VK_OPTICAL_FLOW_SESSION_BINDING_POINT_INPUT_NV.0);
/// `VK_OPTICAL_FLOW_SESSION_BINDING_POINT_REFERENCE_NV` = `2`
pub const ReferenceNv: Self = Self(sys::VK_OPTICAL_FLOW_SESSION_BINDING_POINT_REFERENCE_NV.0);
/// `VK_OPTICAL_FLOW_SESSION_BINDING_POINT_HINT_NV` = `3`
pub const HintNv: Self = Self(sys::VK_OPTICAL_FLOW_SESSION_BINDING_POINT_HINT_NV.0);
/// `VK_OPTICAL_FLOW_SESSION_BINDING_POINT_FLOW_VECTOR_NV` = `4`
pub const FlowVectorNv: Self = Self(sys::VK_OPTICAL_FLOW_SESSION_BINDING_POINT_FLOW_VECTOR_NV.0);
/// `VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_FLOW_VECTOR_NV` = `5`
pub const BackwardFlowVectorNv: Self = Self(sys::VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_FLOW_VECTOR_NV.0);
/// `VK_OPTICAL_FLOW_SESSION_BINDING_POINT_COST_NV` = `6`
pub const CostNv: Self = Self(sys::VK_OPTICAL_FLOW_SESSION_BINDING_POINT_COST_NV.0);
/// `VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_COST_NV` = `7`
pub const BackwardCostNv: Self = Self(sys::VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_COST_NV.0);
/// `VK_OPTICAL_FLOW_SESSION_BINDING_POINT_GLOBAL_FLOW_NV` = `8`
pub const GlobalFlowNv: Self = Self(sys::VK_OPTICAL_FLOW_SESSION_BINDING_POINT_GLOBAL_FLOW_NV.0);
}
impl_enum_display!(OpticalFlowSessionBindingPointNV = VkOpticalFlowSessionBindingPointNV { UnknownNv, InputNv, ReferenceNv, HintNv, FlowVectorNv, BackwardFlowVectorNv, CostNv, BackwardCostNv, GlobalFlowNv });
/// `VkOpticalFlowSessionCreateFlagsNV`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct OpticalFlowSessionCreateFlagsNV(pub i32);
flags!(OpticalFlowSessionCreateFlagsNV);
from_into_transparent!(OpticalFlowSessionCreateFlagsNV : i32);
from_by_transmute!(OpticalFlowSessionCreateFlagsNV => sys::VkOpticalFlowSessionCreateFlagsNV);
from_by_transmute!(sys::VkOpticalFlowSessionCreateFlagsNV => OpticalFlowSessionCreateFlagsNV);
impl_to_sys!(OpticalFlowSessionCreateFlagsNV => sys::VkOpticalFlowSessionCreateFlagsNV);
impl_enum!(OpticalFlowSessionCreateFlagsNV => sys::VkOpticalFlowSessionCreateFlagsNV);
impl OpticalFlowSessionCreateFlagsNV {
/// `VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_HINT_BIT_NV` = `1 << 0`
pub const EnableHintNv: Self = Self(sys::VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_HINT_BIT_NV.0);
/// `VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_COST_BIT_NV` = `1 << 1`
pub const EnableCostNv: Self = Self(sys::VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_COST_BIT_NV.0);
/// `VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_GLOBAL_FLOW_BIT_NV` = `1 << 2`
pub const EnableGlobalFlowNv: Self = Self(sys::VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_GLOBAL_FLOW_BIT_NV.0);
/// `VK_OPTICAL_FLOW_SESSION_CREATE_ALLOW_REGIONS_BIT_NV` = `1 << 3`
pub const AllowRegionsNv: Self = Self(sys::VK_OPTICAL_FLOW_SESSION_CREATE_ALLOW_REGIONS_BIT_NV.0);
/// `VK_OPTICAL_FLOW_SESSION_CREATE_BOTH_DIRECTIONS_BIT_NV` = `1 << 4`
pub const BothDirectionsNv: Self = Self(sys::VK_OPTICAL_FLOW_SESSION_CREATE_BOTH_DIRECTIONS_BIT_NV.0);
}
impl_flags_display!(OpticalFlowSessionCreateFlagsNV = VkOpticalFlowSessionCreateFlagsNV { EnableHintNv, EnableCostNv, EnableGlobalFlowNv, AllowRegionsNv, BothDirectionsNv });
/// `VkOpticalFlowUsageFlagsNV`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct OpticalFlowUsageFlagsNV(pub i32);
flags!(OpticalFlowUsageFlagsNV);
from_into_transparent!(OpticalFlowUsageFlagsNV : i32);
from_by_transmute!(OpticalFlowUsageFlagsNV => sys::VkOpticalFlowUsageFlagsNV);
from_by_transmute!(sys::VkOpticalFlowUsageFlagsNV => OpticalFlowUsageFlagsNV);
impl_to_sys!(OpticalFlowUsageFlagsNV => sys::VkOpticalFlowUsageFlagsNV);
impl_enum!(OpticalFlowUsageFlagsNV => sys::VkOpticalFlowUsageFlagsNV);
impl OpticalFlowUsageFlagsNV {
/// `VK_OPTICAL_FLOW_USAGE_UNKNOWN_NV` = `0`
pub const UnknownNv: Self = Self(sys::VK_OPTICAL_FLOW_USAGE_UNKNOWN_NV.0);
/// `VK_OPTICAL_FLOW_USAGE_INPUT_BIT_NV` = `1 << 0`
pub const InputNv: Self = Self(sys::VK_OPTICAL_FLOW_USAGE_INPUT_BIT_NV.0);
/// `VK_OPTICAL_FLOW_USAGE_OUTPUT_BIT_NV` = `1 << 1`
pub const OutputNv: Self = Self(sys::VK_OPTICAL_FLOW_USAGE_OUTPUT_BIT_NV.0);
/// `VK_OPTICAL_FLOW_USAGE_HINT_BIT_NV` = `1 << 2`
pub const HintNv: Self = Self(sys::VK_OPTICAL_FLOW_USAGE_HINT_BIT_NV.0);
/// `VK_OPTICAL_FLOW_USAGE_COST_BIT_NV` = `1 << 3`
pub const CostNv: Self = Self(sys::VK_OPTICAL_FLOW_USAGE_COST_BIT_NV.0);
/// `VK_OPTICAL_FLOW_USAGE_GLOBAL_FLOW_BIT_NV` = `1 << 4`
pub const GlobalFlowNv: Self = Self(sys::VK_OPTICAL_FLOW_USAGE_GLOBAL_FLOW_BIT_NV.0);
}
impl_flags_display!(OpticalFlowUsageFlagsNV = VkOpticalFlowUsageFlagsNV { UnknownNv, InputNv, OutputNv, HintNv, CostNv, GlobalFlowNv });
/// `VkOutOfBandQueueTypeNV`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct OutOfBandQueueTypeNV(pub i32);
from_into_transparent!(OutOfBandQueueTypeNV : i32);
from_by_transmute!(OutOfBandQueueTypeNV => sys::VkOutOfBandQueueTypeNV);
from_by_transmute!(sys::VkOutOfBandQueueTypeNV => OutOfBandQueueTypeNV);
impl_to_sys!(OutOfBandQueueTypeNV => sys::VkOutOfBandQueueTypeNV);
impl_enum!(OutOfBandQueueTypeNV => sys::VkOutOfBandQueueTypeNV);
impl OutOfBandQueueTypeNV {
/// `VK_OUT_OF_BAND_QUEUE_TYPE_RENDER_NV` = `0`
pub const RenderNv: Self = Self(sys::VK_OUT_OF_BAND_QUEUE_TYPE_RENDER_NV.0);
/// `VK_OUT_OF_BAND_QUEUE_TYPE_PRESENT_NV` = `1`
pub const PresentNv: Self = Self(sys::VK_OUT_OF_BAND_QUEUE_TYPE_PRESENT_NV.0);
}
impl_enum_display!(OutOfBandQueueTypeNV = VkOutOfBandQueueTypeNV { RenderNv, PresentNv });
/// `VkPartitionedAccelerationStructureInstanceFlagsNV`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PartitionedAccelerationStructureInstanceFlagsNV(pub i32);
flags!(PartitionedAccelerationStructureInstanceFlagsNV);
from_into_transparent!(PartitionedAccelerationStructureInstanceFlagsNV : i32);
from_by_transmute!(PartitionedAccelerationStructureInstanceFlagsNV => sys::VkPartitionedAccelerationStructureInstanceFlagsNV);
from_by_transmute!(sys::VkPartitionedAccelerationStructureInstanceFlagsNV => PartitionedAccelerationStructureInstanceFlagsNV);
impl_to_sys!(PartitionedAccelerationStructureInstanceFlagsNV => sys::VkPartitionedAccelerationStructureInstanceFlagsNV);
impl_enum!(PartitionedAccelerationStructureInstanceFlagsNV => sys::VkPartitionedAccelerationStructureInstanceFlagsNV);
impl PartitionedAccelerationStructureInstanceFlagsNV {
/// `VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_TRIANGLE_FACING_CULL_DISABLE_BIT_NV` = `1 << 0`
pub const FlagTriangleFacingCullDisableNv: Self = Self(sys::VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_TRIANGLE_FACING_CULL_DISABLE_BIT_NV.0);
/// `VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_TRIANGLE_FLIP_FACING_BIT_NV` = `1 << 1`
pub const FlagTriangleFlipFacingNv: Self = Self(sys::VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_TRIANGLE_FLIP_FACING_BIT_NV.0);
/// `VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_FORCE_OPAQUE_BIT_NV` = `1 << 2`
pub const FlagForceOpaqueNv: Self = Self(sys::VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_FORCE_OPAQUE_BIT_NV.0);
/// `VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_FORCE_NO_OPAQUE_BIT_NV` = `1 << 3`
pub const FlagForceNoOpaqueNv: Self = Self(sys::VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_FORCE_NO_OPAQUE_BIT_NV.0);
/// `VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_ENABLE_EXPLICIT_BOUNDING_BOX_NV` = `1 << 4`
pub const FlagEnableExplicitBoundingBoxNv: Self = Self(sys::VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_ENABLE_EXPLICIT_BOUNDING_BOX_NV.0);
}
impl_flags_display!(PartitionedAccelerationStructureInstanceFlagsNV = VkPartitionedAccelerationStructureInstanceFlagsNV { FlagTriangleFacingCullDisableNv, FlagTriangleFlipFacingNv, FlagForceOpaqueNv, FlagForceNoOpaqueNv, FlagEnableExplicitBoundingBoxNv });
/// `VkPartitionedAccelerationStructureOpTypeNV`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PartitionedAccelerationStructureOpTypeNV(pub i32);
from_into_transparent!(PartitionedAccelerationStructureOpTypeNV : i32);
from_by_transmute!(PartitionedAccelerationStructureOpTypeNV => sys::VkPartitionedAccelerationStructureOpTypeNV);
from_by_transmute!(sys::VkPartitionedAccelerationStructureOpTypeNV => PartitionedAccelerationStructureOpTypeNV);
impl_to_sys!(PartitionedAccelerationStructureOpTypeNV => sys::VkPartitionedAccelerationStructureOpTypeNV);
impl_enum!(PartitionedAccelerationStructureOpTypeNV => sys::VkPartitionedAccelerationStructureOpTypeNV);
impl PartitionedAccelerationStructureOpTypeNV {
/// `VK_PARTITIONED_ACCELERATION_STRUCTURE_OP_TYPE_WRITE_INSTANCE_NV` = `0`
pub const WriteInstanceNv: Self = Self(sys::VK_PARTITIONED_ACCELERATION_STRUCTURE_OP_TYPE_WRITE_INSTANCE_NV.0);
/// `VK_PARTITIONED_ACCELERATION_STRUCTURE_OP_TYPE_UPDATE_INSTANCE_NV` = `1`
pub const UpdateInstanceNv: Self = Self(sys::VK_PARTITIONED_ACCELERATION_STRUCTURE_OP_TYPE_UPDATE_INSTANCE_NV.0);
/// `VK_PARTITIONED_ACCELERATION_STRUCTURE_OP_TYPE_WRITE_PARTITION_TRANSLATION_NV` = `2`
pub const WritePartitionTranslationNv: Self = Self(sys::VK_PARTITIONED_ACCELERATION_STRUCTURE_OP_TYPE_WRITE_PARTITION_TRANSLATION_NV.0);
}
impl_enum_display!(PartitionedAccelerationStructureOpTypeNV = VkPartitionedAccelerationStructureOpTypeNV { WriteInstanceNv, UpdateInstanceNv, WritePartitionTranslationNv });
/// `VkPastPresentationTimingFlagsEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PastPresentationTimingFlagsEXT(pub i32);
flags!(PastPresentationTimingFlagsEXT);
from_into_transparent!(PastPresentationTimingFlagsEXT : i32);
from_by_transmute!(PastPresentationTimingFlagsEXT => sys::VkPastPresentationTimingFlagsEXT);
from_by_transmute!(sys::VkPastPresentationTimingFlagsEXT => PastPresentationTimingFlagsEXT);
impl_to_sys!(PastPresentationTimingFlagsEXT => sys::VkPastPresentationTimingFlagsEXT);
impl_enum!(PastPresentationTimingFlagsEXT => sys::VkPastPresentationTimingFlagsEXT);
impl PastPresentationTimingFlagsEXT {
/// `VK_PAST_PRESENTATION_TIMING_ALLOW_PARTIAL_RESULTS_BIT_EXT` = `1 << 0`
pub const AllowPartialResultsExt: Self = Self(sys::VK_PAST_PRESENTATION_TIMING_ALLOW_PARTIAL_RESULTS_BIT_EXT.0);
/// `VK_PAST_PRESENTATION_TIMING_ALLOW_OUT_OF_ORDER_RESULTS_BIT_EXT` = `1 << 1`
pub const AllowOutOfOrderResultsExt: Self = Self(sys::VK_PAST_PRESENTATION_TIMING_ALLOW_OUT_OF_ORDER_RESULTS_BIT_EXT.0);
}
impl_flags_display!(PastPresentationTimingFlagsEXT = VkPastPresentationTimingFlagsEXT { AllowPartialResultsExt, AllowOutOfOrderResultsExt });
/// `VkPeerMemoryFeatureFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PeerMemoryFeatureFlags(pub i32);
flags!(PeerMemoryFeatureFlags);
from_into_transparent!(PeerMemoryFeatureFlags : i32);
from_by_transmute!(PeerMemoryFeatureFlags => sys::VkPeerMemoryFeatureFlags);
from_by_transmute!(sys::VkPeerMemoryFeatureFlags => PeerMemoryFeatureFlags);
impl_to_sys!(PeerMemoryFeatureFlags => sys::VkPeerMemoryFeatureFlags);
impl_enum!(PeerMemoryFeatureFlags => sys::VkPeerMemoryFeatureFlags);
impl PeerMemoryFeatureFlags {
/// `VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT` = `1 << 0`
///
/// Can read with vkCmdCopy commands
pub const CopySrc: Self = Self(sys::VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT.0);
/// `VK_PEER_MEMORY_FEATURE_COPY_DST_BIT` = `1 << 1`
///
/// Can write with vkCmdCopy commands
pub const CopyDst: Self = Self(sys::VK_PEER_MEMORY_FEATURE_COPY_DST_BIT.0);
/// `VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT` = `1 << 2`
///
/// Can read with any access type/command
pub const GenericSrc: Self = Self(sys::VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT.0);
/// `VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT` = `1 << 3`
///
/// Can write with and access type/command
pub const GenericDst: Self = Self(sys::VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT.0);
/// `VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR` = `VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT`
pub const CopySrcKhr: Self = Self(sys::VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT_KHR.0);
/// `VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR` = `VK_PEER_MEMORY_FEATURE_COPY_DST_BIT`
pub const CopyDstKhr: Self = Self(sys::VK_PEER_MEMORY_FEATURE_COPY_DST_BIT_KHR.0);
/// `VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR` = `VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT`
pub const GenericSrcKhr: Self = Self(sys::VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT_KHR.0);
/// `VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR` = `VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT`
pub const GenericDstKhr: Self = Self(sys::VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT_KHR.0);
}
impl_flags_display!(PeerMemoryFeatureFlags = VkPeerMemoryFeatureFlags { CopySrc, CopyDst, GenericSrc, GenericDst, CopySrcKhr, CopyDstKhr, GenericSrcKhr, GenericDstKhr });
/// `VkPeerMemoryFeatureFlagsKHR` = `VkPeerMemoryFeatureFlags`
pub type PeerMemoryFeatureFlagsKHR = PeerMemoryFeatureFlags;
/// `VkPerformanceConfigurationTypeINTEL`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PerformanceConfigurationTypeINTEL(pub i32);
from_into_transparent!(PerformanceConfigurationTypeINTEL : i32);
from_by_transmute!(PerformanceConfigurationTypeINTEL => sys::VkPerformanceConfigurationTypeINTEL);
from_by_transmute!(sys::VkPerformanceConfigurationTypeINTEL => PerformanceConfigurationTypeINTEL);
impl_to_sys!(PerformanceConfigurationTypeINTEL => sys::VkPerformanceConfigurationTypeINTEL);
impl_enum!(PerformanceConfigurationTypeINTEL => sys::VkPerformanceConfigurationTypeINTEL);
impl PerformanceConfigurationTypeINTEL {
/// `VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL` = `0`
pub const CommandQueueMetricsDiscoveryActivatedIntel: Self = Self(sys::VK_PERFORMANCE_CONFIGURATION_TYPE_COMMAND_QUEUE_METRICS_DISCOVERY_ACTIVATED_INTEL.0);
}
impl_enum_display!(PerformanceConfigurationTypeINTEL = VkPerformanceConfigurationTypeINTEL { CommandQueueMetricsDiscoveryActivatedIntel });
/// `VkPerformanceCounterDescriptionFlagsARM`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PerformanceCounterDescriptionFlagsARM(pub i32);
flags!(PerformanceCounterDescriptionFlagsARM);
from_into_transparent!(PerformanceCounterDescriptionFlagsARM : i32);
from_by_transmute!(PerformanceCounterDescriptionFlagsARM => sys::VkPerformanceCounterDescriptionFlagsARM);
from_by_transmute!(sys::VkPerformanceCounterDescriptionFlagsARM => PerformanceCounterDescriptionFlagsARM);
impl_to_sys!(PerformanceCounterDescriptionFlagsARM => sys::VkPerformanceCounterDescriptionFlagsARM);
impl_enum!(PerformanceCounterDescriptionFlagsARM => sys::VkPerformanceCounterDescriptionFlagsARM);
impl_flags_display!(PerformanceCounterDescriptionFlagsARM = VkPerformanceCounterDescriptionFlagsARM { });
/// `VkPerformanceCounterDescriptionFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PerformanceCounterDescriptionFlagsKHR(pub i32);
flags!(PerformanceCounterDescriptionFlagsKHR);
from_into_transparent!(PerformanceCounterDescriptionFlagsKHR : i32);
from_by_transmute!(PerformanceCounterDescriptionFlagsKHR => sys::VkPerformanceCounterDescriptionFlagsKHR);
from_by_transmute!(sys::VkPerformanceCounterDescriptionFlagsKHR => PerformanceCounterDescriptionFlagsKHR);
impl_to_sys!(PerformanceCounterDescriptionFlagsKHR => sys::VkPerformanceCounterDescriptionFlagsKHR);
impl_enum!(PerformanceCounterDescriptionFlagsKHR => sys::VkPerformanceCounterDescriptionFlagsKHR);
impl PerformanceCounterDescriptionFlagsKHR {
/// `VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR` = `1 << 0`
pub const PerformanceImpactingKhr: Self = Self(sys::VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR.0);
/// `VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR` = `1 << 1`
pub const ConcurrentlyImpactedKhr: Self = Self(sys::VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR.0);
}
impl_flags_display!(PerformanceCounterDescriptionFlagsKHR = VkPerformanceCounterDescriptionFlagsKHR { PerformanceImpactingKhr, ConcurrentlyImpactedKhr });
/// `VkPerformanceCounterScopeKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PerformanceCounterScopeKHR(pub i32);
from_into_transparent!(PerformanceCounterScopeKHR : i32);
from_by_transmute!(PerformanceCounterScopeKHR => sys::VkPerformanceCounterScopeKHR);
from_by_transmute!(sys::VkPerformanceCounterScopeKHR => PerformanceCounterScopeKHR);
impl_to_sys!(PerformanceCounterScopeKHR => sys::VkPerformanceCounterScopeKHR);
impl_enum!(PerformanceCounterScopeKHR => sys::VkPerformanceCounterScopeKHR);
impl PerformanceCounterScopeKHR {
/// `VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR` = `0`
pub const PerformanceCounterScopeCommandBufferKhr: Self = Self(sys::VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR.0);
/// `VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR` = `1`
pub const PerformanceCounterScopeRenderPassKhr: Self = Self(sys::VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR.0);
/// `VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR` = `2`
pub const PerformanceCounterScopeCommandKhr: Self = Self(sys::VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR.0);
/// `VK_QUERY_SCOPE_COMMAND_BUFFER_KHR` = `VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_BUFFER_KHR`
pub const QueryScopeCommandBufferKhr: Self = Self(sys::VK_QUERY_SCOPE_COMMAND_BUFFER_KHR.0);
/// `VK_QUERY_SCOPE_RENDER_PASS_KHR` = `VK_PERFORMANCE_COUNTER_SCOPE_RENDER_PASS_KHR`
pub const QueryScopeRenderPassKhr: Self = Self(sys::VK_QUERY_SCOPE_RENDER_PASS_KHR.0);
/// `VK_QUERY_SCOPE_COMMAND_KHR` = `VK_PERFORMANCE_COUNTER_SCOPE_COMMAND_KHR`
pub const QueryScopeCommandKhr: Self = Self(sys::VK_QUERY_SCOPE_COMMAND_KHR.0);
}
impl_enum_display!(PerformanceCounterScopeKHR = VkPerformanceCounterScopeKHR { PerformanceCounterScopeCommandBufferKhr, PerformanceCounterScopeRenderPassKhr, PerformanceCounterScopeCommandKhr, QueryScopeCommandBufferKhr, QueryScopeRenderPassKhr, QueryScopeCommandKhr });
/// `VkPerformanceCounterStorageKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PerformanceCounterStorageKHR(pub i32);
from_into_transparent!(PerformanceCounterStorageKHR : i32);
from_by_transmute!(PerformanceCounterStorageKHR => sys::VkPerformanceCounterStorageKHR);
from_by_transmute!(sys::VkPerformanceCounterStorageKHR => PerformanceCounterStorageKHR);
impl_to_sys!(PerformanceCounterStorageKHR => sys::VkPerformanceCounterStorageKHR);
impl_enum!(PerformanceCounterStorageKHR => sys::VkPerformanceCounterStorageKHR);
impl PerformanceCounterStorageKHR {
/// `VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR` = `0`
pub const Int32Khr: Self = Self(sys::VK_PERFORMANCE_COUNTER_STORAGE_INT32_KHR.0);
/// `VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR` = `1`
pub const Int64Khr: Self = Self(sys::VK_PERFORMANCE_COUNTER_STORAGE_INT64_KHR.0);
/// `VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR` = `2`
pub const Uint32Khr: Self = Self(sys::VK_PERFORMANCE_COUNTER_STORAGE_UINT32_KHR.0);
/// `VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR` = `3`
pub const Uint64Khr: Self = Self(sys::VK_PERFORMANCE_COUNTER_STORAGE_UINT64_KHR.0);
/// `VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR` = `4`
pub const Float32Khr: Self = Self(sys::VK_PERFORMANCE_COUNTER_STORAGE_FLOAT32_KHR.0);
/// `VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR` = `5`
pub const Float64Khr: Self = Self(sys::VK_PERFORMANCE_COUNTER_STORAGE_FLOAT64_KHR.0);
}
impl_enum_display!(PerformanceCounterStorageKHR = VkPerformanceCounterStorageKHR { Int32Khr, Int64Khr, Uint32Khr, Uint64Khr, Float32Khr, Float64Khr });
/// `VkPerformanceCounterUnitKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PerformanceCounterUnitKHR(pub i32);
from_into_transparent!(PerformanceCounterUnitKHR : i32);
from_by_transmute!(PerformanceCounterUnitKHR => sys::VkPerformanceCounterUnitKHR);
from_by_transmute!(sys::VkPerformanceCounterUnitKHR => PerformanceCounterUnitKHR);
impl_to_sys!(PerformanceCounterUnitKHR => sys::VkPerformanceCounterUnitKHR);
impl_enum!(PerformanceCounterUnitKHR => sys::VkPerformanceCounterUnitKHR);
impl PerformanceCounterUnitKHR {
/// `VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR` = `0`
pub const GenericKhr: Self = Self(sys::VK_PERFORMANCE_COUNTER_UNIT_GENERIC_KHR.0);
/// `VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR` = `1`
pub const PercentageKhr: Self = Self(sys::VK_PERFORMANCE_COUNTER_UNIT_PERCENTAGE_KHR.0);
/// `VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR` = `2`
pub const NanosecondsKhr: Self = Self(sys::VK_PERFORMANCE_COUNTER_UNIT_NANOSECONDS_KHR.0);
/// `VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR` = `3`
pub const BytesKhr: Self = Self(sys::VK_PERFORMANCE_COUNTER_UNIT_BYTES_KHR.0);
/// `VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR` = `4`
pub const BytesPerSecondKhr: Self = Self(sys::VK_PERFORMANCE_COUNTER_UNIT_BYTES_PER_SECOND_KHR.0);
/// `VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR` = `5`
pub const KelvinKhr: Self = Self(sys::VK_PERFORMANCE_COUNTER_UNIT_KELVIN_KHR.0);
/// `VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR` = `6`
pub const WattsKhr: Self = Self(sys::VK_PERFORMANCE_COUNTER_UNIT_WATTS_KHR.0);
/// `VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR` = `7`
pub const VoltsKhr: Self = Self(sys::VK_PERFORMANCE_COUNTER_UNIT_VOLTS_KHR.0);
/// `VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR` = `8`
pub const AmpsKhr: Self = Self(sys::VK_PERFORMANCE_COUNTER_UNIT_AMPS_KHR.0);
/// `VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR` = `9`
pub const HertzKhr: Self = Self(sys::VK_PERFORMANCE_COUNTER_UNIT_HERTZ_KHR.0);
/// `VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR` = `10`
pub const CyclesKhr: Self = Self(sys::VK_PERFORMANCE_COUNTER_UNIT_CYCLES_KHR.0);
}
impl_enum_display!(PerformanceCounterUnitKHR = VkPerformanceCounterUnitKHR { GenericKhr, PercentageKhr, NanosecondsKhr, BytesKhr, BytesPerSecondKhr, KelvinKhr, WattsKhr, VoltsKhr, AmpsKhr, HertzKhr, CyclesKhr });
/// `VkPerformanceOverrideTypeINTEL`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PerformanceOverrideTypeINTEL(pub i32);
from_into_transparent!(PerformanceOverrideTypeINTEL : i32);
from_by_transmute!(PerformanceOverrideTypeINTEL => sys::VkPerformanceOverrideTypeINTEL);
from_by_transmute!(sys::VkPerformanceOverrideTypeINTEL => PerformanceOverrideTypeINTEL);
impl_to_sys!(PerformanceOverrideTypeINTEL => sys::VkPerformanceOverrideTypeINTEL);
impl_enum!(PerformanceOverrideTypeINTEL => sys::VkPerformanceOverrideTypeINTEL);
impl PerformanceOverrideTypeINTEL {
/// `VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL` = `0`
pub const NullHardwareIntel: Self = Self(sys::VK_PERFORMANCE_OVERRIDE_TYPE_NULL_HARDWARE_INTEL.0);
/// `VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL` = `1`
pub const FlushGpuCachesIntel: Self = Self(sys::VK_PERFORMANCE_OVERRIDE_TYPE_FLUSH_GPU_CACHES_INTEL.0);
}
impl_enum_display!(PerformanceOverrideTypeINTEL = VkPerformanceOverrideTypeINTEL { NullHardwareIntel, FlushGpuCachesIntel });
/// `VkPerformanceParameterTypeINTEL`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PerformanceParameterTypeINTEL(pub i32);
from_into_transparent!(PerformanceParameterTypeINTEL : i32);
from_by_transmute!(PerformanceParameterTypeINTEL => sys::VkPerformanceParameterTypeINTEL);
from_by_transmute!(sys::VkPerformanceParameterTypeINTEL => PerformanceParameterTypeINTEL);
impl_to_sys!(PerformanceParameterTypeINTEL => sys::VkPerformanceParameterTypeINTEL);
impl_enum!(PerformanceParameterTypeINTEL => sys::VkPerformanceParameterTypeINTEL);
impl PerformanceParameterTypeINTEL {
/// `VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL` = `0`
pub const HwCountersSupportedIntel: Self = Self(sys::VK_PERFORMANCE_PARAMETER_TYPE_HW_COUNTERS_SUPPORTED_INTEL.0);
/// `VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL` = `1`
pub const StreamMarkerValidBitsIntel: Self = Self(sys::VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL.0);
}
impl_enum_display!(PerformanceParameterTypeINTEL = VkPerformanceParameterTypeINTEL { HwCountersSupportedIntel, StreamMarkerValidBitsIntel });
/// `VkPerformanceValueTypeINTEL`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PerformanceValueTypeINTEL(pub i32);
from_into_transparent!(PerformanceValueTypeINTEL : i32);
from_by_transmute!(PerformanceValueTypeINTEL => sys::VkPerformanceValueTypeINTEL);
from_by_transmute!(sys::VkPerformanceValueTypeINTEL => PerformanceValueTypeINTEL);
impl_to_sys!(PerformanceValueTypeINTEL => sys::VkPerformanceValueTypeINTEL);
impl_enum!(PerformanceValueTypeINTEL => sys::VkPerformanceValueTypeINTEL);
impl PerformanceValueTypeINTEL {
/// `VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL` = `0`
pub const Uint32Intel: Self = Self(sys::VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL.0);
/// `VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL` = `1`
pub const Uint64Intel: Self = Self(sys::VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL.0);
/// `VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL` = `2`
pub const FloatIntel: Self = Self(sys::VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL.0);
/// `VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL` = `3`
pub const BoolIntel: Self = Self(sys::VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL.0);
/// `VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL` = `4`
pub const StringIntel: Self = Self(sys::VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL.0);
}
impl_enum_display!(PerformanceValueTypeINTEL = VkPerformanceValueTypeINTEL { Uint32Intel, Uint64Intel, FloatIntel, BoolIntel, StringIntel });
/// `VkPhysicalDeviceDataGraphOperationTypeARM`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PhysicalDeviceDataGraphOperationTypeARM(pub i32);
from_into_transparent!(PhysicalDeviceDataGraphOperationTypeARM : i32);
from_by_transmute!(PhysicalDeviceDataGraphOperationTypeARM => sys::VkPhysicalDeviceDataGraphOperationTypeARM);
from_by_transmute!(sys::VkPhysicalDeviceDataGraphOperationTypeARM => PhysicalDeviceDataGraphOperationTypeARM);
impl_to_sys!(PhysicalDeviceDataGraphOperationTypeARM => sys::VkPhysicalDeviceDataGraphOperationTypeARM);
impl_enum!(PhysicalDeviceDataGraphOperationTypeARM => sys::VkPhysicalDeviceDataGraphOperationTypeARM);
impl PhysicalDeviceDataGraphOperationTypeARM {
/// `VK_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_TYPE_SPIRV_EXTENDED_INSTRUCTION_SET_ARM` = `0`
pub const SpirvExtendedInstructionSetArm: Self = Self(sys::VK_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_TYPE_SPIRV_EXTENDED_INSTRUCTION_SET_ARM.0);
/// `VK_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_TYPE_NEURAL_MODEL_QCOM` = `1000629000`
pub const NeuralModelQcom: Self = Self(sys::VK_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_TYPE_NEURAL_MODEL_QCOM.0);
/// `VK_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_TYPE_BUILTIN_MODEL_QCOM` = `1000629001`
pub const BuiltinModelQcom: Self = Self(sys::VK_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_TYPE_BUILTIN_MODEL_QCOM.0);
}
impl_enum_display!(PhysicalDeviceDataGraphOperationTypeARM = VkPhysicalDeviceDataGraphOperationTypeARM { SpirvExtendedInstructionSetArm, NeuralModelQcom, BuiltinModelQcom });
/// `VkPhysicalDeviceDataGraphProcessingEngineTypeARM`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PhysicalDeviceDataGraphProcessingEngineTypeARM(pub i32);
from_into_transparent!(PhysicalDeviceDataGraphProcessingEngineTypeARM : i32);
from_by_transmute!(PhysicalDeviceDataGraphProcessingEngineTypeARM => sys::VkPhysicalDeviceDataGraphProcessingEngineTypeARM);
from_by_transmute!(sys::VkPhysicalDeviceDataGraphProcessingEngineTypeARM => PhysicalDeviceDataGraphProcessingEngineTypeARM);
impl_to_sys!(PhysicalDeviceDataGraphProcessingEngineTypeARM => sys::VkPhysicalDeviceDataGraphProcessingEngineTypeARM);
impl_enum!(PhysicalDeviceDataGraphProcessingEngineTypeARM => sys::VkPhysicalDeviceDataGraphProcessingEngineTypeARM);
impl PhysicalDeviceDataGraphProcessingEngineTypeARM {
/// `VK_PHYSICAL_DEVICE_DATA_GRAPH_PROCESSING_ENGINE_TYPE_DEFAULT_ARM` = `0`
pub const DefaultArm: Self = Self(sys::VK_PHYSICAL_DEVICE_DATA_GRAPH_PROCESSING_ENGINE_TYPE_DEFAULT_ARM.0);
/// `VK_PHYSICAL_DEVICE_DATA_GRAPH_PROCESSING_ENGINE_TYPE_NEURAL_QCOM` = `1000629000`
pub const NeuralQcom: Self = Self(sys::VK_PHYSICAL_DEVICE_DATA_GRAPH_PROCESSING_ENGINE_TYPE_NEURAL_QCOM.0);
/// `VK_PHYSICAL_DEVICE_DATA_GRAPH_PROCESSING_ENGINE_TYPE_COMPUTE_QCOM` = `1000629001`
pub const ComputeQcom: Self = Self(sys::VK_PHYSICAL_DEVICE_DATA_GRAPH_PROCESSING_ENGINE_TYPE_COMPUTE_QCOM.0);
}
impl_enum_display!(PhysicalDeviceDataGraphProcessingEngineTypeARM = VkPhysicalDeviceDataGraphProcessingEngineTypeARM { DefaultArm, NeuralQcom, ComputeQcom });
/// `VkPhysicalDeviceLayeredApiKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PhysicalDeviceLayeredApiKHR(pub i32);
from_into_transparent!(PhysicalDeviceLayeredApiKHR : i32);
from_by_transmute!(PhysicalDeviceLayeredApiKHR => sys::VkPhysicalDeviceLayeredApiKHR);
from_by_transmute!(sys::VkPhysicalDeviceLayeredApiKHR => PhysicalDeviceLayeredApiKHR);
impl_to_sys!(PhysicalDeviceLayeredApiKHR => sys::VkPhysicalDeviceLayeredApiKHR);
impl_enum!(PhysicalDeviceLayeredApiKHR => sys::VkPhysicalDeviceLayeredApiKHR);
impl PhysicalDeviceLayeredApiKHR {
/// `VK_PHYSICAL_DEVICE_LAYERED_API_VULKAN_KHR` = `0`
pub const VulkanKhr: Self = Self(sys::VK_PHYSICAL_DEVICE_LAYERED_API_VULKAN_KHR.0);
/// `VK_PHYSICAL_DEVICE_LAYERED_API_D3D12_KHR` = `1`
pub const D3d12Khr: Self = Self(sys::VK_PHYSICAL_DEVICE_LAYERED_API_D3D12_KHR.0);
/// `VK_PHYSICAL_DEVICE_LAYERED_API_METAL_KHR` = `2`
pub const MetalKhr: Self = Self(sys::VK_PHYSICAL_DEVICE_LAYERED_API_METAL_KHR.0);
/// `VK_PHYSICAL_DEVICE_LAYERED_API_OPENGL_KHR` = `3`
pub const OpenglKhr: Self = Self(sys::VK_PHYSICAL_DEVICE_LAYERED_API_OPENGL_KHR.0);
/// `VK_PHYSICAL_DEVICE_LAYERED_API_OPENGLES_KHR` = `4`
pub const OpenglesKhr: Self = Self(sys::VK_PHYSICAL_DEVICE_LAYERED_API_OPENGLES_KHR.0);
}
impl_enum_display!(PhysicalDeviceLayeredApiKHR = VkPhysicalDeviceLayeredApiKHR { VulkanKhr, D3d12Khr, MetalKhr, OpenglKhr, OpenglesKhr });
/// `VkPhysicalDeviceSchedulingControlsFlagsARM`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PhysicalDeviceSchedulingControlsFlagsARM(pub i64);
flags!(PhysicalDeviceSchedulingControlsFlagsARM);
from_into_transparent!(PhysicalDeviceSchedulingControlsFlagsARM : i64);
from_by_transmute!(PhysicalDeviceSchedulingControlsFlagsARM => sys::VkPhysicalDeviceSchedulingControlsFlagsARM);
from_by_transmute!(sys::VkPhysicalDeviceSchedulingControlsFlagsARM => PhysicalDeviceSchedulingControlsFlagsARM);
impl_to_sys!(PhysicalDeviceSchedulingControlsFlagsARM => sys::VkPhysicalDeviceSchedulingControlsFlagsARM);
impl_enum!(PhysicalDeviceSchedulingControlsFlagsARM => sys::VkPhysicalDeviceSchedulingControlsFlagsARM);
impl PhysicalDeviceSchedulingControlsFlagsARM {
/// `VK_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_SHADER_CORE_COUNT_ARM` = `1 << 0`
pub const ShaderCoreCountArm: Self = Self(sys::VK_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_SHADER_CORE_COUNT_ARM.0);
}
impl_flags_display!(PhysicalDeviceSchedulingControlsFlagsARM = VkPhysicalDeviceSchedulingControlsFlagsARM { ShaderCoreCountArm });
/// `VkPhysicalDeviceType`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PhysicalDeviceType(pub i32);
from_into_transparent!(PhysicalDeviceType : i32);
from_by_transmute!(PhysicalDeviceType => sys::VkPhysicalDeviceType);
from_by_transmute!(sys::VkPhysicalDeviceType => PhysicalDeviceType);
impl_to_sys!(PhysicalDeviceType => sys::VkPhysicalDeviceType);
impl_enum!(PhysicalDeviceType => sys::VkPhysicalDeviceType);
impl PhysicalDeviceType {
/// `VK_PHYSICAL_DEVICE_TYPE_OTHER` = `0`
pub const Other: Self = Self(sys::VK_PHYSICAL_DEVICE_TYPE_OTHER.0);
/// `VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU` = `1`
pub const IntegratedGpu: Self = Self(sys::VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU.0);
/// `VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU` = `2`
pub const DiscreteGpu: Self = Self(sys::VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU.0);
/// `VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU` = `3`
pub const VirtualGpu: Self = Self(sys::VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU.0);
/// `VK_PHYSICAL_DEVICE_TYPE_CPU` = `4`
pub const Cpu: Self = Self(sys::VK_PHYSICAL_DEVICE_TYPE_CPU.0);
}
impl_enum_display!(PhysicalDeviceType = VkPhysicalDeviceType { Other, IntegratedGpu, DiscreteGpu, VirtualGpu, Cpu });
/// `VkPipelineBindPoint`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PipelineBindPoint(pub i32);
from_into_transparent!(PipelineBindPoint : i32);
from_by_transmute!(PipelineBindPoint => sys::VkPipelineBindPoint);
from_by_transmute!(sys::VkPipelineBindPoint => PipelineBindPoint);
impl_to_sys!(PipelineBindPoint => sys::VkPipelineBindPoint);
impl_enum!(PipelineBindPoint => sys::VkPipelineBindPoint);
impl PipelineBindPoint {
/// `VK_PIPELINE_BIND_POINT_GRAPHICS` = `0`
pub const Graphics: Self = Self(sys::VK_PIPELINE_BIND_POINT_GRAPHICS.0);
/// `VK_PIPELINE_BIND_POINT_COMPUTE` = `1`
pub const Compute: Self = Self(sys::VK_PIPELINE_BIND_POINT_COMPUTE.0);
/// `VK_PIPELINE_BIND_POINT_EXECUTION_GRAPH_AMDX` = `1000134000`
pub const ExecutionGraphAmdx: Self = Self(sys::VK_PIPELINE_BIND_POINT_EXECUTION_GRAPH_AMDX.0);
/// `VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR` = `1000165000`
pub const RayTracingKhr: Self = Self(sys::VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR.0);
/// `VK_PIPELINE_BIND_POINT_RAY_TRACING_NV` = `VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR`
pub const RayTracingNv: Self = Self(sys::VK_PIPELINE_BIND_POINT_RAY_TRACING_NV.0);
/// `VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI` = `1000369003`
pub const SubpassShadingHuawei: Self = Self(sys::VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI.0);
/// `VK_PIPELINE_BIND_POINT_DATA_GRAPH_ARM` = `1000507000`
pub const DataGraphArm: Self = Self(sys::VK_PIPELINE_BIND_POINT_DATA_GRAPH_ARM.0);
}
impl_enum_display!(PipelineBindPoint = VkPipelineBindPoint { Graphics, Compute, ExecutionGraphAmdx, RayTracingKhr, RayTracingNv, SubpassShadingHuawei, DataGraphArm });
/// `VkPipelineCacheCreateFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PipelineCacheCreateFlags(pub i32);
flags!(PipelineCacheCreateFlags);
from_into_transparent!(PipelineCacheCreateFlags : i32);
from_by_transmute!(PipelineCacheCreateFlags => sys::VkPipelineCacheCreateFlags);
from_by_transmute!(sys::VkPipelineCacheCreateFlags => PipelineCacheCreateFlags);
impl_to_sys!(PipelineCacheCreateFlags => sys::VkPipelineCacheCreateFlags);
impl_enum!(PipelineCacheCreateFlags => sys::VkPipelineCacheCreateFlags);
impl PipelineCacheCreateFlags {
/// `VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT` = `1 << 0`
pub const ExternallySynchronized: Self = Self(sys::VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT.0);
/// `VK_PIPELINE_CACHE_CREATE_READ_ONLY_BIT` = `1 << 1`
pub const ReadOnly: Self = Self(sys::VK_PIPELINE_CACHE_CREATE_READ_ONLY_BIT.0);
/// `VK_PIPELINE_CACHE_CREATE_USE_APPLICATION_STORAGE_BIT` = `1 << 2`
pub const UseApplicationStorage: Self = Self(sys::VK_PIPELINE_CACHE_CREATE_USE_APPLICATION_STORAGE_BIT.0);
/// `VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT` = `VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT`
pub const ExternallySynchronizedExt: Self = Self(sys::VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT.0);
/// `VK_PIPELINE_CACHE_CREATE_INTERNALLY_SYNCHRONIZED_MERGE_BIT_KHR` = `1 << 3`
pub const InternallySynchronizedMergeKhr: Self = Self(sys::VK_PIPELINE_CACHE_CREATE_INTERNALLY_SYNCHRONIZED_MERGE_BIT_KHR.0);
}
impl_flags_display!(PipelineCacheCreateFlags = VkPipelineCacheCreateFlags { ExternallySynchronized, ReadOnly, UseApplicationStorage, ExternallySynchronizedExt, InternallySynchronizedMergeKhr });
/// `VkPipelineCacheHeaderVersion`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PipelineCacheHeaderVersion(pub i32);
from_into_transparent!(PipelineCacheHeaderVersion : i32);
from_by_transmute!(PipelineCacheHeaderVersion => sys::VkPipelineCacheHeaderVersion);
from_by_transmute!(sys::VkPipelineCacheHeaderVersion => PipelineCacheHeaderVersion);
impl_to_sys!(PipelineCacheHeaderVersion => sys::VkPipelineCacheHeaderVersion);
impl_enum!(PipelineCacheHeaderVersion => sys::VkPipelineCacheHeaderVersion);
impl PipelineCacheHeaderVersion {
/// `VK_PIPELINE_CACHE_HEADER_VERSION_ONE` = `1`
pub const One: Self = Self(sys::VK_PIPELINE_CACHE_HEADER_VERSION_ONE.0);
/// `VK_PIPELINE_CACHE_HEADER_VERSION_SAFETY_CRITICAL_ONE` = `1000298001`
pub const SafetyCriticalOne: Self = Self(sys::VK_PIPELINE_CACHE_HEADER_VERSION_SAFETY_CRITICAL_ONE.0);
/// `VK_PIPELINE_CACHE_HEADER_VERSION_DATA_GRAPH_QCOM` = `1000629000`
pub const DataGraphQcom: Self = Self(sys::VK_PIPELINE_CACHE_HEADER_VERSION_DATA_GRAPH_QCOM.0);
}
impl_enum_display!(PipelineCacheHeaderVersion = VkPipelineCacheHeaderVersion { One, SafetyCriticalOne, DataGraphQcom });
/// `VkPipelineCacheValidationVersion`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PipelineCacheValidationVersion(pub i32);
from_into_transparent!(PipelineCacheValidationVersion : i32);
from_by_transmute!(PipelineCacheValidationVersion => sys::VkPipelineCacheValidationVersion);
from_by_transmute!(sys::VkPipelineCacheValidationVersion => PipelineCacheValidationVersion);
impl_to_sys!(PipelineCacheValidationVersion => sys::VkPipelineCacheValidationVersion);
impl_enum!(PipelineCacheValidationVersion => sys::VkPipelineCacheValidationVersion);
impl PipelineCacheValidationVersion {
/// `VK_PIPELINE_CACHE_VALIDATION_VERSION_SAFETY_CRITICAL_ONE` = `1`
pub const SafetyCriticalOne: Self = Self(sys::VK_PIPELINE_CACHE_VALIDATION_VERSION_SAFETY_CRITICAL_ONE.0);
}
impl_enum_display!(PipelineCacheValidationVersion = VkPipelineCacheValidationVersion { SafetyCriticalOne });
/// `VkPipelineColorBlendStateCreateFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PipelineColorBlendStateCreateFlags(pub i32);
flags!(PipelineColorBlendStateCreateFlags);
from_into_transparent!(PipelineColorBlendStateCreateFlags : i32);
from_by_transmute!(PipelineColorBlendStateCreateFlags => sys::VkPipelineColorBlendStateCreateFlags);
from_by_transmute!(sys::VkPipelineColorBlendStateCreateFlags => PipelineColorBlendStateCreateFlags);
impl_to_sys!(PipelineColorBlendStateCreateFlags => sys::VkPipelineColorBlendStateCreateFlags);
impl_enum!(PipelineColorBlendStateCreateFlags => sys::VkPipelineColorBlendStateCreateFlags);
impl PipelineColorBlendStateCreateFlags {
/// `VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM` = `VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT`
pub const RasterizationOrderAttachmentAccessArm: Self = Self(sys::VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM.0);
/// `VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT` = `1 << 0`
pub const RasterizationOrderAttachmentAccessExt: Self = Self(sys::VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT.0);
}
impl_flags_display!(PipelineColorBlendStateCreateFlags = VkPipelineColorBlendStateCreateFlags { RasterizationOrderAttachmentAccessArm, RasterizationOrderAttachmentAccessExt });
/// `VkPipelineCompilerControlFlagsAMD`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PipelineCompilerControlFlagsAMD(pub i32);
flags!(PipelineCompilerControlFlagsAMD);
from_into_transparent!(PipelineCompilerControlFlagsAMD : i32);
from_by_transmute!(PipelineCompilerControlFlagsAMD => sys::VkPipelineCompilerControlFlagsAMD);
from_by_transmute!(sys::VkPipelineCompilerControlFlagsAMD => PipelineCompilerControlFlagsAMD);
impl_to_sys!(PipelineCompilerControlFlagsAMD => sys::VkPipelineCompilerControlFlagsAMD);
impl_enum!(PipelineCompilerControlFlagsAMD => sys::VkPipelineCompilerControlFlagsAMD);
impl_flags_display!(PipelineCompilerControlFlagsAMD = VkPipelineCompilerControlFlagsAMD { });
/// `VkPipelineCoverageModulationStateCreateFlagsNV`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PipelineCoverageModulationStateCreateFlagsNV(pub i32);
flags!(PipelineCoverageModulationStateCreateFlagsNV);
from_into_transparent!(PipelineCoverageModulationStateCreateFlagsNV : i32);
from_by_transmute!(PipelineCoverageModulationStateCreateFlagsNV => sys::VkPipelineCoverageModulationStateCreateFlagsNV);
from_by_transmute!(sys::VkPipelineCoverageModulationStateCreateFlagsNV => PipelineCoverageModulationStateCreateFlagsNV);
impl_to_sys!(PipelineCoverageModulationStateCreateFlagsNV => sys::VkPipelineCoverageModulationStateCreateFlagsNV);
impl_enum!(PipelineCoverageModulationStateCreateFlagsNV => sys::VkPipelineCoverageModulationStateCreateFlagsNV);
impl_flags_display!(PipelineCoverageModulationStateCreateFlagsNV = VkPipelineCoverageModulationStateCreateFlagsNV { });
/// `VkPipelineCoverageReductionStateCreateFlagsNV`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PipelineCoverageReductionStateCreateFlagsNV(pub i32);
flags!(PipelineCoverageReductionStateCreateFlagsNV);
from_into_transparent!(PipelineCoverageReductionStateCreateFlagsNV : i32);
from_by_transmute!(PipelineCoverageReductionStateCreateFlagsNV => sys::VkPipelineCoverageReductionStateCreateFlagsNV);
from_by_transmute!(sys::VkPipelineCoverageReductionStateCreateFlagsNV => PipelineCoverageReductionStateCreateFlagsNV);
impl_to_sys!(PipelineCoverageReductionStateCreateFlagsNV => sys::VkPipelineCoverageReductionStateCreateFlagsNV);
impl_enum!(PipelineCoverageReductionStateCreateFlagsNV => sys::VkPipelineCoverageReductionStateCreateFlagsNV);
impl_flags_display!(PipelineCoverageReductionStateCreateFlagsNV = VkPipelineCoverageReductionStateCreateFlagsNV { });
/// `VkPipelineCoverageToColorStateCreateFlagsNV`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PipelineCoverageToColorStateCreateFlagsNV(pub i32);
flags!(PipelineCoverageToColorStateCreateFlagsNV);
from_into_transparent!(PipelineCoverageToColorStateCreateFlagsNV : i32);
from_by_transmute!(PipelineCoverageToColorStateCreateFlagsNV => sys::VkPipelineCoverageToColorStateCreateFlagsNV);
from_by_transmute!(sys::VkPipelineCoverageToColorStateCreateFlagsNV => PipelineCoverageToColorStateCreateFlagsNV);
impl_to_sys!(PipelineCoverageToColorStateCreateFlagsNV => sys::VkPipelineCoverageToColorStateCreateFlagsNV);
impl_enum!(PipelineCoverageToColorStateCreateFlagsNV => sys::VkPipelineCoverageToColorStateCreateFlagsNV);
impl_flags_display!(PipelineCoverageToColorStateCreateFlagsNV = VkPipelineCoverageToColorStateCreateFlagsNV { });
/// `VkPipelineCreateFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PipelineCreateFlags(pub i32);
flags!(PipelineCreateFlags);
from_into_transparent!(PipelineCreateFlags : i32);
from_by_transmute!(PipelineCreateFlags => sys::VkPipelineCreateFlags);
from_by_transmute!(sys::VkPipelineCreateFlags => PipelineCreateFlags);
impl_to_sys!(PipelineCreateFlags => sys::VkPipelineCreateFlags);
impl_enum!(PipelineCreateFlags => sys::VkPipelineCreateFlags);
impl PipelineCreateFlags {
/// `VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT` = `1 << 0`
pub const CreateDisableOptimization: Self = Self(sys::VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT.0);
/// `VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT` = `1 << 1`
pub const CreateAllowDerivatives: Self = Self(sys::VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT.0);
/// `VK_PIPELINE_CREATE_DERIVATIVE_BIT` = `1 << 2`
pub const CreateDerivative: Self = Self(sys::VK_PIPELINE_CREATE_DERIVATIVE_BIT.0);
/// `VK_PIPELINE_CREATE_DISPATCH_BASE_BIT` = `1 << 4`
pub const CreateDispatchBase: Self = Self(sys::VK_PIPELINE_CREATE_DISPATCH_BASE_BIT.0);
/// `VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT` = `1 << 3`
pub const CreateViewIndexFromDeviceIndex: Self = Self(sys::VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT.0);
/// `VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT` = `1 << 8`
pub const CreateFailOnPipelineCompileRequired: Self = Self(sys::VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT.0);
/// `VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT` = `1 << 9`
pub const CreateEarlyReturnOnFailure: Self = Self(sys::VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT.0);
/// `VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT` = `1 << 27`
pub const CreateNoProtectedAccess: Self = Self(sys::VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT.0);
/// `VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT` = `1 << 30`
pub const CreateProtectedAccessOnly: Self = Self(sys::VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT.0);
/// `VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR` = `VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT`
pub const CreateViewIndexFromDeviceIndexKhr: Self = Self(sys::VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR.0);
/// `VK_PIPELINE_CREATE_DISPATCH_BASE_BIT_KHR` = `VK_PIPELINE_CREATE_DISPATCH_BASE_BIT`
pub const CreateDispatchBaseKhr: Self = Self(sys::VK_PIPELINE_CREATE_DISPATCH_BASE_BIT_KHR.0);
/// `VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR` = `1 << 14`
pub const CreateRayTracingNoNullAnyHitShadersKhr: Self = Self(sys::VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR.0);
/// `VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR` = `1 << 15`
pub const CreateRayTracingNoNullClosestHitShadersKhr: Self = Self(sys::VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR.0);
/// `VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR` = `1 << 16`
pub const CreateRayTracingNoNullMissShadersKhr: Self = Self(sys::VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR.0);
/// `VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR` = `1 << 17`
pub const CreateRayTracingNoNullIntersectionShadersKhr: Self = Self(sys::VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR.0);
/// `VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR` = `1 << 12`
pub const CreateRayTracingSkipTrianglesKhr: Self = Self(sys::VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR.0);
/// `VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR` = `1 << 13`
pub const CreateRayTracingSkipAabbsKhr: Self = Self(sys::VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR.0);
/// `VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR` = `1 << 19`
pub const CreateRayTracingShaderGroupHandleCaptureReplayKhr: Self = Self(sys::VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR.0);
/// `VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV` = `1 << 5`
pub const CreateDeferCompileNv: Self = Self(sys::VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV.0);
/// `VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT` = `1 << 22`
pub const CreateRenderingFragmentDensityMapAttachmentExt: Self = Self(sys::VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT.0);
/// `VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT` = `VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT`
pub const RasterizationStateCreateFragmentDensityMapAttachmentExt: Self = Self(sys::VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT.0);
/// `VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR` = `1 << 21`
pub const CreateRenderingFragmentShadingRateAttachmentKhr: Self = Self(sys::VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR.0);
/// `VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR` = `VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR`
pub const RasterizationStateCreateFragmentShadingRateAttachmentKhr: Self = Self(sys::VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR.0);
/// `VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR` = `1 << 6`
pub const CreateCaptureStatisticsKhr: Self = Self(sys::VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR.0);
/// `VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR` = `1 << 7`
pub const CreateCaptureInternalRepresentationsKhr: Self = Self(sys::VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR.0);
/// `VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV` = `1 << 18`
pub const CreateIndirectBindableNv: Self = Self(sys::VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV.0);
/// `VK_PIPELINE_CREATE_LIBRARY_BIT_KHR` = `1 << 11`
pub const CreateLibraryKhr: Self = Self(sys::VK_PIPELINE_CREATE_LIBRARY_BIT_KHR.0);
/// `VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT` = `VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT`
pub const CreateFailOnPipelineCompileRequiredExt: Self = Self(sys::VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT.0);
/// `VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT` = `VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT`
pub const CreateEarlyReturnOnFailureExt: Self = Self(sys::VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT.0);
/// `VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT` = `1 << 29`
pub const CreateDescriptorBufferExt: Self = Self(sys::VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT.0);
/// `VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT` = `1 << 23`
pub const CreateRetainLinkTimeOptimizationInfoExt: Self = Self(sys::VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT.0);
/// `VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT` = `1 << 10`
pub const CreateLinkTimeOptimizationExt: Self = Self(sys::VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT.0);
/// `VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV` = `1 << 20`
pub const CreateRayTracingAllowMotionNv: Self = Self(sys::VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV.0);
/// `VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT` = `1 << 25`
pub const CreateColorAttachmentFeedbackLoopExt: Self = Self(sys::VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT.0);
/// `VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT` = `1 << 26`
pub const CreateDepthStencilAttachmentFeedbackLoopExt: Self = Self(sys::VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT.0);
/// `VK_PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT` = `1 << 24`
pub const CreateRayTracingOpacityMicromapExt: Self = Self(sys::VK_PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT.0);
/// `VK_PIPELINE_CREATE_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV` = `1 << 28`
pub const CreateRayTracingDisplacementMicromapNv: Self = Self(sys::VK_PIPELINE_CREATE_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV.0);
/// `VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT_EXT` = `VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT`
pub const CreateNoProtectedAccessExt: Self = Self(sys::VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT_EXT.0);
/// `VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT_EXT` = `VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT`
pub const CreateProtectedAccessOnlyExt: Self = Self(sys::VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT_EXT.0);
}
impl_flags_display!(PipelineCreateFlags = VkPipelineCreateFlags { CreateDisableOptimization, CreateAllowDerivatives, CreateDerivative, CreateDispatchBase, CreateViewIndexFromDeviceIndex, CreateFailOnPipelineCompileRequired, CreateEarlyReturnOnFailure, CreateNoProtectedAccess, CreateProtectedAccessOnly, CreateViewIndexFromDeviceIndexKhr, CreateDispatchBaseKhr, CreateRayTracingNoNullAnyHitShadersKhr, CreateRayTracingNoNullClosestHitShadersKhr, CreateRayTracingNoNullMissShadersKhr, CreateRayTracingNoNullIntersectionShadersKhr, CreateRayTracingSkipTrianglesKhr, CreateRayTracingSkipAabbsKhr, CreateRayTracingShaderGroupHandleCaptureReplayKhr, CreateDeferCompileNv, CreateRenderingFragmentDensityMapAttachmentExt, RasterizationStateCreateFragmentDensityMapAttachmentExt, CreateRenderingFragmentShadingRateAttachmentKhr, RasterizationStateCreateFragmentShadingRateAttachmentKhr, CreateCaptureStatisticsKhr, CreateCaptureInternalRepresentationsKhr, CreateIndirectBindableNv, CreateLibraryKhr, CreateFailOnPipelineCompileRequiredExt, CreateEarlyReturnOnFailureExt, CreateDescriptorBufferExt, CreateRetainLinkTimeOptimizationInfoExt, CreateLinkTimeOptimizationExt, CreateRayTracingAllowMotionNv, CreateColorAttachmentFeedbackLoopExt, CreateDepthStencilAttachmentFeedbackLoopExt, CreateRayTracingOpacityMicromapExt, CreateRayTracingDisplacementMicromapNv, CreateNoProtectedAccessExt, CreateProtectedAccessOnlyExt });
/// `VkPipelineCreateFlags2`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PipelineCreateFlags2(pub i64);
flags!(PipelineCreateFlags2);
from_into_transparent!(PipelineCreateFlags2 : i64);
from_by_transmute!(PipelineCreateFlags2 => sys::VkPipelineCreateFlags2);
from_by_transmute!(sys::VkPipelineCreateFlags2 => PipelineCreateFlags2);
impl_to_sys!(PipelineCreateFlags2 => sys::VkPipelineCreateFlags2);
impl_enum!(PipelineCreateFlags2 => sys::VkPipelineCreateFlags2);
impl PipelineCreateFlags2 {
/// `VK_PIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT` = `1 << 0`
pub const DisableOptimization: Self = Self(sys::VK_PIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT.0);
/// `VK_PIPELINE_CREATE_2_ALLOW_DERIVATIVES_BIT` = `1 << 1`
pub const AllowDerivatives: Self = Self(sys::VK_PIPELINE_CREATE_2_ALLOW_DERIVATIVES_BIT.0);
/// `VK_PIPELINE_CREATE_2_DERIVATIVE_BIT` = `1 << 2`
pub const Derivative: Self = Self(sys::VK_PIPELINE_CREATE_2_DERIVATIVE_BIT.0);
/// `VK_PIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT` = `1 << 3`
pub const ViewIndexFromDeviceIndex: Self = Self(sys::VK_PIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT.0);
/// `VK_PIPELINE_CREATE_2_DISPATCH_BASE_BIT` = `1 << 4`
pub const DispatchBase: Self = Self(sys::VK_PIPELINE_CREATE_2_DISPATCH_BASE_BIT.0);
/// `VK_PIPELINE_CREATE_2_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT` = `1 << 8`
pub const FailOnPipelineCompileRequired: Self = Self(sys::VK_PIPELINE_CREATE_2_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT.0);
/// `VK_PIPELINE_CREATE_2_EARLY_RETURN_ON_FAILURE_BIT` = `1 << 9`
pub const EarlyReturnOnFailure: Self = Self(sys::VK_PIPELINE_CREATE_2_EARLY_RETURN_ON_FAILURE_BIT.0);
/// `VK_PIPELINE_CREATE_2_NO_PROTECTED_ACCESS_BIT` = `1 << 27`
pub const NoProtectedAccess: Self = Self(sys::VK_PIPELINE_CREATE_2_NO_PROTECTED_ACCESS_BIT.0);
/// `VK_PIPELINE_CREATE_2_PROTECTED_ACCESS_ONLY_BIT` = `1 << 30`
pub const ProtectedAccessOnly: Self = Self(sys::VK_PIPELINE_CREATE_2_PROTECTED_ACCESS_ONLY_BIT.0);
/// `VK_PIPELINE_CREATE_2_RESERVED_46_BIT_IMG` = `1 << 46`
pub const Reserved46Img: Self = Self(sys::VK_PIPELINE_CREATE_2_RESERVED_46_BIT_IMG.0);
/// `VK_PIPELINE_CREATE_2_EXECUTION_GRAPH_BIT_AMDX` = `1 << 32`
pub const ExecutionGraphAmdx: Self = Self(sys::VK_PIPELINE_CREATE_2_EXECUTION_GRAPH_BIT_AMDX.0);
/// `VK_PIPELINE_CREATE_2_DESCRIPTOR_HEAP_BIT_EXT` = `1 << 36`
pub const DescriptorHeapExt: Self = Self(sys::VK_PIPELINE_CREATE_2_DESCRIPTOR_HEAP_BIT_EXT.0);
/// `VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_BUILT_IN_PRIMITIVES_BIT_KHR` = `VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR`
pub const RayTracingSkipBuiltInPrimitivesKhr: Self = Self(sys::VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_BUILT_IN_PRIMITIVES_BIT_KHR.0);
/// `VK_PIPELINE_CREATE_2_RAY_TRACING_ALLOW_SPHERES_AND_LINEAR_SWEPT_SPHERES_BIT_NV` = `1 << 33`
pub const RayTracingAllowSpheresAndLinearSweptSpheresNv: Self = Self(sys::VK_PIPELINE_CREATE_2_RAY_TRACING_ALLOW_SPHERES_AND_LINEAR_SWEPT_SPHERES_BIT_NV.0);
/// `VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT` = `1 << 34`
pub const EnableLegacyDitheringExt: Self = Self(sys::VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT.0);
/// `VK_PIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT_KHR` = `VK_PIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT`
pub const DisableOptimizationKhr: Self = Self(sys::VK_PIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT_KHR.0);
/// `VK_PIPELINE_CREATE_2_ALLOW_DERIVATIVES_BIT_KHR` = `VK_PIPELINE_CREATE_2_ALLOW_DERIVATIVES_BIT`
pub const AllowDerivativesKhr: Self = Self(sys::VK_PIPELINE_CREATE_2_ALLOW_DERIVATIVES_BIT_KHR.0);
/// `VK_PIPELINE_CREATE_2_DERIVATIVE_BIT_KHR` = `VK_PIPELINE_CREATE_2_DERIVATIVE_BIT`
pub const DerivativeKhr: Self = Self(sys::VK_PIPELINE_CREATE_2_DERIVATIVE_BIT_KHR.0);
/// `VK_PIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR` = `VK_PIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT`
pub const ViewIndexFromDeviceIndexKhr: Self = Self(sys::VK_PIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR.0);
/// `VK_PIPELINE_CREATE_2_DISPATCH_BASE_BIT_KHR` = `VK_PIPELINE_CREATE_2_DISPATCH_BASE_BIT`
pub const DispatchBaseKhr: Self = Self(sys::VK_PIPELINE_CREATE_2_DISPATCH_BASE_BIT_KHR.0);
/// `VK_PIPELINE_CREATE_2_DEFER_COMPILE_BIT_NV` = `1 << 5`
pub const DeferCompileNv: Self = Self(sys::VK_PIPELINE_CREATE_2_DEFER_COMPILE_BIT_NV.0);
/// `VK_PIPELINE_CREATE_2_CAPTURE_STATISTICS_BIT_KHR` = `1 << 6`
pub const CaptureStatisticsKhr: Self = Self(sys::VK_PIPELINE_CREATE_2_CAPTURE_STATISTICS_BIT_KHR.0);
/// `VK_PIPELINE_CREATE_2_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR` = `1 << 7`
pub const CaptureInternalRepresentationsKhr: Self = Self(sys::VK_PIPELINE_CREATE_2_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR.0);
/// `VK_PIPELINE_CREATE_2_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_KHR` = `VK_PIPELINE_CREATE_2_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT`
pub const FailOnPipelineCompileRequiredKhr: Self = Self(sys::VK_PIPELINE_CREATE_2_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_KHR.0);
/// `VK_PIPELINE_CREATE_2_EARLY_RETURN_ON_FAILURE_BIT_KHR` = `VK_PIPELINE_CREATE_2_EARLY_RETURN_ON_FAILURE_BIT`
pub const EarlyReturnOnFailureKhr: Self = Self(sys::VK_PIPELINE_CREATE_2_EARLY_RETURN_ON_FAILURE_BIT_KHR.0);
/// `VK_PIPELINE_CREATE_2_LINK_TIME_OPTIMIZATION_BIT_EXT` = `1 << 10`
pub const LinkTimeOptimizationExt: Self = Self(sys::VK_PIPELINE_CREATE_2_LINK_TIME_OPTIMIZATION_BIT_EXT.0);
/// `VK_PIPELINE_CREATE_2_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT` = `1 << 23`
pub const RetainLinkTimeOptimizationInfoExt: Self = Self(sys::VK_PIPELINE_CREATE_2_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT.0);
/// `VK_PIPELINE_CREATE_2_LIBRARY_BIT_KHR` = `1 << 11`
pub const LibraryKhr: Self = Self(sys::VK_PIPELINE_CREATE_2_LIBRARY_BIT_KHR.0);
/// `VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR` = `1 << 12`
pub const RayTracingSkipTrianglesKhr: Self = Self(sys::VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR.0);
/// `VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_AABBS_BIT_KHR` = `1 << 13`
pub const RayTracingSkipAabbsKhr: Self = Self(sys::VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_AABBS_BIT_KHR.0);
/// `VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR` = `1 << 14`
pub const RayTracingNoNullAnyHitShadersKhr: Self = Self(sys::VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR.0);
/// `VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR` = `1 << 15`
pub const RayTracingNoNullClosestHitShadersKhr: Self = Self(sys::VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR.0);
/// `VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR` = `1 << 16`
pub const RayTracingNoNullMissShadersKhr: Self = Self(sys::VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR.0);
/// `VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR` = `1 << 17`
pub const RayTracingNoNullIntersectionShadersKhr: Self = Self(sys::VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR.0);
/// `VK_PIPELINE_CREATE_2_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR` = `1 << 19`
pub const RayTracingShaderGroupHandleCaptureReplayKhr: Self = Self(sys::VK_PIPELINE_CREATE_2_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR.0);
/// `VK_PIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_NV` = `1 << 18`
pub const IndirectBindableNv: Self = Self(sys::VK_PIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_NV.0);
/// `VK_PIPELINE_CREATE_2_RAY_TRACING_ALLOW_MOTION_BIT_NV` = `1 << 20`
pub const RayTracingAllowMotionNv: Self = Self(sys::VK_PIPELINE_CREATE_2_RAY_TRACING_ALLOW_MOTION_BIT_NV.0);
/// `VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR` = `1 << 21`
pub const RenderingFragmentShadingRateAttachmentKhr: Self = Self(sys::VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR.0);
/// `VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT` = `1 << 22`
pub const RenderingFragmentDensityMapAttachmentExt: Self = Self(sys::VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT.0);
/// `VK_PIPELINE_CREATE_2_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT` = `1 << 24`
pub const RayTracingOpacityMicromapExt: Self = Self(sys::VK_PIPELINE_CREATE_2_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT.0);
/// `VK_PIPELINE_CREATE_2_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT` = `1 << 25`
pub const ColorAttachmentFeedbackLoopExt: Self = Self(sys::VK_PIPELINE_CREATE_2_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT.0);
/// `VK_PIPELINE_CREATE_2_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT` = `1 << 26`
pub const DepthStencilAttachmentFeedbackLoopExt: Self = Self(sys::VK_PIPELINE_CREATE_2_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT.0);
/// `VK_PIPELINE_CREATE_2_NO_PROTECTED_ACCESS_BIT_EXT` = `VK_PIPELINE_CREATE_2_NO_PROTECTED_ACCESS_BIT`
pub const NoProtectedAccessExt: Self = Self(sys::VK_PIPELINE_CREATE_2_NO_PROTECTED_ACCESS_BIT_EXT.0);
/// `VK_PIPELINE_CREATE_2_PROTECTED_ACCESS_ONLY_BIT_EXT` = `VK_PIPELINE_CREATE_2_PROTECTED_ACCESS_ONLY_BIT`
pub const ProtectedAccessOnlyExt: Self = Self(sys::VK_PIPELINE_CREATE_2_PROTECTED_ACCESS_ONLY_BIT_EXT.0);
/// `VK_PIPELINE_CREATE_2_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV` = `1 << 28`
pub const RayTracingDisplacementMicromapNv: Self = Self(sys::VK_PIPELINE_CREATE_2_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV.0);
/// `VK_PIPELINE_CREATE_2_DESCRIPTOR_BUFFER_BIT_EXT` = `1 << 29`
pub const DescriptorBufferExt: Self = Self(sys::VK_PIPELINE_CREATE_2_DESCRIPTOR_BUFFER_BIT_EXT.0);
/// `VK_PIPELINE_CREATE_2_DISALLOW_OPACITY_MICROMAP_BIT_ARM` = `1 << 37`
pub const DisallowOpacityMicromapArm: Self = Self(sys::VK_PIPELINE_CREATE_2_DISALLOW_OPACITY_MICROMAP_BIT_ARM.0);
/// `VK_PIPELINE_CREATE_2_INSTRUMENT_SHADERS_BIT_ARM` = `1 << 39`
pub const InstrumentShadersArm: Self = Self(sys::VK_PIPELINE_CREATE_2_INSTRUMENT_SHADERS_BIT_ARM.0);
/// `VK_PIPELINE_CREATE_2_CAPTURE_DATA_BIT_KHR` = `1 << 31`
pub const CaptureDataKhr: Self = Self(sys::VK_PIPELINE_CREATE_2_CAPTURE_DATA_BIT_KHR.0);
/// `VK_PIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_EXT` = `1 << 38`
pub const IndirectBindableExt: Self = Self(sys::VK_PIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_EXT.0);
/// `VK_PIPELINE_CREATE_2_RESERVED_35_BIT_KHR` = `1 << 35`
pub const Reserved35Khr: Self = Self(sys::VK_PIPELINE_CREATE_2_RESERVED_35_BIT_KHR.0);
/// `VK_PIPELINE_CREATE_2_PER_LAYER_FRAGMENT_DENSITY_BIT_VALVE` = `1 << 40`
pub const PerLayerFragmentDensityValve: Self = Self(sys::VK_PIPELINE_CREATE_2_PER_LAYER_FRAGMENT_DENSITY_BIT_VALVE.0);
/// `VK_PIPELINE_CREATE_2_64_BIT_INDEXING_BIT_EXT` = `1 << 43`
pub const _64IndexingBitExt: Self = Self(sys::VK_PIPELINE_CREATE_2_64_BIT_INDEXING_BIT_EXT.0);
/// `VK_PIPELINE_CREATE_2_RESERVED_45_BIT_EXT` = `1 << 45`
pub const Reserved45Ext: Self = Self(sys::VK_PIPELINE_CREATE_2_RESERVED_45_BIT_EXT.0);
/// `VK_PIPELINE_CREATE_2_RESERVED_47_BIT_AMD` = `1 << 47`
pub const Reserved47Amd: Self = Self(sys::VK_PIPELINE_CREATE_2_RESERVED_47_BIT_AMD.0);
/// `VK_PIPELINE_CREATE_2_RESERVED_48_BIT_HUAWEI` = `1 << 48`
pub const Reserved48Huawei: Self = Self(sys::VK_PIPELINE_CREATE_2_RESERVED_48_BIT_HUAWEI.0);
}
impl_flags_display!(PipelineCreateFlags2 = VkPipelineCreateFlags2 { DisableOptimization, AllowDerivatives, Derivative, ViewIndexFromDeviceIndex, DispatchBase, FailOnPipelineCompileRequired, EarlyReturnOnFailure, NoProtectedAccess, ProtectedAccessOnly, Reserved46Img, ExecutionGraphAmdx, DescriptorHeapExt, RayTracingSkipBuiltInPrimitivesKhr, RayTracingAllowSpheresAndLinearSweptSpheresNv, EnableLegacyDitheringExt, DisableOptimizationKhr, AllowDerivativesKhr, DerivativeKhr, ViewIndexFromDeviceIndexKhr, DispatchBaseKhr, DeferCompileNv, CaptureStatisticsKhr, CaptureInternalRepresentationsKhr, FailOnPipelineCompileRequiredKhr, EarlyReturnOnFailureKhr, LinkTimeOptimizationExt, RetainLinkTimeOptimizationInfoExt, LibraryKhr, RayTracingSkipTrianglesKhr, RayTracingSkipAabbsKhr, RayTracingNoNullAnyHitShadersKhr, RayTracingNoNullClosestHitShadersKhr, RayTracingNoNullMissShadersKhr, RayTracingNoNullIntersectionShadersKhr, RayTracingShaderGroupHandleCaptureReplayKhr, IndirectBindableNv, RayTracingAllowMotionNv, RenderingFragmentShadingRateAttachmentKhr, RenderingFragmentDensityMapAttachmentExt, RayTracingOpacityMicromapExt, ColorAttachmentFeedbackLoopExt, DepthStencilAttachmentFeedbackLoopExt, NoProtectedAccessExt, ProtectedAccessOnlyExt, RayTracingDisplacementMicromapNv, DescriptorBufferExt, DisallowOpacityMicromapArm, InstrumentShadersArm, CaptureDataKhr, IndirectBindableExt, Reserved35Khr, PerLayerFragmentDensityValve, _64IndexingBitExt, Reserved45Ext, Reserved47Amd, Reserved48Huawei });
/// `VkPipelineCreateFlags2KHR` = `VkPipelineCreateFlags2`
pub type PipelineCreateFlags2KHR = PipelineCreateFlags2;
/// `VkPipelineCreationFeedbackFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PipelineCreationFeedbackFlags(pub i32);
flags!(PipelineCreationFeedbackFlags);
from_into_transparent!(PipelineCreationFeedbackFlags : i32);
from_by_transmute!(PipelineCreationFeedbackFlags => sys::VkPipelineCreationFeedbackFlags);
from_by_transmute!(sys::VkPipelineCreationFeedbackFlags => PipelineCreationFeedbackFlags);
impl_to_sys!(PipelineCreationFeedbackFlags => sys::VkPipelineCreationFeedbackFlags);
impl_enum!(PipelineCreationFeedbackFlags => sys::VkPipelineCreationFeedbackFlags);
impl PipelineCreationFeedbackFlags {
/// `VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT` = `1 << 0`
pub const Valid: Self = Self(sys::VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT.0);
/// `VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT` = `1 << 1`
pub const ApplicationPipelineCacheHit: Self = Self(sys::VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT.0);
/// `VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT` = `1 << 2`
pub const BasePipelineAcceleration: Self = Self(sys::VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT.0);
/// `VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT` = `VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT`
pub const ValidExt: Self = Self(sys::VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT_EXT.0);
/// `VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT` = `VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT`
pub const ApplicationPipelineCacheHitExt: Self = Self(sys::VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT_EXT.0);
/// `VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT` = `VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT`
pub const BasePipelineAccelerationExt: Self = Self(sys::VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT_EXT.0);
}
impl_flags_display!(PipelineCreationFeedbackFlags = VkPipelineCreationFeedbackFlags { Valid, ApplicationPipelineCacheHit, BasePipelineAcceleration, ValidExt, ApplicationPipelineCacheHitExt, BasePipelineAccelerationExt });
/// `VkPipelineCreationFeedbackFlagsEXT` = `VkPipelineCreationFeedbackFlags`
pub type PipelineCreationFeedbackFlagsEXT = PipelineCreationFeedbackFlags;
/// `VkPipelineDepthStencilStateCreateFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PipelineDepthStencilStateCreateFlags(pub i32);
flags!(PipelineDepthStencilStateCreateFlags);
from_into_transparent!(PipelineDepthStencilStateCreateFlags : i32);
from_by_transmute!(PipelineDepthStencilStateCreateFlags => sys::VkPipelineDepthStencilStateCreateFlags);
from_by_transmute!(sys::VkPipelineDepthStencilStateCreateFlags => PipelineDepthStencilStateCreateFlags);
impl_to_sys!(PipelineDepthStencilStateCreateFlags => sys::VkPipelineDepthStencilStateCreateFlags);
impl_enum!(PipelineDepthStencilStateCreateFlags => sys::VkPipelineDepthStencilStateCreateFlags);
impl PipelineDepthStencilStateCreateFlags {
/// `VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM` = `VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT`
pub const RasterizationOrderAttachmentDepthAccessArm: Self = Self(sys::VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM.0);
/// `VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM` = `VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT`
pub const RasterizationOrderAttachmentStencilAccessArm: Self = Self(sys::VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM.0);
/// `VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT` = `1 << 0`
pub const RasterizationOrderAttachmentDepthAccessExt: Self = Self(sys::VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT.0);
/// `VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT` = `1 << 1`
pub const RasterizationOrderAttachmentStencilAccessExt: Self = Self(sys::VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT.0);
}
impl_flags_display!(PipelineDepthStencilStateCreateFlags = VkPipelineDepthStencilStateCreateFlags { RasterizationOrderAttachmentDepthAccessArm, RasterizationOrderAttachmentStencilAccessArm, RasterizationOrderAttachmentDepthAccessExt, RasterizationOrderAttachmentStencilAccessExt });
/// `VkPipelineDiscardRectangleStateCreateFlagsEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PipelineDiscardRectangleStateCreateFlagsEXT(pub i32);
flags!(PipelineDiscardRectangleStateCreateFlagsEXT);
from_into_transparent!(PipelineDiscardRectangleStateCreateFlagsEXT : i32);
from_by_transmute!(PipelineDiscardRectangleStateCreateFlagsEXT => sys::VkPipelineDiscardRectangleStateCreateFlagsEXT);
from_by_transmute!(sys::VkPipelineDiscardRectangleStateCreateFlagsEXT => PipelineDiscardRectangleStateCreateFlagsEXT);
impl_to_sys!(PipelineDiscardRectangleStateCreateFlagsEXT => sys::VkPipelineDiscardRectangleStateCreateFlagsEXT);
impl_enum!(PipelineDiscardRectangleStateCreateFlagsEXT => sys::VkPipelineDiscardRectangleStateCreateFlagsEXT);
impl_flags_display!(PipelineDiscardRectangleStateCreateFlagsEXT = VkPipelineDiscardRectangleStateCreateFlagsEXT { });
/// `VkPipelineDynamicStateCreateFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PipelineDynamicStateCreateFlags(pub i32);
flags!(PipelineDynamicStateCreateFlags);
from_into_transparent!(PipelineDynamicStateCreateFlags : i32);
from_by_transmute!(PipelineDynamicStateCreateFlags => sys::VkPipelineDynamicStateCreateFlags);
from_by_transmute!(sys::VkPipelineDynamicStateCreateFlags => PipelineDynamicStateCreateFlags);
impl_to_sys!(PipelineDynamicStateCreateFlags => sys::VkPipelineDynamicStateCreateFlags);
impl_enum!(PipelineDynamicStateCreateFlags => sys::VkPipelineDynamicStateCreateFlags);
impl_flags_display!(PipelineDynamicStateCreateFlags = VkPipelineDynamicStateCreateFlags { });
/// `VkPipelineExecutableStatisticFormatKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PipelineExecutableStatisticFormatKHR(pub i32);
from_into_transparent!(PipelineExecutableStatisticFormatKHR : i32);
from_by_transmute!(PipelineExecutableStatisticFormatKHR => sys::VkPipelineExecutableStatisticFormatKHR);
from_by_transmute!(sys::VkPipelineExecutableStatisticFormatKHR => PipelineExecutableStatisticFormatKHR);
impl_to_sys!(PipelineExecutableStatisticFormatKHR => sys::VkPipelineExecutableStatisticFormatKHR);
impl_enum!(PipelineExecutableStatisticFormatKHR => sys::VkPipelineExecutableStatisticFormatKHR);
impl PipelineExecutableStatisticFormatKHR {
/// `VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR` = `0`
pub const Bool32Khr: Self = Self(sys::VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR.0);
/// `VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR` = `1`
pub const Int64Khr: Self = Self(sys::VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR.0);
/// `VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR` = `2`
pub const Uint64Khr: Self = Self(sys::VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR.0);
/// `VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR` = `3`
pub const Float64Khr: Self = Self(sys::VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR.0);
}
impl_enum_display!(PipelineExecutableStatisticFormatKHR = VkPipelineExecutableStatisticFormatKHR { Bool32Khr, Int64Khr, Uint64Khr, Float64Khr });
/// `VkPipelineInputAssemblyStateCreateFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PipelineInputAssemblyStateCreateFlags(pub i32);
flags!(PipelineInputAssemblyStateCreateFlags);
from_into_transparent!(PipelineInputAssemblyStateCreateFlags : i32);
from_by_transmute!(PipelineInputAssemblyStateCreateFlags => sys::VkPipelineInputAssemblyStateCreateFlags);
from_by_transmute!(sys::VkPipelineInputAssemblyStateCreateFlags => PipelineInputAssemblyStateCreateFlags);
impl_to_sys!(PipelineInputAssemblyStateCreateFlags => sys::VkPipelineInputAssemblyStateCreateFlags);
impl_enum!(PipelineInputAssemblyStateCreateFlags => sys::VkPipelineInputAssemblyStateCreateFlags);
impl_flags_display!(PipelineInputAssemblyStateCreateFlags = VkPipelineInputAssemblyStateCreateFlags { });
/// `VkPipelineLayoutCreateFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PipelineLayoutCreateFlags(pub i32);
flags!(PipelineLayoutCreateFlags);
from_into_transparent!(PipelineLayoutCreateFlags : i32);
from_by_transmute!(PipelineLayoutCreateFlags => sys::VkPipelineLayoutCreateFlags);
from_by_transmute!(sys::VkPipelineLayoutCreateFlags => PipelineLayoutCreateFlags);
impl_to_sys!(PipelineLayoutCreateFlags => sys::VkPipelineLayoutCreateFlags);
impl_enum!(PipelineLayoutCreateFlags => sys::VkPipelineLayoutCreateFlags);
impl PipelineLayoutCreateFlags {
/// `VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT` = `1 << 1`
pub const IndependentSetsExt: Self = Self(sys::VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT.0);
}
impl_flags_display!(PipelineLayoutCreateFlags = VkPipelineLayoutCreateFlags { IndependentSetsExt });
/// `VkPipelineMatchControl`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PipelineMatchControl(pub i32);
from_into_transparent!(PipelineMatchControl : i32);
from_by_transmute!(PipelineMatchControl => sys::VkPipelineMatchControl);
from_by_transmute!(sys::VkPipelineMatchControl => PipelineMatchControl);
impl_to_sys!(PipelineMatchControl => sys::VkPipelineMatchControl);
impl_enum!(PipelineMatchControl => sys::VkPipelineMatchControl);
impl PipelineMatchControl {
/// `VK_PIPELINE_MATCH_CONTROL_APPLICATION_UUID_EXACT_MATCH` = `0`
pub const ApplicationUuidExactMatch: Self = Self(sys::VK_PIPELINE_MATCH_CONTROL_APPLICATION_UUID_EXACT_MATCH.0);
}
impl_enum_display!(PipelineMatchControl = VkPipelineMatchControl { ApplicationUuidExactMatch });
/// `VkPipelineMultisampleStateCreateFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PipelineMultisampleStateCreateFlags(pub i32);
flags!(PipelineMultisampleStateCreateFlags);
from_into_transparent!(PipelineMultisampleStateCreateFlags : i32);
from_by_transmute!(PipelineMultisampleStateCreateFlags => sys::VkPipelineMultisampleStateCreateFlags);
from_by_transmute!(sys::VkPipelineMultisampleStateCreateFlags => PipelineMultisampleStateCreateFlags);
impl_to_sys!(PipelineMultisampleStateCreateFlags => sys::VkPipelineMultisampleStateCreateFlags);
impl_enum!(PipelineMultisampleStateCreateFlags => sys::VkPipelineMultisampleStateCreateFlags);
impl_flags_display!(PipelineMultisampleStateCreateFlags = VkPipelineMultisampleStateCreateFlags { });
/// `VkPipelineRasterizationConservativeStateCreateFlagsEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PipelineRasterizationConservativeStateCreateFlagsEXT(pub i32);
flags!(PipelineRasterizationConservativeStateCreateFlagsEXT);
from_into_transparent!(PipelineRasterizationConservativeStateCreateFlagsEXT : i32);
from_by_transmute!(PipelineRasterizationConservativeStateCreateFlagsEXT => sys::VkPipelineRasterizationConservativeStateCreateFlagsEXT);
from_by_transmute!(sys::VkPipelineRasterizationConservativeStateCreateFlagsEXT => PipelineRasterizationConservativeStateCreateFlagsEXT);
impl_to_sys!(PipelineRasterizationConservativeStateCreateFlagsEXT => sys::VkPipelineRasterizationConservativeStateCreateFlagsEXT);
impl_enum!(PipelineRasterizationConservativeStateCreateFlagsEXT => sys::VkPipelineRasterizationConservativeStateCreateFlagsEXT);
impl_flags_display!(PipelineRasterizationConservativeStateCreateFlagsEXT = VkPipelineRasterizationConservativeStateCreateFlagsEXT { });
/// `VkPipelineRasterizationDepthClipStateCreateFlagsEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PipelineRasterizationDepthClipStateCreateFlagsEXT(pub i32);
flags!(PipelineRasterizationDepthClipStateCreateFlagsEXT);
from_into_transparent!(PipelineRasterizationDepthClipStateCreateFlagsEXT : i32);
from_by_transmute!(PipelineRasterizationDepthClipStateCreateFlagsEXT => sys::VkPipelineRasterizationDepthClipStateCreateFlagsEXT);
from_by_transmute!(sys::VkPipelineRasterizationDepthClipStateCreateFlagsEXT => PipelineRasterizationDepthClipStateCreateFlagsEXT);
impl_to_sys!(PipelineRasterizationDepthClipStateCreateFlagsEXT => sys::VkPipelineRasterizationDepthClipStateCreateFlagsEXT);
impl_enum!(PipelineRasterizationDepthClipStateCreateFlagsEXT => sys::VkPipelineRasterizationDepthClipStateCreateFlagsEXT);
impl_flags_display!(PipelineRasterizationDepthClipStateCreateFlagsEXT = VkPipelineRasterizationDepthClipStateCreateFlagsEXT { });
/// `VkPipelineRasterizationStateCreateFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PipelineRasterizationStateCreateFlags(pub i32);
flags!(PipelineRasterizationStateCreateFlags);
from_into_transparent!(PipelineRasterizationStateCreateFlags : i32);
from_by_transmute!(PipelineRasterizationStateCreateFlags => sys::VkPipelineRasterizationStateCreateFlags);
from_by_transmute!(sys::VkPipelineRasterizationStateCreateFlags => PipelineRasterizationStateCreateFlags);
impl_to_sys!(PipelineRasterizationStateCreateFlags => sys::VkPipelineRasterizationStateCreateFlags);
impl_enum!(PipelineRasterizationStateCreateFlags => sys::VkPipelineRasterizationStateCreateFlags);
impl_flags_display!(PipelineRasterizationStateCreateFlags = VkPipelineRasterizationStateCreateFlags { });
/// `VkPipelineRasterizationStateStreamCreateFlagsEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PipelineRasterizationStateStreamCreateFlagsEXT(pub i32);
flags!(PipelineRasterizationStateStreamCreateFlagsEXT);
from_into_transparent!(PipelineRasterizationStateStreamCreateFlagsEXT : i32);
from_by_transmute!(PipelineRasterizationStateStreamCreateFlagsEXT => sys::VkPipelineRasterizationStateStreamCreateFlagsEXT);
from_by_transmute!(sys::VkPipelineRasterizationStateStreamCreateFlagsEXT => PipelineRasterizationStateStreamCreateFlagsEXT);
impl_to_sys!(PipelineRasterizationStateStreamCreateFlagsEXT => sys::VkPipelineRasterizationStateStreamCreateFlagsEXT);
impl_enum!(PipelineRasterizationStateStreamCreateFlagsEXT => sys::VkPipelineRasterizationStateStreamCreateFlagsEXT);
impl_flags_display!(PipelineRasterizationStateStreamCreateFlagsEXT = VkPipelineRasterizationStateStreamCreateFlagsEXT { });
/// `VkPipelineRobustnessBufferBehavior`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PipelineRobustnessBufferBehavior(pub i32);
from_into_transparent!(PipelineRobustnessBufferBehavior : i32);
from_by_transmute!(PipelineRobustnessBufferBehavior => sys::VkPipelineRobustnessBufferBehavior);
from_by_transmute!(sys::VkPipelineRobustnessBufferBehavior => PipelineRobustnessBufferBehavior);
impl_to_sys!(PipelineRobustnessBufferBehavior => sys::VkPipelineRobustnessBufferBehavior);
impl_enum!(PipelineRobustnessBufferBehavior => sys::VkPipelineRobustnessBufferBehavior);
impl PipelineRobustnessBufferBehavior {
/// `VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DEVICE_DEFAULT` = `0`
pub const DeviceDefault: Self = Self(sys::VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DEVICE_DEFAULT.0);
/// `VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED` = `1`
pub const Disabled: Self = Self(sys::VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED.0);
/// `VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS` = `2`
pub const RobustBufferAccess: Self = Self(sys::VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS.0);
/// `VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2` = `3`
pub const RobustBufferAccess2: Self = Self(sys::VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2.0);
/// `VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DEVICE_DEFAULT_EXT` = `VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DEVICE_DEFAULT`
pub const DeviceDefaultExt: Self = Self(sys::VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DEVICE_DEFAULT_EXT.0);
/// `VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED_EXT` = `VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED`
pub const DisabledExt: Self = Self(sys::VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED_EXT.0);
/// `VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT` = `VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS`
pub const RobustBufferAccessExt: Self = Self(sys::VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT.0);
/// `VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT` = `VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2`
pub const RobustBufferAccess2Ext: Self = Self(sys::VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT.0);
}
impl_enum_display!(PipelineRobustnessBufferBehavior = VkPipelineRobustnessBufferBehavior { DeviceDefault, Disabled, RobustBufferAccess, RobustBufferAccess2, DeviceDefaultExt, DisabledExt, RobustBufferAccessExt, RobustBufferAccess2Ext });
/// `VkPipelineRobustnessBufferBehaviorEXT` = `VkPipelineRobustnessBufferBehavior`
pub type PipelineRobustnessBufferBehaviorEXT = PipelineRobustnessBufferBehavior;
/// `VkPipelineRobustnessImageBehavior`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PipelineRobustnessImageBehavior(pub i32);
from_into_transparent!(PipelineRobustnessImageBehavior : i32);
from_by_transmute!(PipelineRobustnessImageBehavior => sys::VkPipelineRobustnessImageBehavior);
from_by_transmute!(sys::VkPipelineRobustnessImageBehavior => PipelineRobustnessImageBehavior);
impl_to_sys!(PipelineRobustnessImageBehavior => sys::VkPipelineRobustnessImageBehavior);
impl_enum!(PipelineRobustnessImageBehavior => sys::VkPipelineRobustnessImageBehavior);
impl PipelineRobustnessImageBehavior {
/// `VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DEVICE_DEFAULT` = `0`
pub const DeviceDefault: Self = Self(sys::VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DEVICE_DEFAULT.0);
/// `VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DISABLED` = `1`
pub const Disabled: Self = Self(sys::VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DISABLED.0);
/// `VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS` = `2`
pub const RobustImageAccess: Self = Self(sys::VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS.0);
/// `VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_2` = `3`
pub const RobustImageAccess2: Self = Self(sys::VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_2.0);
/// `VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DEVICE_DEFAULT_EXT` = `VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DEVICE_DEFAULT`
pub const DeviceDefaultExt: Self = Self(sys::VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DEVICE_DEFAULT_EXT.0);
/// `VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DISABLED_EXT` = `VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DISABLED`
pub const DisabledExt: Self = Self(sys::VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DISABLED_EXT.0);
/// `VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_EXT` = `VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS`
pub const RobustImageAccessExt: Self = Self(sys::VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_EXT.0);
/// `VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_2_EXT` = `VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_2`
pub const RobustImageAccess2Ext: Self = Self(sys::VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_2_EXT.0);
}
impl_enum_display!(PipelineRobustnessImageBehavior = VkPipelineRobustnessImageBehavior { DeviceDefault, Disabled, RobustImageAccess, RobustImageAccess2, DeviceDefaultExt, DisabledExt, RobustImageAccessExt, RobustImageAccess2Ext });
/// `VkPipelineRobustnessImageBehaviorEXT` = `VkPipelineRobustnessImageBehavior`
pub type PipelineRobustnessImageBehaviorEXT = PipelineRobustnessImageBehavior;
/// `VkPipelineShaderStageCreateFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PipelineShaderStageCreateFlags(pub i32);
flags!(PipelineShaderStageCreateFlags);
from_into_transparent!(PipelineShaderStageCreateFlags : i32);
from_by_transmute!(PipelineShaderStageCreateFlags => sys::VkPipelineShaderStageCreateFlags);
from_by_transmute!(sys::VkPipelineShaderStageCreateFlags => PipelineShaderStageCreateFlags);
impl_to_sys!(PipelineShaderStageCreateFlags => sys::VkPipelineShaderStageCreateFlags);
impl_enum!(PipelineShaderStageCreateFlags => sys::VkPipelineShaderStageCreateFlags);
impl PipelineShaderStageCreateFlags {
/// `VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT` = `1 << 0`
pub const AllowVaryingSubgroupSize: Self = Self(sys::VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT.0);
/// `VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT` = `1 << 1`
pub const RequireFullSubgroups: Self = Self(sys::VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT.0);
/// `VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT` = `VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT`
pub const AllowVaryingSubgroupSizeExt: Self = Self(sys::VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT.0);
/// `VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT` = `VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT`
pub const RequireFullSubgroupsExt: Self = Self(sys::VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT.0);
/// `VK_PIPELINE_SHADER_STAGE_CREATE_RESERVED_3_BIT_KHR` = `1 << 3`
pub const Reserved3Khr: Self = Self(sys::VK_PIPELINE_SHADER_STAGE_CREATE_RESERVED_3_BIT_KHR.0);
}
impl_flags_display!(PipelineShaderStageCreateFlags = VkPipelineShaderStageCreateFlags { AllowVaryingSubgroupSize, RequireFullSubgroups, AllowVaryingSubgroupSizeExt, RequireFullSubgroupsExt, Reserved3Khr });
/// `VkPipelineStageFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PipelineStageFlags(pub i32);
flags!(PipelineStageFlags);
from_into_transparent!(PipelineStageFlags : i32);
from_by_transmute!(PipelineStageFlags => sys::VkPipelineStageFlags);
from_by_transmute!(sys::VkPipelineStageFlags => PipelineStageFlags);
impl_to_sys!(PipelineStageFlags => sys::VkPipelineStageFlags);
impl_enum!(PipelineStageFlags => sys::VkPipelineStageFlags);
impl PipelineStageFlags {
/// `VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT` = `1 << 0`
///
/// Before subsequent commands are processed
pub const TopOfPipe: Self = Self(sys::VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT.0);
/// `VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT` = `1 << 1`
///
/// Draw/DispatchIndirect command fetch
pub const DrawIndirect: Self = Self(sys::VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT.0);
/// `VK_PIPELINE_STAGE_VERTEX_INPUT_BIT` = `1 << 2`
///
/// Vertex/index fetch
pub const VertexInput: Self = Self(sys::VK_PIPELINE_STAGE_VERTEX_INPUT_BIT.0);
/// `VK_PIPELINE_STAGE_VERTEX_SHADER_BIT` = `1 << 3`
///
/// Vertex shading
pub const VertexShader: Self = Self(sys::VK_PIPELINE_STAGE_VERTEX_SHADER_BIT.0);
/// `VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT` = `1 << 4`
///
/// Tessellation control shading
pub const TessellationControlShader: Self = Self(sys::VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT.0);
/// `VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT` = `1 << 5`
///
/// Tessellation evaluation shading
pub const TessellationEvaluationShader: Self = Self(sys::VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT.0);
/// `VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT` = `1 << 6`
///
/// Geometry shading
pub const GeometryShader: Self = Self(sys::VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT.0);
/// `VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT` = `1 << 7`
///
/// Fragment shading
pub const FragmentShader: Self = Self(sys::VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT.0);
/// `VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT` = `1 << 8`
///
/// Early fragment (depth and stencil) tests
pub const EarlyFragmentTests: Self = Self(sys::VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT.0);
/// `VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT` = `1 << 9`
///
/// Late fragment (depth and stencil) tests
pub const LateFragmentTests: Self = Self(sys::VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT.0);
/// `VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT` = `1 << 10`
///
/// Color attachment writes
pub const ColorAttachmentOutput: Self = Self(sys::VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT.0);
/// `VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT` = `1 << 11`
///
/// Compute shading
pub const ComputeShader: Self = Self(sys::VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT.0);
/// `VK_PIPELINE_STAGE_TRANSFER_BIT` = `1 << 12`
///
/// Transfer/copy operations
pub const Transfer: Self = Self(sys::VK_PIPELINE_STAGE_TRANSFER_BIT.0);
/// `VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT` = `1 << 13`
///
/// After previous commands have completed
pub const BottomOfPipe: Self = Self(sys::VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT.0);
/// `VK_PIPELINE_STAGE_HOST_BIT` = `1 << 14`
///
/// Indicates host (CPU) is a source/sink of the dependency
pub const Host: Self = Self(sys::VK_PIPELINE_STAGE_HOST_BIT.0);
/// `VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT` = `1 << 15`
///
/// All stages of the graphics pipeline
pub const AllGraphics: Self = Self(sys::VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT.0);
/// `VK_PIPELINE_STAGE_ALL_COMMANDS_BIT` = `1 << 16`
///
/// All stages supported on the queue
pub const AllCommands: Self = Self(sys::VK_PIPELINE_STAGE_ALL_COMMANDS_BIT.0);
/// `VK_PIPELINE_STAGE_NONE` = `0`
pub const None: Self = Self(sys::VK_PIPELINE_STAGE_NONE.0);
/// `VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT` = `1 << 24`
pub const TransformFeedbackExt: Self = Self(sys::VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT.0);
/// `VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT` = `1 << 18`
///
/// A pipeline stage for conditional rendering predicate fetch
pub const ConditionalRenderingExt: Self = Self(sys::VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT.0);
/// `VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR` = `1 << 25`
pub const AccelerationStructureBuildKhr: Self = Self(sys::VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR.0);
/// `VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR` = `1 << 21`
pub const RayTracingShaderKhr: Self = Self(sys::VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR.0);
/// `VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV` = `VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR`
pub const ShadingRateImageNv: Self = Self(sys::VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV.0);
/// `VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV` = `VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR`
pub const RayTracingShaderNv: Self = Self(sys::VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV.0);
/// `VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV` = `VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR`
pub const AccelerationStructureBuildNv: Self = Self(sys::VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_NV.0);
/// `VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV` = `VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT`
pub const TaskShaderNv: Self = Self(sys::VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV.0);
/// `VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV` = `VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT`
pub const MeshShaderNv: Self = Self(sys::VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV.0);
/// `VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT` = `1 << 23`
pub const FragmentDensityProcessExt: Self = Self(sys::VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT.0);
/// `VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR` = `1 << 22`
pub const FragmentShadingRateAttachmentKhr: Self = Self(sys::VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR.0);
/// `VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV` = `VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_EXT`
pub const CommandPreprocessNv: Self = Self(sys::VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV.0);
/// `VK_PIPELINE_STAGE_NONE_KHR` = `VK_PIPELINE_STAGE_NONE`
pub const NoneKhr: Self = Self(sys::VK_PIPELINE_STAGE_NONE_KHR.0);
/// `VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT` = `1 << 19`
pub const TaskShaderExt: Self = Self(sys::VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT.0);
/// `VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT` = `1 << 20`
pub const MeshShaderExt: Self = Self(sys::VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT.0);
/// `VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_EXT` = `1 << 17`
pub const CommandPreprocessExt: Self = Self(sys::VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_EXT.0);
}
impl_flags_display!(PipelineStageFlags = VkPipelineStageFlags { TopOfPipe, DrawIndirect, VertexInput, VertexShader, TessellationControlShader, TessellationEvaluationShader, GeometryShader, FragmentShader, EarlyFragmentTests, LateFragmentTests, ColorAttachmentOutput, ComputeShader, Transfer, BottomOfPipe, Host, AllGraphics, AllCommands, None, TransformFeedbackExt, ConditionalRenderingExt, AccelerationStructureBuildKhr, RayTracingShaderKhr, ShadingRateImageNv, RayTracingShaderNv, AccelerationStructureBuildNv, TaskShaderNv, MeshShaderNv, FragmentDensityProcessExt, FragmentShadingRateAttachmentKhr, CommandPreprocessNv, NoneKhr, TaskShaderExt, MeshShaderExt, CommandPreprocessExt });
/// `VkPipelineStageFlags2`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PipelineStageFlags2(pub i64);
flags!(PipelineStageFlags2);
from_into_transparent!(PipelineStageFlags2 : i64);
from_by_transmute!(PipelineStageFlags2 => sys::VkPipelineStageFlags2);
from_by_transmute!(sys::VkPipelineStageFlags2 => PipelineStageFlags2);
impl_to_sys!(PipelineStageFlags2 => sys::VkPipelineStageFlags2);
impl_enum!(PipelineStageFlags2 => sys::VkPipelineStageFlags2);
impl PipelineStageFlags2 {
/// `VK_PIPELINE_STAGE_2_NONE` = `0`
pub const None: Self = Self(sys::VK_PIPELINE_STAGE_2_NONE.0);
/// `VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT` = `1 << 0`
pub const TopOfPipe: Self = Self(sys::VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT.0);
/// `VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT` = `1 << 1`
pub const DrawIndirect: Self = Self(sys::VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT.0);
/// `VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT` = `1 << 2`
pub const VertexInput: Self = Self(sys::VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT.0);
/// `VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT` = `1 << 3`
pub const VertexShader: Self = Self(sys::VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT.0);
/// `VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT` = `1 << 4`
pub const TessellationControlShader: Self = Self(sys::VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT.0);
/// `VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT` = `1 << 5`
pub const TessellationEvaluationShader: Self = Self(sys::VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT.0);
/// `VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT` = `1 << 6`
pub const GeometryShader: Self = Self(sys::VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT.0);
/// `VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT` = `1 << 7`
pub const FragmentShader: Self = Self(sys::VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT.0);
/// `VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT` = `1 << 8`
pub const EarlyFragmentTests: Self = Self(sys::VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT.0);
/// `VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT` = `1 << 9`
pub const LateFragmentTests: Self = Self(sys::VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT.0);
/// `VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT` = `1 << 10`
pub const ColorAttachmentOutput: Self = Self(sys::VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT.0);
/// `VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT` = `1 << 11`
pub const ComputeShader: Self = Self(sys::VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT.0);
/// `VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT` = `1 << 12`
pub const AllTransfer: Self = Self(sys::VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT.0);
/// `VK_PIPELINE_STAGE_2_TRANSFER_BIT` = `VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT`
pub const Transfer: Self = Self(sys::VK_PIPELINE_STAGE_2_TRANSFER_BIT.0);
/// `VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT` = `1 << 13`
pub const BottomOfPipe: Self = Self(sys::VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT.0);
/// `VK_PIPELINE_STAGE_2_HOST_BIT` = `1 << 14`
pub const Host: Self = Self(sys::VK_PIPELINE_STAGE_2_HOST_BIT.0);
/// `VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT` = `1 << 15`
pub const AllGraphics: Self = Self(sys::VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT.0);
/// `VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT` = `1 << 16`
pub const AllCommands: Self = Self(sys::VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT.0);
/// `VK_PIPELINE_STAGE_2_COPY_BIT` = `1 << 32`
pub const Copy: Self = Self(sys::VK_PIPELINE_STAGE_2_COPY_BIT.0);
/// `VK_PIPELINE_STAGE_2_RESOLVE_BIT` = `1 << 33`
pub const Resolve: Self = Self(sys::VK_PIPELINE_STAGE_2_RESOLVE_BIT.0);
/// `VK_PIPELINE_STAGE_2_BLIT_BIT` = `1 << 34`
pub const Blit: Self = Self(sys::VK_PIPELINE_STAGE_2_BLIT_BIT.0);
/// `VK_PIPELINE_STAGE_2_CLEAR_BIT` = `1 << 35`
pub const Clear: Self = Self(sys::VK_PIPELINE_STAGE_2_CLEAR_BIT.0);
/// `VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT` = `1 << 36`
pub const IndexInput: Self = Self(sys::VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT.0);
/// `VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT` = `1 << 37`
pub const VertexAttributeInput: Self = Self(sys::VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT.0);
/// `VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT` = `1 << 38`
pub const PreRasterizationShaders: Self = Self(sys::VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT.0);
/// `VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR` = `1 << 26`
pub const VideoDecodeKhr: Self = Self(sys::VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR.0);
/// `VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR` = `1 << 27`
pub const VideoEncodeKhr: Self = Self(sys::VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR.0);
/// `VK_PIPELINE_STAGE_2_NONE_KHR` = `VK_PIPELINE_STAGE_2_NONE`
pub const NoneKhr: Self = Self(sys::VK_PIPELINE_STAGE_2_NONE_KHR.0);
/// `VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR` = `VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT`
pub const TopOfPipeKhr: Self = Self(sys::VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR.0);
/// `VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR` = `VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT`
pub const DrawIndirectKhr: Self = Self(sys::VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR.0);
/// `VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR` = `VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT`
pub const VertexInputKhr: Self = Self(sys::VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR.0);
/// `VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR` = `VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT`
pub const VertexShaderKhr: Self = Self(sys::VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR.0);
/// `VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR` = `VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT`
pub const TessellationControlShaderKhr: Self = Self(sys::VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR.0);
/// `VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR` = `VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT`
pub const TessellationEvaluationShaderKhr: Self = Self(sys::VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR.0);
/// `VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR` = `VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT`
pub const GeometryShaderKhr: Self = Self(sys::VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR.0);
/// `VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR` = `VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT`
pub const FragmentShaderKhr: Self = Self(sys::VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR.0);
/// `VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR` = `VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT`
pub const EarlyFragmentTestsKhr: Self = Self(sys::VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR.0);
/// `VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR` = `VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT`
pub const LateFragmentTestsKhr: Self = Self(sys::VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR.0);
/// `VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR` = `VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT`
pub const ColorAttachmentOutputKhr: Self = Self(sys::VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR.0);
/// `VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR` = `VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT`
pub const ComputeShaderKhr: Self = Self(sys::VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR.0);
/// `VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR` = `VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT`
pub const AllTransferKhr: Self = Self(sys::VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR.0);
/// `VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR` = `VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT`
pub const TransferKhr: Self = Self(sys::VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR.0);
/// `VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR` = `VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT`
pub const BottomOfPipeKhr: Self = Self(sys::VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR.0);
/// `VK_PIPELINE_STAGE_2_HOST_BIT_KHR` = `VK_PIPELINE_STAGE_2_HOST_BIT`
pub const HostKhr: Self = Self(sys::VK_PIPELINE_STAGE_2_HOST_BIT_KHR.0);
/// `VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR` = `VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT`
pub const AllGraphicsKhr: Self = Self(sys::VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR.0);
/// `VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR` = `VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT`
pub const AllCommandsKhr: Self = Self(sys::VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR.0);
/// `VK_PIPELINE_STAGE_2_COPY_BIT_KHR` = `VK_PIPELINE_STAGE_2_COPY_BIT`
pub const CopyKhr: Self = Self(sys::VK_PIPELINE_STAGE_2_COPY_BIT_KHR.0);
/// `VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR` = `VK_PIPELINE_STAGE_2_RESOLVE_BIT`
pub const ResolveKhr: Self = Self(sys::VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR.0);
/// `VK_PIPELINE_STAGE_2_BLIT_BIT_KHR` = `VK_PIPELINE_STAGE_2_BLIT_BIT`
pub const BlitKhr: Self = Self(sys::VK_PIPELINE_STAGE_2_BLIT_BIT_KHR.0);
/// `VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR` = `VK_PIPELINE_STAGE_2_CLEAR_BIT`
pub const ClearKhr: Self = Self(sys::VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR.0);
/// `VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR` = `VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT`
pub const IndexInputKhr: Self = Self(sys::VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR.0);
/// `VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR` = `VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT`
pub const VertexAttributeInputKhr: Self = Self(sys::VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR.0);
/// `VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR` = `VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT`
pub const PreRasterizationShadersKhr: Self = Self(sys::VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR.0);
/// `VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT` = `1 << 24`
pub const TransformFeedbackExt: Self = Self(sys::VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT.0);
/// `VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT` = `1 << 18`
///
/// A pipeline stage for conditional rendering predicate fetch
pub const ConditionalRenderingExt: Self = Self(sys::VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT.0);
/// `VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV` = `VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_EXT`
pub const CommandPreprocessNv: Self = Self(sys::VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV.0);
/// `VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_EXT` = `1 << 17`
pub const CommandPreprocessExt: Self = Self(sys::VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_EXT.0);
/// `VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR` = `1 << 22`
pub const FragmentShadingRateAttachmentKhr: Self = Self(sys::VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR.0);
/// `VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV` = `VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR`
pub const ShadingRateImageNv: Self = Self(sys::VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV.0);
/// `VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR` = `1 << 25`
pub const AccelerationStructureBuildKhr: Self = Self(sys::VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR.0);
/// `VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR` = `1 << 21`
pub const RayTracingShaderKhr: Self = Self(sys::VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR.0);
/// `VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV` = `VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR`
pub const RayTracingShaderNv: Self = Self(sys::VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV.0);
/// `VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV` = `VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR`
pub const AccelerationStructureBuildNv: Self = Self(sys::VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV.0);
/// `VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT` = `1 << 23`
pub const FragmentDensityProcessExt: Self = Self(sys::VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT.0);
/// `VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV` = `VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT`
pub const TaskShaderNv: Self = Self(sys::VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV.0);
/// `VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV` = `VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT`
pub const MeshShaderNv: Self = Self(sys::VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV.0);
/// `VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT` = `1 << 19`
pub const TaskShaderExt: Self = Self(sys::VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT.0);
/// `VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT` = `1 << 20`
pub const MeshShaderExt: Self = Self(sys::VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT.0);
/// `VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI` = `1 << 39`
pub const SubpassShaderHuawei: Self = Self(sys::VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI.0);
/// `VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI` = `VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI`
pub const SubpassShadingHuawei: Self = Self(sys::VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI.0);
/// `VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI` = `1 << 40`
pub const InvocationMaskHuawei: Self = Self(sys::VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI.0);
/// `VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR` = `1 << 28`
pub const AccelerationStructureCopyKhr: Self = Self(sys::VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR.0);
/// `VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT` = `1 << 30`
pub const MicromapBuildExt: Self = Self(sys::VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT.0);
/// `VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI` = `1 << 41`
pub const ClusterCullingShaderHuawei: Self = Self(sys::VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI.0);
/// `VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV` = `1 << 29`
pub const OpticalFlowNv: Self = Self(sys::VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV.0);
/// `VK_PIPELINE_STAGE_2_CONVERT_COOPERATIVE_VECTOR_MATRIX_BIT_NV` = `1 << 44`
pub const ConvertCooperativeVectorMatrixNv: Self = Self(sys::VK_PIPELINE_STAGE_2_CONVERT_COOPERATIVE_VECTOR_MATRIX_BIT_NV.0);
/// `VK_PIPELINE_STAGE_2_DATA_GRAPH_BIT_ARM` = `1 << 42`
pub const DataGraphArm: Self = Self(sys::VK_PIPELINE_STAGE_2_DATA_GRAPH_BIT_ARM.0);
/// `VK_PIPELINE_STAGE_2_COPY_INDIRECT_BIT_KHR` = `1 << 46`
pub const CopyIndirectKhr: Self = Self(sys::VK_PIPELINE_STAGE_2_COPY_INDIRECT_BIT_KHR.0);
/// `VK_PIPELINE_STAGE_2_MEMORY_DECOMPRESSION_BIT_EXT` = `1 << 45`
pub const MemoryDecompressionExt: Self = Self(sys::VK_PIPELINE_STAGE_2_MEMORY_DECOMPRESSION_BIT_EXT.0);
/// `VK_PIPELINE_STAGE_2_RESERVED_49_BIT_EXT` = `1 << 49`
pub const Reserved49Ext: Self = Self(sys::VK_PIPELINE_STAGE_2_RESERVED_49_BIT_EXT.0);
/// `VK_PIPELINE_STAGE_2_RESERVED_47_BIT_KHR` = `1 << 47`
pub const Reserved47Khr: Self = Self(sys::VK_PIPELINE_STAGE_2_RESERVED_47_BIT_KHR.0);
/// `VK_PIPELINE_STAGE_2_RESERVED_43_BIT_ARM` = `1 << 43`
pub const Reserved43Arm: Self = Self(sys::VK_PIPELINE_STAGE_2_RESERVED_43_BIT_ARM.0);
/// `VK_PIPELINE_STAGE_2_RESERVED_48_BIT_HUAWEI` = `1 << 48`
pub const Reserved48Huawei: Self = Self(sys::VK_PIPELINE_STAGE_2_RESERVED_48_BIT_HUAWEI.0);
}
impl_flags_display!(PipelineStageFlags2 = VkPipelineStageFlags2 { None, TopOfPipe, DrawIndirect, VertexInput, VertexShader, TessellationControlShader, TessellationEvaluationShader, GeometryShader, FragmentShader, EarlyFragmentTests, LateFragmentTests, ColorAttachmentOutput, ComputeShader, AllTransfer, Transfer, BottomOfPipe, Host, AllGraphics, AllCommands, Copy, Resolve, Blit, Clear, IndexInput, VertexAttributeInput, PreRasterizationShaders, VideoDecodeKhr, VideoEncodeKhr, NoneKhr, TopOfPipeKhr, DrawIndirectKhr, VertexInputKhr, VertexShaderKhr, TessellationControlShaderKhr, TessellationEvaluationShaderKhr, GeometryShaderKhr, FragmentShaderKhr, EarlyFragmentTestsKhr, LateFragmentTestsKhr, ColorAttachmentOutputKhr, ComputeShaderKhr, AllTransferKhr, TransferKhr, BottomOfPipeKhr, HostKhr, AllGraphicsKhr, AllCommandsKhr, CopyKhr, ResolveKhr, BlitKhr, ClearKhr, IndexInputKhr, VertexAttributeInputKhr, PreRasterizationShadersKhr, TransformFeedbackExt, ConditionalRenderingExt, CommandPreprocessNv, CommandPreprocessExt, FragmentShadingRateAttachmentKhr, ShadingRateImageNv, AccelerationStructureBuildKhr, RayTracingShaderKhr, RayTracingShaderNv, AccelerationStructureBuildNv, FragmentDensityProcessExt, TaskShaderNv, MeshShaderNv, TaskShaderExt, MeshShaderExt, SubpassShaderHuawei, SubpassShadingHuawei, InvocationMaskHuawei, AccelerationStructureCopyKhr, MicromapBuildExt, ClusterCullingShaderHuawei, OpticalFlowNv, ConvertCooperativeVectorMatrixNv, DataGraphArm, CopyIndirectKhr, MemoryDecompressionExt, Reserved49Ext, Reserved47Khr, Reserved43Arm, Reserved48Huawei });
/// `VkPipelineStageFlags2KHR` = `VkPipelineStageFlags2`
pub type PipelineStageFlags2KHR = PipelineStageFlags2;
/// `VkPipelineTessellationStateCreateFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PipelineTessellationStateCreateFlags(pub i32);
flags!(PipelineTessellationStateCreateFlags);
from_into_transparent!(PipelineTessellationStateCreateFlags : i32);
from_by_transmute!(PipelineTessellationStateCreateFlags => sys::VkPipelineTessellationStateCreateFlags);
from_by_transmute!(sys::VkPipelineTessellationStateCreateFlags => PipelineTessellationStateCreateFlags);
impl_to_sys!(PipelineTessellationStateCreateFlags => sys::VkPipelineTessellationStateCreateFlags);
impl_enum!(PipelineTessellationStateCreateFlags => sys::VkPipelineTessellationStateCreateFlags);
impl_flags_display!(PipelineTessellationStateCreateFlags = VkPipelineTessellationStateCreateFlags { });
/// `VkPipelineVertexInputStateCreateFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PipelineVertexInputStateCreateFlags(pub i32);
flags!(PipelineVertexInputStateCreateFlags);
from_into_transparent!(PipelineVertexInputStateCreateFlags : i32);
from_by_transmute!(PipelineVertexInputStateCreateFlags => sys::VkPipelineVertexInputStateCreateFlags);
from_by_transmute!(sys::VkPipelineVertexInputStateCreateFlags => PipelineVertexInputStateCreateFlags);
impl_to_sys!(PipelineVertexInputStateCreateFlags => sys::VkPipelineVertexInputStateCreateFlags);
impl_enum!(PipelineVertexInputStateCreateFlags => sys::VkPipelineVertexInputStateCreateFlags);
impl_flags_display!(PipelineVertexInputStateCreateFlags = VkPipelineVertexInputStateCreateFlags { });
/// `VkPipelineViewportStateCreateFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PipelineViewportStateCreateFlags(pub i32);
flags!(PipelineViewportStateCreateFlags);
from_into_transparent!(PipelineViewportStateCreateFlags : i32);
from_by_transmute!(PipelineViewportStateCreateFlags => sys::VkPipelineViewportStateCreateFlags);
from_by_transmute!(sys::VkPipelineViewportStateCreateFlags => PipelineViewportStateCreateFlags);
impl_to_sys!(PipelineViewportStateCreateFlags => sys::VkPipelineViewportStateCreateFlags);
impl_enum!(PipelineViewportStateCreateFlags => sys::VkPipelineViewportStateCreateFlags);
impl_flags_display!(PipelineViewportStateCreateFlags = VkPipelineViewportStateCreateFlags { });
/// `VkPipelineViewportSwizzleStateCreateFlagsNV`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PipelineViewportSwizzleStateCreateFlagsNV(pub i32);
flags!(PipelineViewportSwizzleStateCreateFlagsNV);
from_into_transparent!(PipelineViewportSwizzleStateCreateFlagsNV : i32);
from_by_transmute!(PipelineViewportSwizzleStateCreateFlagsNV => sys::VkPipelineViewportSwizzleStateCreateFlagsNV);
from_by_transmute!(sys::VkPipelineViewportSwizzleStateCreateFlagsNV => PipelineViewportSwizzleStateCreateFlagsNV);
impl_to_sys!(PipelineViewportSwizzleStateCreateFlagsNV => sys::VkPipelineViewportSwizzleStateCreateFlagsNV);
impl_enum!(PipelineViewportSwizzleStateCreateFlagsNV => sys::VkPipelineViewportSwizzleStateCreateFlagsNV);
impl_flags_display!(PipelineViewportSwizzleStateCreateFlagsNV = VkPipelineViewportSwizzleStateCreateFlagsNV { });
/// `VkPointClippingBehavior`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PointClippingBehavior(pub i32);
from_into_transparent!(PointClippingBehavior : i32);
from_by_transmute!(PointClippingBehavior => sys::VkPointClippingBehavior);
from_by_transmute!(sys::VkPointClippingBehavior => PointClippingBehavior);
impl_to_sys!(PointClippingBehavior => sys::VkPointClippingBehavior);
impl_enum!(PointClippingBehavior => sys::VkPointClippingBehavior);
impl PointClippingBehavior {
/// `VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES` = `0`
pub const AllClipPlanes: Self = Self(sys::VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES.0);
/// `VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY` = `1`
pub const UserClipPlanesOnly: Self = Self(sys::VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY.0);
/// `VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR` = `VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES`
pub const AllClipPlanesKhr: Self = Self(sys::VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES_KHR.0);
/// `VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR` = `VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY`
pub const UserClipPlanesOnlyKhr: Self = Self(sys::VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY_KHR.0);
}
impl_enum_display!(PointClippingBehavior = VkPointClippingBehavior { AllClipPlanes, UserClipPlanesOnly, AllClipPlanesKhr, UserClipPlanesOnlyKhr });
/// `VkPointClippingBehaviorKHR` = `VkPointClippingBehavior`
pub type PointClippingBehaviorKHR = PointClippingBehavior;
/// `VkPolygonMode`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PolygonMode(pub i32);
from_into_transparent!(PolygonMode : i32);
from_by_transmute!(PolygonMode => sys::VkPolygonMode);
from_by_transmute!(sys::VkPolygonMode => PolygonMode);
impl_to_sys!(PolygonMode => sys::VkPolygonMode);
impl_enum!(PolygonMode => sys::VkPolygonMode);
impl PolygonMode {
/// `VK_POLYGON_MODE_FILL` = `0`
pub const Fill: Self = Self(sys::VK_POLYGON_MODE_FILL.0);
/// `VK_POLYGON_MODE_LINE` = `1`
pub const Line: Self = Self(sys::VK_POLYGON_MODE_LINE.0);
/// `VK_POLYGON_MODE_POINT` = `2`
pub const Point: Self = Self(sys::VK_POLYGON_MODE_POINT.0);
/// `VK_POLYGON_MODE_FILL_RECTANGLE_NV` = `1000153000`
pub const FillRectangleNv: Self = Self(sys::VK_POLYGON_MODE_FILL_RECTANGLE_NV.0);
}
impl_enum_display!(PolygonMode = VkPolygonMode { Fill, Line, Point, FillRectangleNv });
/// `VkPresentGravityFlagsEXT` = `VkPresentGravityFlagsKHR`
pub type PresentGravityFlagsEXT = PresentGravityFlagsKHR;
/// `VkPresentGravityFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PresentGravityFlagsKHR(pub i32);
flags!(PresentGravityFlagsKHR);
from_into_transparent!(PresentGravityFlagsKHR : i32);
from_by_transmute!(PresentGravityFlagsKHR => sys::VkPresentGravityFlagsKHR);
from_by_transmute!(sys::VkPresentGravityFlagsKHR => PresentGravityFlagsKHR);
impl_to_sys!(PresentGravityFlagsKHR => sys::VkPresentGravityFlagsKHR);
impl_enum!(PresentGravityFlagsKHR => sys::VkPresentGravityFlagsKHR);
impl PresentGravityFlagsKHR {
/// `VK_PRESENT_GRAVITY_MIN_BIT_KHR` = `1 << 0`
pub const MinKhr: Self = Self(sys::VK_PRESENT_GRAVITY_MIN_BIT_KHR.0);
/// `VK_PRESENT_GRAVITY_MIN_BIT_EXT` = `VK_PRESENT_GRAVITY_MIN_BIT_KHR`
pub const MinExt: Self = Self(sys::VK_PRESENT_GRAVITY_MIN_BIT_EXT.0);
/// `VK_PRESENT_GRAVITY_MAX_BIT_KHR` = `1 << 1`
pub const MaxKhr: Self = Self(sys::VK_PRESENT_GRAVITY_MAX_BIT_KHR.0);
/// `VK_PRESENT_GRAVITY_MAX_BIT_EXT` = `VK_PRESENT_GRAVITY_MAX_BIT_KHR`
pub const MaxExt: Self = Self(sys::VK_PRESENT_GRAVITY_MAX_BIT_EXT.0);
/// `VK_PRESENT_GRAVITY_CENTERED_BIT_KHR` = `1 << 2`
pub const CenteredKhr: Self = Self(sys::VK_PRESENT_GRAVITY_CENTERED_BIT_KHR.0);
/// `VK_PRESENT_GRAVITY_CENTERED_BIT_EXT` = `VK_PRESENT_GRAVITY_CENTERED_BIT_KHR`
pub const CenteredExt: Self = Self(sys::VK_PRESENT_GRAVITY_CENTERED_BIT_EXT.0);
}
impl_flags_display!(PresentGravityFlagsKHR = VkPresentGravityFlagsKHR { MinKhr, MinExt, MaxKhr, MaxExt, CenteredKhr, CenteredExt });
/// `VkPresentModeKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PresentModeKHR(pub i32);
from_into_transparent!(PresentModeKHR : i32);
from_by_transmute!(PresentModeKHR => sys::VkPresentModeKHR);
from_by_transmute!(sys::VkPresentModeKHR => PresentModeKHR);
impl_to_sys!(PresentModeKHR => sys::VkPresentModeKHR);
impl_enum!(PresentModeKHR => sys::VkPresentModeKHR);
impl PresentModeKHR {
/// `VK_PRESENT_MODE_IMMEDIATE_KHR` = `0`
pub const ImmediateKhr: Self = Self(sys::VK_PRESENT_MODE_IMMEDIATE_KHR.0);
/// `VK_PRESENT_MODE_MAILBOX_KHR` = `1`
pub const MailboxKhr: Self = Self(sys::VK_PRESENT_MODE_MAILBOX_KHR.0);
/// `VK_PRESENT_MODE_FIFO_KHR` = `2`
pub const FifoKhr: Self = Self(sys::VK_PRESENT_MODE_FIFO_KHR.0);
/// `VK_PRESENT_MODE_FIFO_RELAXED_KHR` = `3`
pub const FifoRelaxedKhr: Self = Self(sys::VK_PRESENT_MODE_FIFO_RELAXED_KHR.0);
/// `VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR` = `1000111000`
pub const SharedDemandRefreshKhr: Self = Self(sys::VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR.0);
/// `VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR` = `1000111001`
pub const SharedContinuousRefreshKhr: Self = Self(sys::VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR.0);
/// `VK_PRESENT_MODE_FIFO_LATEST_READY_EXT` = `VK_PRESENT_MODE_FIFO_LATEST_READY_KHR`
pub const FifoLatestReadyExt: Self = Self(sys::VK_PRESENT_MODE_FIFO_LATEST_READY_EXT.0);
/// `VK_PRESENT_MODE_FIFO_LATEST_READY_KHR` = `1000361000`
pub const FifoLatestReadyKhr: Self = Self(sys::VK_PRESENT_MODE_FIFO_LATEST_READY_KHR.0);
}
impl_enum_display!(PresentModeKHR = VkPresentModeKHR { ImmediateKhr, MailboxKhr, FifoKhr, FifoRelaxedKhr, SharedDemandRefreshKhr, SharedContinuousRefreshKhr, FifoLatestReadyExt, FifoLatestReadyKhr });
/// `VkPresentScalingFlagsEXT` = `VkPresentScalingFlagsKHR`
pub type PresentScalingFlagsEXT = PresentScalingFlagsKHR;
/// `VkPresentScalingFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PresentScalingFlagsKHR(pub i32);
flags!(PresentScalingFlagsKHR);
from_into_transparent!(PresentScalingFlagsKHR : i32);
from_by_transmute!(PresentScalingFlagsKHR => sys::VkPresentScalingFlagsKHR);
from_by_transmute!(sys::VkPresentScalingFlagsKHR => PresentScalingFlagsKHR);
impl_to_sys!(PresentScalingFlagsKHR => sys::VkPresentScalingFlagsKHR);
impl_enum!(PresentScalingFlagsKHR => sys::VkPresentScalingFlagsKHR);
impl PresentScalingFlagsKHR {
/// `VK_PRESENT_SCALING_ONE_TO_ONE_BIT_KHR` = `1 << 0`
pub const OneToOneKhr: Self = Self(sys::VK_PRESENT_SCALING_ONE_TO_ONE_BIT_KHR.0);
/// `VK_PRESENT_SCALING_ONE_TO_ONE_BIT_EXT` = `VK_PRESENT_SCALING_ONE_TO_ONE_BIT_KHR`
pub const OneToOneExt: Self = Self(sys::VK_PRESENT_SCALING_ONE_TO_ONE_BIT_EXT.0);
/// `VK_PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_KHR` = `1 << 1`
pub const AspectRatioStretchKhr: Self = Self(sys::VK_PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_KHR.0);
/// `VK_PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_EXT` = `VK_PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_KHR`
pub const AspectRatioStretchExt: Self = Self(sys::VK_PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_EXT.0);
/// `VK_PRESENT_SCALING_STRETCH_BIT_KHR` = `1 << 2`
pub const StretchKhr: Self = Self(sys::VK_PRESENT_SCALING_STRETCH_BIT_KHR.0);
/// `VK_PRESENT_SCALING_STRETCH_BIT_EXT` = `VK_PRESENT_SCALING_STRETCH_BIT_KHR`
pub const StretchExt: Self = Self(sys::VK_PRESENT_SCALING_STRETCH_BIT_EXT.0);
}
impl_flags_display!(PresentScalingFlagsKHR = VkPresentScalingFlagsKHR { OneToOneKhr, OneToOneExt, AspectRatioStretchKhr, AspectRatioStretchExt, StretchKhr, StretchExt });
/// `VkPresentStageFlagsEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PresentStageFlagsEXT(pub i32);
flags!(PresentStageFlagsEXT);
from_into_transparent!(PresentStageFlagsEXT : i32);
from_by_transmute!(PresentStageFlagsEXT => sys::VkPresentStageFlagsEXT);
from_by_transmute!(sys::VkPresentStageFlagsEXT => PresentStageFlagsEXT);
impl_to_sys!(PresentStageFlagsEXT => sys::VkPresentStageFlagsEXT);
impl_enum!(PresentStageFlagsEXT => sys::VkPresentStageFlagsEXT);
impl PresentStageFlagsEXT {
/// `VK_PRESENT_STAGE_QUEUE_OPERATIONS_END_BIT_EXT` = `1 << 0`
pub const QueueOperationsEndExt: Self = Self(sys::VK_PRESENT_STAGE_QUEUE_OPERATIONS_END_BIT_EXT.0);
/// `VK_PRESENT_STAGE_REQUEST_DEQUEUED_BIT_EXT` = `1 << 1`
pub const RequestDequeuedExt: Self = Self(sys::VK_PRESENT_STAGE_REQUEST_DEQUEUED_BIT_EXT.0);
/// `VK_PRESENT_STAGE_IMAGE_FIRST_PIXEL_OUT_BIT_EXT` = `1 << 2`
pub const ImageFirstPixelOutExt: Self = Self(sys::VK_PRESENT_STAGE_IMAGE_FIRST_PIXEL_OUT_BIT_EXT.0);
/// `VK_PRESENT_STAGE_IMAGE_FIRST_PIXEL_VISIBLE_BIT_EXT` = `1 << 3`
pub const ImageFirstPixelVisibleExt: Self = Self(sys::VK_PRESENT_STAGE_IMAGE_FIRST_PIXEL_VISIBLE_BIT_EXT.0);
}
impl_flags_display!(PresentStageFlagsEXT = VkPresentStageFlagsEXT { QueueOperationsEndExt, RequestDequeuedExt, ImageFirstPixelOutExt, ImageFirstPixelVisibleExt });
/// `VkPresentTimingInfoFlagsEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PresentTimingInfoFlagsEXT(pub i32);
flags!(PresentTimingInfoFlagsEXT);
from_into_transparent!(PresentTimingInfoFlagsEXT : i32);
from_by_transmute!(PresentTimingInfoFlagsEXT => sys::VkPresentTimingInfoFlagsEXT);
from_by_transmute!(sys::VkPresentTimingInfoFlagsEXT => PresentTimingInfoFlagsEXT);
impl_to_sys!(PresentTimingInfoFlagsEXT => sys::VkPresentTimingInfoFlagsEXT);
impl_enum!(PresentTimingInfoFlagsEXT => sys::VkPresentTimingInfoFlagsEXT);
impl PresentTimingInfoFlagsEXT {
/// `VK_PRESENT_TIMING_INFO_PRESENT_AT_RELATIVE_TIME_BIT_EXT` = `1 << 0`
pub const PresentAtRelativeTimeExt: Self = Self(sys::VK_PRESENT_TIMING_INFO_PRESENT_AT_RELATIVE_TIME_BIT_EXT.0);
/// `VK_PRESENT_TIMING_INFO_PRESENT_AT_NEAREST_REFRESH_CYCLE_BIT_EXT` = `1 << 1`
pub const PresentAtNearestRefreshCycleExt: Self = Self(sys::VK_PRESENT_TIMING_INFO_PRESENT_AT_NEAREST_REFRESH_CYCLE_BIT_EXT.0);
}
impl_flags_display!(PresentTimingInfoFlagsEXT = VkPresentTimingInfoFlagsEXT { PresentAtRelativeTimeExt, PresentAtNearestRefreshCycleExt });
/// `VkPrimitiveTopology`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PrimitiveTopology(pub i32);
from_into_transparent!(PrimitiveTopology : i32);
from_by_transmute!(PrimitiveTopology => sys::VkPrimitiveTopology);
from_by_transmute!(sys::VkPrimitiveTopology => PrimitiveTopology);
impl_to_sys!(PrimitiveTopology => sys::VkPrimitiveTopology);
impl_enum!(PrimitiveTopology => sys::VkPrimitiveTopology);
impl PrimitiveTopology {
/// `VK_PRIMITIVE_TOPOLOGY_POINT_LIST` = `0`
pub const PointList: Self = Self(sys::VK_PRIMITIVE_TOPOLOGY_POINT_LIST.0);
/// `VK_PRIMITIVE_TOPOLOGY_LINE_LIST` = `1`
pub const LineList: Self = Self(sys::VK_PRIMITIVE_TOPOLOGY_LINE_LIST.0);
/// `VK_PRIMITIVE_TOPOLOGY_LINE_STRIP` = `2`
pub const LineStrip: Self = Self(sys::VK_PRIMITIVE_TOPOLOGY_LINE_STRIP.0);
/// `VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST` = `3`
pub const TriangleList: Self = Self(sys::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST.0);
/// `VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP` = `4`
pub const TriangleStrip: Self = Self(sys::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP.0);
/// `VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN` = `5`
pub const TriangleFan: Self = Self(sys::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN.0);
/// `VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY` = `6`
pub const LineListWithAdjacency: Self = Self(sys::VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY.0);
/// `VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY` = `7`
pub const LineStripWithAdjacency: Self = Self(sys::VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY.0);
/// `VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY` = `8`
pub const TriangleListWithAdjacency: Self = Self(sys::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY.0);
/// `VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY` = `9`
pub const TriangleStripWithAdjacency: Self = Self(sys::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY.0);
/// `VK_PRIMITIVE_TOPOLOGY_PATCH_LIST` = `10`
pub const PatchList: Self = Self(sys::VK_PRIMITIVE_TOPOLOGY_PATCH_LIST.0);
}
impl_enum_display!(PrimitiveTopology = VkPrimitiveTopology { PointList, LineList, LineStrip, TriangleList, TriangleStrip, TriangleFan, LineListWithAdjacency, LineStripWithAdjacency, TriangleListWithAdjacency, TriangleStripWithAdjacency, PatchList });
/// `VkPrivateDataSlotCreateFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct PrivateDataSlotCreateFlags(pub i32);
flags!(PrivateDataSlotCreateFlags);
from_into_transparent!(PrivateDataSlotCreateFlags : i32);
from_by_transmute!(PrivateDataSlotCreateFlags => sys::VkPrivateDataSlotCreateFlags);
from_by_transmute!(sys::VkPrivateDataSlotCreateFlags => PrivateDataSlotCreateFlags);
impl_to_sys!(PrivateDataSlotCreateFlags => sys::VkPrivateDataSlotCreateFlags);
impl_enum!(PrivateDataSlotCreateFlags => sys::VkPrivateDataSlotCreateFlags);
impl PrivateDataSlotCreateFlags {
/// `VK_PRIVATE_DATA_SLOT_CREATE_RESERVED_0_BIT_NV` = `1 << 0`
pub const Reserved0Nv: Self = Self(sys::VK_PRIVATE_DATA_SLOT_CREATE_RESERVED_0_BIT_NV.0);
}
impl_flags_display!(PrivateDataSlotCreateFlags = VkPrivateDataSlotCreateFlags { Reserved0Nv });
/// `VkPrivateDataSlotCreateFlagsEXT` = `VkPrivateDataSlotCreateFlags`
pub type PrivateDataSlotCreateFlagsEXT = PrivateDataSlotCreateFlags;
/// `VkProvokingVertexModeEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ProvokingVertexModeEXT(pub i32);
from_into_transparent!(ProvokingVertexModeEXT : i32);
from_by_transmute!(ProvokingVertexModeEXT => sys::VkProvokingVertexModeEXT);
from_by_transmute!(sys::VkProvokingVertexModeEXT => ProvokingVertexModeEXT);
impl_to_sys!(ProvokingVertexModeEXT => sys::VkProvokingVertexModeEXT);
impl_enum!(ProvokingVertexModeEXT => sys::VkProvokingVertexModeEXT);
impl ProvokingVertexModeEXT {
/// `VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT` = `0`
pub const FirstVertexExt: Self = Self(sys::VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT.0);
/// `VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT` = `1`
pub const LastVertexExt: Self = Self(sys::VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT.0);
}
impl_enum_display!(ProvokingVertexModeEXT = VkProvokingVertexModeEXT { FirstVertexExt, LastVertexExt });
/// `VkQueryControlFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct QueryControlFlags(pub i32);
flags!(QueryControlFlags);
from_into_transparent!(QueryControlFlags : i32);
from_by_transmute!(QueryControlFlags => sys::VkQueryControlFlags);
from_by_transmute!(sys::VkQueryControlFlags => QueryControlFlags);
impl_to_sys!(QueryControlFlags => sys::VkQueryControlFlags);
impl_enum!(QueryControlFlags => sys::VkQueryControlFlags);
impl QueryControlFlags {
/// `VK_QUERY_CONTROL_PRECISE_BIT` = `1 << 0`
///
/// Require precise results to be collected by the query
pub const Precise: Self = Self(sys::VK_QUERY_CONTROL_PRECISE_BIT.0);
}
impl_flags_display!(QueryControlFlags = VkQueryControlFlags { Precise });
/// `VkQueryPipelineStatisticFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct QueryPipelineStatisticFlags(pub i32);
flags!(QueryPipelineStatisticFlags);
from_into_transparent!(QueryPipelineStatisticFlags : i32);
from_by_transmute!(QueryPipelineStatisticFlags => sys::VkQueryPipelineStatisticFlags);
from_by_transmute!(sys::VkQueryPipelineStatisticFlags => QueryPipelineStatisticFlags);
impl_to_sys!(QueryPipelineStatisticFlags => sys::VkQueryPipelineStatisticFlags);
impl_enum!(QueryPipelineStatisticFlags => sys::VkQueryPipelineStatisticFlags);
impl QueryPipelineStatisticFlags {
/// `VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT` = `1 << 0`
///
/// Optional
pub const InputAssemblyVertices: Self = Self(sys::VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT.0);
/// `VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT` = `1 << 1`
///
/// Optional
pub const InputAssemblyPrimitives: Self = Self(sys::VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT.0);
/// `VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT` = `1 << 2`
///
/// Optional
pub const VertexShaderInvocations: Self = Self(sys::VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT.0);
/// `VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT` = `1 << 3`
///
/// Optional
pub const GeometryShaderInvocations: Self = Self(sys::VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT.0);
/// `VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT` = `1 << 4`
///
/// Optional
pub const GeometryShaderPrimitives: Self = Self(sys::VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT.0);
/// `VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT` = `1 << 5`
///
/// Optional
pub const ClippingInvocations: Self = Self(sys::VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT.0);
/// `VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT` = `1 << 6`
///
/// Optional
pub const ClippingPrimitives: Self = Self(sys::VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT.0);
/// `VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT` = `1 << 7`
///
/// Optional
pub const FragmentShaderInvocations: Self = Self(sys::VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT.0);
/// `VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT` = `1 << 8`
///
/// Optional
pub const TessellationControlShaderPatches: Self = Self(sys::VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT.0);
/// `VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT` = `1 << 9`
///
/// Optional
pub const TessellationEvaluationShaderInvocations: Self = Self(sys::VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT.0);
/// `VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT` = `1 << 10`
///
/// Optional
pub const ComputeShaderInvocations: Self = Self(sys::VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT.0);
/// `VK_QUERY_PIPELINE_STATISTIC_TASK_SHADER_INVOCATIONS_BIT_EXT` = `1 << 11`
pub const TaskShaderInvocationsExt: Self = Self(sys::VK_QUERY_PIPELINE_STATISTIC_TASK_SHADER_INVOCATIONS_BIT_EXT.0);
/// `VK_QUERY_PIPELINE_STATISTIC_MESH_SHADER_INVOCATIONS_BIT_EXT` = `1 << 12`
pub const MeshShaderInvocationsExt: Self = Self(sys::VK_QUERY_PIPELINE_STATISTIC_MESH_SHADER_INVOCATIONS_BIT_EXT.0);
/// `VK_QUERY_PIPELINE_STATISTIC_CLUSTER_CULLING_SHADER_INVOCATIONS_BIT_HUAWEI` = `1 << 13`
pub const ClusterCullingShaderInvocationsHuawei: Self = Self(sys::VK_QUERY_PIPELINE_STATISTIC_CLUSTER_CULLING_SHADER_INVOCATIONS_BIT_HUAWEI.0);
}
impl_flags_display!(QueryPipelineStatisticFlags = VkQueryPipelineStatisticFlags { InputAssemblyVertices, InputAssemblyPrimitives, VertexShaderInvocations, GeometryShaderInvocations, GeometryShaderPrimitives, ClippingInvocations, ClippingPrimitives, FragmentShaderInvocations, TessellationControlShaderPatches, TessellationEvaluationShaderInvocations, ComputeShaderInvocations, TaskShaderInvocationsExt, MeshShaderInvocationsExt, ClusterCullingShaderInvocationsHuawei });
/// `VkQueryPoolCreateFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct QueryPoolCreateFlags(pub i32);
flags!(QueryPoolCreateFlags);
from_into_transparent!(QueryPoolCreateFlags : i32);
from_by_transmute!(QueryPoolCreateFlags => sys::VkQueryPoolCreateFlags);
from_by_transmute!(sys::VkQueryPoolCreateFlags => QueryPoolCreateFlags);
impl_to_sys!(QueryPoolCreateFlags => sys::VkQueryPoolCreateFlags);
impl_enum!(QueryPoolCreateFlags => sys::VkQueryPoolCreateFlags);
impl QueryPoolCreateFlags {
/// `VK_QUERY_POOL_CREATE_RESET_BIT_KHR` = `1 << 0`
pub const ResetKhr: Self = Self(sys::VK_QUERY_POOL_CREATE_RESET_BIT_KHR.0);
}
impl_flags_display!(QueryPoolCreateFlags = VkQueryPoolCreateFlags { ResetKhr });
/// `VkQueryPoolSamplingModeINTEL`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct QueryPoolSamplingModeINTEL(pub i32);
from_into_transparent!(QueryPoolSamplingModeINTEL : i32);
from_by_transmute!(QueryPoolSamplingModeINTEL => sys::VkQueryPoolSamplingModeINTEL);
from_by_transmute!(sys::VkQueryPoolSamplingModeINTEL => QueryPoolSamplingModeINTEL);
impl_to_sys!(QueryPoolSamplingModeINTEL => sys::VkQueryPoolSamplingModeINTEL);
impl_enum!(QueryPoolSamplingModeINTEL => sys::VkQueryPoolSamplingModeINTEL);
impl QueryPoolSamplingModeINTEL {
/// `VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL` = `0`
pub const ManualIntel: Self = Self(sys::VK_QUERY_POOL_SAMPLING_MODE_MANUAL_INTEL.0);
}
impl_enum_display!(QueryPoolSamplingModeINTEL = VkQueryPoolSamplingModeINTEL { ManualIntel });
/// `VkQueryResultFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct QueryResultFlags(pub i32);
flags!(QueryResultFlags);
from_into_transparent!(QueryResultFlags : i32);
from_by_transmute!(QueryResultFlags => sys::VkQueryResultFlags);
from_by_transmute!(sys::VkQueryResultFlags => QueryResultFlags);
impl_to_sys!(QueryResultFlags => sys::VkQueryResultFlags);
impl_enum!(QueryResultFlags => sys::VkQueryResultFlags);
impl QueryResultFlags {
/// `VK_QUERY_RESULT_64_BIT` = `1 << 0`
///
/// Results of the queries are written to the destination buffer as 64-bit values
pub const _64: Self = Self(sys::VK_QUERY_RESULT_64_BIT.0);
/// `VK_QUERY_RESULT_WAIT_BIT` = `1 << 1`
///
/// Results of the queries are waited on before proceeding with the result copy
pub const Wait: Self = Self(sys::VK_QUERY_RESULT_WAIT_BIT.0);
/// `VK_QUERY_RESULT_WITH_AVAILABILITY_BIT` = `1 << 2`
///
/// Besides the results of the query, the availability of the results is also written
pub const WithAvailability: Self = Self(sys::VK_QUERY_RESULT_WITH_AVAILABILITY_BIT.0);
/// `VK_QUERY_RESULT_PARTIAL_BIT` = `1 << 3`
///
/// Copy the partial results of the query even if the final results are not available
pub const Partial: Self = Self(sys::VK_QUERY_RESULT_PARTIAL_BIT.0);
/// `VK_QUERY_RESULT_WITH_STATUS_BIT_KHR` = `1 << 4`
pub const WithStatusKhr: Self = Self(sys::VK_QUERY_RESULT_WITH_STATUS_BIT_KHR.0);
}
impl_flags_display!(QueryResultFlags = VkQueryResultFlags { _64, Wait, WithAvailability, Partial, WithStatusKhr });
/// `VkQueryResultStatusKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct QueryResultStatusKHR(pub i32);
from_into_transparent!(QueryResultStatusKHR : i32);
from_by_transmute!(QueryResultStatusKHR => sys::VkQueryResultStatusKHR);
from_by_transmute!(sys::VkQueryResultStatusKHR => QueryResultStatusKHR);
impl_to_sys!(QueryResultStatusKHR => sys::VkQueryResultStatusKHR);
impl_enum!(QueryResultStatusKHR => sys::VkQueryResultStatusKHR);
impl QueryResultStatusKHR {
/// `VK_QUERY_RESULT_STATUS_ERROR_KHR` = `-1`
pub const ErrorKhr: Self = Self(sys::VK_QUERY_RESULT_STATUS_ERROR_KHR.0);
/// `VK_QUERY_RESULT_STATUS_NOT_READY_KHR` = `0`
pub const NotReadyKhr: Self = Self(sys::VK_QUERY_RESULT_STATUS_NOT_READY_KHR.0);
/// `VK_QUERY_RESULT_STATUS_COMPLETE_KHR` = `1`
pub const CompleteKhr: Self = Self(sys::VK_QUERY_RESULT_STATUS_COMPLETE_KHR.0);
/// `VK_QUERY_RESULT_STATUS_INSUFFICIENT_BITSTREAM_BUFFER_RANGE_KHR` = `-1000299000`
pub const InsufficientBitstreamBufferRangeKhr: Self = Self(sys::VK_QUERY_RESULT_STATUS_INSUFFICIENT_BITSTREAM_BUFFER_RANGE_KHR.0);
}
impl_enum_display!(QueryResultStatusKHR = VkQueryResultStatusKHR { ErrorKhr, NotReadyKhr, CompleteKhr, InsufficientBitstreamBufferRangeKhr });
/// `VkQueryType`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct QueryType(pub i32);
from_into_transparent!(QueryType : i32);
from_by_transmute!(QueryType => sys::VkQueryType);
from_by_transmute!(sys::VkQueryType => QueryType);
impl_to_sys!(QueryType => sys::VkQueryType);
impl_enum!(QueryType => sys::VkQueryType);
impl QueryType {
/// `VK_QUERY_TYPE_OCCLUSION` = `0`
pub const Occlusion: Self = Self(sys::VK_QUERY_TYPE_OCCLUSION.0);
/// `VK_QUERY_TYPE_PIPELINE_STATISTICS` = `1`
///
/// Optional
pub const PipelineStatistics: Self = Self(sys::VK_QUERY_TYPE_PIPELINE_STATISTICS.0);
/// `VK_QUERY_TYPE_TIMESTAMP` = `2`
pub const Timestamp: Self = Self(sys::VK_QUERY_TYPE_TIMESTAMP.0);
/// `VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR` = `1000023000`
pub const ResultStatusOnlyKhr: Self = Self(sys::VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR.0);
/// `VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT` = `1000028004`
pub const TransformFeedbackStreamExt: Self = Self(sys::VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT.0);
/// `VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR` = `1000116000`
pub const PerformanceQueryKhr: Self = Self(sys::VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR.0);
/// `VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR` = `1000150000`
pub const AccelerationStructureCompactedSizeKhr: Self = Self(sys::VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR.0);
/// `VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR` = `1000150001`
pub const AccelerationStructureSerializationSizeKhr: Self = Self(sys::VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR.0);
/// `VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV` = `1000165000`
pub const AccelerationStructureCompactedSizeNv: Self = Self(sys::VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV.0);
/// `VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL` = `1000210000`
pub const PerformanceQueryIntel: Self = Self(sys::VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL.0);
/// `VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR` = `1000299000`
pub const VideoEncodeFeedbackKhr: Self = Self(sys::VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR.0);
/// `VK_QUERY_TYPE_MESH_PRIMITIVES_GENERATED_EXT` = `1000328000`
pub const MeshPrimitivesGeneratedExt: Self = Self(sys::VK_QUERY_TYPE_MESH_PRIMITIVES_GENERATED_EXT.0);
/// `VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT` = `1000382000`
pub const PrimitivesGeneratedExt: Self = Self(sys::VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT.0);
/// `VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR` = `1000386000`
pub const AccelerationStructureSerializationBottomLevelPointersKhr: Self = Self(sys::VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR.0);
/// `VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR` = `1000386001`
pub const AccelerationStructureSizeKhr: Self = Self(sys::VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR.0);
/// `VK_QUERY_TYPE_MICROMAP_SERIALIZATION_SIZE_EXT` = `1000396000`
pub const MicromapSerializationSizeExt: Self = Self(sys::VK_QUERY_TYPE_MICROMAP_SERIALIZATION_SIZE_EXT.0);
/// `VK_QUERY_TYPE_MICROMAP_COMPACTED_SIZE_EXT` = `1000396001`
pub const MicromapCompactedSizeExt: Self = Self(sys::VK_QUERY_TYPE_MICROMAP_COMPACTED_SIZE_EXT.0);
}
impl_enum_display!(QueryType = VkQueryType { Occlusion, PipelineStatistics, Timestamp, ResultStatusOnlyKhr, TransformFeedbackStreamExt, PerformanceQueryKhr, AccelerationStructureCompactedSizeKhr, AccelerationStructureSerializationSizeKhr, AccelerationStructureCompactedSizeNv, PerformanceQueryIntel, VideoEncodeFeedbackKhr, MeshPrimitivesGeneratedExt, PrimitivesGeneratedExt, AccelerationStructureSerializationBottomLevelPointersKhr, AccelerationStructureSizeKhr, MicromapSerializationSizeExt, MicromapCompactedSizeExt });
/// `VkQueueFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct QueueFlags(pub i32);
flags!(QueueFlags);
from_into_transparent!(QueueFlags : i32);
from_by_transmute!(QueueFlags => sys::VkQueueFlags);
from_by_transmute!(sys::VkQueueFlags => QueueFlags);
impl_to_sys!(QueueFlags => sys::VkQueueFlags);
impl_enum!(QueueFlags => sys::VkQueueFlags);
impl QueueFlags {
/// `VK_QUEUE_GRAPHICS_BIT` = `1 << 0`
///
/// Queue supports graphics operations
pub const Graphics: Self = Self(sys::VK_QUEUE_GRAPHICS_BIT.0);
/// `VK_QUEUE_COMPUTE_BIT` = `1 << 1`
///
/// Queue supports compute operations
pub const Compute: Self = Self(sys::VK_QUEUE_COMPUTE_BIT.0);
/// `VK_QUEUE_TRANSFER_BIT` = `1 << 2`
///
/// Queue supports transfer operations
pub const Transfer: Self = Self(sys::VK_QUEUE_TRANSFER_BIT.0);
/// `VK_QUEUE_SPARSE_BINDING_BIT` = `1 << 3`
///
/// Queue supports sparse resource memory management operations
pub const SparseBinding: Self = Self(sys::VK_QUEUE_SPARSE_BINDING_BIT.0);
/// `VK_QUEUE_PROTECTED_BIT` = `1 << 4`
///
/// Queues may support protected operations
pub const Protected: Self = Self(sys::VK_QUEUE_PROTECTED_BIT.0);
/// `VK_QUEUE_VIDEO_DECODE_BIT_KHR` = `1 << 5`
pub const VideoDecodeKhr: Self = Self(sys::VK_QUEUE_VIDEO_DECODE_BIT_KHR.0);
/// `VK_QUEUE_VIDEO_ENCODE_BIT_KHR` = `1 << 6`
pub const VideoEncodeKhr: Self = Self(sys::VK_QUEUE_VIDEO_ENCODE_BIT_KHR.0);
/// `VK_QUEUE_RESERVED_7_BIT_QCOM` = `1 << 7`
pub const Reserved7Qcom: Self = Self(sys::VK_QUEUE_RESERVED_7_BIT_QCOM.0);
/// `VK_QUEUE_OPTICAL_FLOW_BIT_NV` = `1 << 8`
pub const OpticalFlowNv: Self = Self(sys::VK_QUEUE_OPTICAL_FLOW_BIT_NV.0);
/// `VK_QUEUE_DATA_GRAPH_BIT_ARM` = `1 << 10`
pub const DataGraphArm: Self = Self(sys::VK_QUEUE_DATA_GRAPH_BIT_ARM.0);
/// `VK_QUEUE_RESERVED_12_BIT_EXT` = `1 << 12`
pub const Reserved12Ext: Self = Self(sys::VK_QUEUE_RESERVED_12_BIT_EXT.0);
/// `VK_QUEUE_RESERVED_9_BIT_EXT` = `1 << 9`
pub const Reserved9Ext: Self = Self(sys::VK_QUEUE_RESERVED_9_BIT_EXT.0);
/// `VK_QUEUE_RESERVED_13_BIT_EXT` = `1 << 13`
pub const Reserved13Ext: Self = Self(sys::VK_QUEUE_RESERVED_13_BIT_EXT.0);
/// `VK_QUEUE_RESERVED_11_BIT_ARM` = `1 << 11`
pub const Reserved11Arm: Self = Self(sys::VK_QUEUE_RESERVED_11_BIT_ARM.0);
}
impl_flags_display!(QueueFlags = VkQueueFlags { Graphics, Compute, Transfer, SparseBinding, Protected, VideoDecodeKhr, VideoEncodeKhr, Reserved7Qcom, OpticalFlowNv, DataGraphArm, Reserved12Ext, Reserved9Ext, Reserved13Ext, Reserved11Arm });
/// `VkQueueGlobalPriority`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct QueueGlobalPriority(pub i32);
from_into_transparent!(QueueGlobalPriority : i32);
from_by_transmute!(QueueGlobalPriority => sys::VkQueueGlobalPriority);
from_by_transmute!(sys::VkQueueGlobalPriority => QueueGlobalPriority);
impl_to_sys!(QueueGlobalPriority => sys::VkQueueGlobalPriority);
impl_enum!(QueueGlobalPriority => sys::VkQueueGlobalPriority);
impl QueueGlobalPriority {
/// `VK_QUEUE_GLOBAL_PRIORITY_LOW` = `128`
pub const Low: Self = Self(sys::VK_QUEUE_GLOBAL_PRIORITY_LOW.0);
/// `VK_QUEUE_GLOBAL_PRIORITY_MEDIUM` = `256`
pub const Medium: Self = Self(sys::VK_QUEUE_GLOBAL_PRIORITY_MEDIUM.0);
/// `VK_QUEUE_GLOBAL_PRIORITY_HIGH` = `512`
pub const High: Self = Self(sys::VK_QUEUE_GLOBAL_PRIORITY_HIGH.0);
/// `VK_QUEUE_GLOBAL_PRIORITY_REALTIME` = `1024`
pub const Realtime: Self = Self(sys::VK_QUEUE_GLOBAL_PRIORITY_REALTIME.0);
/// `VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT` = `VK_QUEUE_GLOBAL_PRIORITY_LOW`
pub const LowExt: Self = Self(sys::VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT.0);
/// `VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT` = `VK_QUEUE_GLOBAL_PRIORITY_MEDIUM`
pub const MediumExt: Self = Self(sys::VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT.0);
/// `VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT` = `VK_QUEUE_GLOBAL_PRIORITY_HIGH`
pub const HighExt: Self = Self(sys::VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT.0);
/// `VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT` = `VK_QUEUE_GLOBAL_PRIORITY_REALTIME`
pub const RealtimeExt: Self = Self(sys::VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT.0);
/// `VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR` = `VK_QUEUE_GLOBAL_PRIORITY_LOW`
pub const LowKhr: Self = Self(sys::VK_QUEUE_GLOBAL_PRIORITY_LOW_KHR.0);
/// `VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR` = `VK_QUEUE_GLOBAL_PRIORITY_MEDIUM`
pub const MediumKhr: Self = Self(sys::VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR.0);
/// `VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR` = `VK_QUEUE_GLOBAL_PRIORITY_HIGH`
pub const HighKhr: Self = Self(sys::VK_QUEUE_GLOBAL_PRIORITY_HIGH_KHR.0);
/// `VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR` = `VK_QUEUE_GLOBAL_PRIORITY_REALTIME`
pub const RealtimeKhr: Self = Self(sys::VK_QUEUE_GLOBAL_PRIORITY_REALTIME_KHR.0);
}
impl_enum_display!(QueueGlobalPriority = VkQueueGlobalPriority { Low, Medium, High, Realtime, LowExt, MediumExt, HighExt, RealtimeExt, LowKhr, MediumKhr, HighKhr, RealtimeKhr });
/// `VkQueueGlobalPriorityEXT` = `VkQueueGlobalPriority`
pub type QueueGlobalPriorityEXT = QueueGlobalPriority;
/// `VkQueueGlobalPriorityKHR` = `VkQueueGlobalPriority`
pub type QueueGlobalPriorityKHR = QueueGlobalPriority;
/// `VkRasterizationOrderAMD`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct RasterizationOrderAMD(pub i32);
from_into_transparent!(RasterizationOrderAMD : i32);
from_by_transmute!(RasterizationOrderAMD => sys::VkRasterizationOrderAMD);
from_by_transmute!(sys::VkRasterizationOrderAMD => RasterizationOrderAMD);
impl_to_sys!(RasterizationOrderAMD => sys::VkRasterizationOrderAMD);
impl_enum!(RasterizationOrderAMD => sys::VkRasterizationOrderAMD);
impl RasterizationOrderAMD {
/// `VK_RASTERIZATION_ORDER_STRICT_AMD` = `0`
pub const StrictAmd: Self = Self(sys::VK_RASTERIZATION_ORDER_STRICT_AMD.0);
/// `VK_RASTERIZATION_ORDER_RELAXED_AMD` = `1`
pub const RelaxedAmd: Self = Self(sys::VK_RASTERIZATION_ORDER_RELAXED_AMD.0);
}
impl_enum_display!(RasterizationOrderAMD = VkRasterizationOrderAMD { StrictAmd, RelaxedAmd });
/// `VkRayTracingInvocationReorderModeEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct RayTracingInvocationReorderModeEXT(pub i32);
from_into_transparent!(RayTracingInvocationReorderModeEXT : i32);
from_by_transmute!(RayTracingInvocationReorderModeEXT => sys::VkRayTracingInvocationReorderModeEXT);
from_by_transmute!(sys::VkRayTracingInvocationReorderModeEXT => RayTracingInvocationReorderModeEXT);
impl_to_sys!(RayTracingInvocationReorderModeEXT => sys::VkRayTracingInvocationReorderModeEXT);
impl_enum!(RayTracingInvocationReorderModeEXT => sys::VkRayTracingInvocationReorderModeEXT);
impl RayTracingInvocationReorderModeEXT {
/// `VK_RAY_TRACING_INVOCATION_REORDER_MODE_NONE_EXT` = `0`
pub const NoneExt: Self = Self(sys::VK_RAY_TRACING_INVOCATION_REORDER_MODE_NONE_EXT.0);
/// `VK_RAY_TRACING_INVOCATION_REORDER_MODE_REORDER_EXT` = `1`
pub const ReorderExt: Self = Self(sys::VK_RAY_TRACING_INVOCATION_REORDER_MODE_REORDER_EXT.0);
/// `VK_RAY_TRACING_INVOCATION_REORDER_MODE_NONE_NV` = `VK_RAY_TRACING_INVOCATION_REORDER_MODE_NONE_EXT`
pub const NoneNv: Self = Self(sys::VK_RAY_TRACING_INVOCATION_REORDER_MODE_NONE_NV.0);
/// `VK_RAY_TRACING_INVOCATION_REORDER_MODE_REORDER_NV` = `VK_RAY_TRACING_INVOCATION_REORDER_MODE_REORDER_EXT`
pub const ReorderNv: Self = Self(sys::VK_RAY_TRACING_INVOCATION_REORDER_MODE_REORDER_NV.0);
}
impl_enum_display!(RayTracingInvocationReorderModeEXT = VkRayTracingInvocationReorderModeEXT { NoneExt, ReorderExt, NoneNv, ReorderNv });
/// `VkRayTracingInvocationReorderModeNV` = `VkRayTracingInvocationReorderModeEXT`
pub type RayTracingInvocationReorderModeNV = RayTracingInvocationReorderModeEXT;
/// `VkRayTracingLssIndexingModeNV`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct RayTracingLssIndexingModeNV(pub i32);
from_into_transparent!(RayTracingLssIndexingModeNV : i32);
from_by_transmute!(RayTracingLssIndexingModeNV => sys::VkRayTracingLssIndexingModeNV);
from_by_transmute!(sys::VkRayTracingLssIndexingModeNV => RayTracingLssIndexingModeNV);
impl_to_sys!(RayTracingLssIndexingModeNV => sys::VkRayTracingLssIndexingModeNV);
impl_enum!(RayTracingLssIndexingModeNV => sys::VkRayTracingLssIndexingModeNV);
impl RayTracingLssIndexingModeNV {
/// `VK_RAY_TRACING_LSS_INDEXING_MODE_LIST_NV` = `0`
pub const ListNv: Self = Self(sys::VK_RAY_TRACING_LSS_INDEXING_MODE_LIST_NV.0);
/// `VK_RAY_TRACING_LSS_INDEXING_MODE_SUCCESSIVE_NV` = `1`
pub const SuccessiveNv: Self = Self(sys::VK_RAY_TRACING_LSS_INDEXING_MODE_SUCCESSIVE_NV.0);
}
impl_enum_display!(RayTracingLssIndexingModeNV = VkRayTracingLssIndexingModeNV { ListNv, SuccessiveNv });
/// `VkRayTracingLssPrimitiveEndCapsModeNV`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct RayTracingLssPrimitiveEndCapsModeNV(pub i32);
from_into_transparent!(RayTracingLssPrimitiveEndCapsModeNV : i32);
from_by_transmute!(RayTracingLssPrimitiveEndCapsModeNV => sys::VkRayTracingLssPrimitiveEndCapsModeNV);
from_by_transmute!(sys::VkRayTracingLssPrimitiveEndCapsModeNV => RayTracingLssPrimitiveEndCapsModeNV);
impl_to_sys!(RayTracingLssPrimitiveEndCapsModeNV => sys::VkRayTracingLssPrimitiveEndCapsModeNV);
impl_enum!(RayTracingLssPrimitiveEndCapsModeNV => sys::VkRayTracingLssPrimitiveEndCapsModeNV);
impl RayTracingLssPrimitiveEndCapsModeNV {
/// `VK_RAY_TRACING_LSS_PRIMITIVE_END_CAPS_MODE_NONE_NV` = `0`
pub const NoneNv: Self = Self(sys::VK_RAY_TRACING_LSS_PRIMITIVE_END_CAPS_MODE_NONE_NV.0);
/// `VK_RAY_TRACING_LSS_PRIMITIVE_END_CAPS_MODE_CHAINED_NV` = `1`
pub const ChainedNv: Self = Self(sys::VK_RAY_TRACING_LSS_PRIMITIVE_END_CAPS_MODE_CHAINED_NV.0);
}
impl_enum_display!(RayTracingLssPrimitiveEndCapsModeNV = VkRayTracingLssPrimitiveEndCapsModeNV { NoneNv, ChainedNv });
/// `VkRayTracingShaderGroupTypeKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct RayTracingShaderGroupTypeKHR(pub i32);
from_into_transparent!(RayTracingShaderGroupTypeKHR : i32);
from_by_transmute!(RayTracingShaderGroupTypeKHR => sys::VkRayTracingShaderGroupTypeKHR);
from_by_transmute!(sys::VkRayTracingShaderGroupTypeKHR => RayTracingShaderGroupTypeKHR);
impl_to_sys!(RayTracingShaderGroupTypeKHR => sys::VkRayTracingShaderGroupTypeKHR);
impl_enum!(RayTracingShaderGroupTypeKHR => sys::VkRayTracingShaderGroupTypeKHR);
impl RayTracingShaderGroupTypeKHR {
/// `VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR` = `0`
pub const GeneralKhr: Self = Self(sys::VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR.0);
/// `VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR` = `1`
pub const TrianglesHitGroupKhr: Self = Self(sys::VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR.0);
/// `VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR` = `2`
pub const ProceduralHitGroupKhr: Self = Self(sys::VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR.0);
/// `VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV` = `VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR`
pub const GeneralNv: Self = Self(sys::VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV.0);
/// `VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV` = `VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_KHR`
pub const TrianglesHitGroupNv: Self = Self(sys::VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV.0);
/// `VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV` = `VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR`
pub const ProceduralHitGroupNv: Self = Self(sys::VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV.0);
}
impl_enum_display!(RayTracingShaderGroupTypeKHR = VkRayTracingShaderGroupTypeKHR { GeneralKhr, TrianglesHitGroupKhr, ProceduralHitGroupKhr, GeneralNv, TrianglesHitGroupNv, ProceduralHitGroupNv });
/// `VkRayTracingShaderGroupTypeNV` = `VkRayTracingShaderGroupTypeKHR`
pub type RayTracingShaderGroupTypeNV = RayTracingShaderGroupTypeKHR;
/// `VkRefreshObjectFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct RefreshObjectFlagsKHR(pub i32);
flags!(RefreshObjectFlagsKHR);
from_into_transparent!(RefreshObjectFlagsKHR : i32);
from_by_transmute!(RefreshObjectFlagsKHR => sys::VkRefreshObjectFlagsKHR);
from_by_transmute!(sys::VkRefreshObjectFlagsKHR => RefreshObjectFlagsKHR);
impl_to_sys!(RefreshObjectFlagsKHR => sys::VkRefreshObjectFlagsKHR);
impl_enum!(RefreshObjectFlagsKHR => sys::VkRefreshObjectFlagsKHR);
impl_flags_display!(RefreshObjectFlagsKHR = VkRefreshObjectFlagsKHR { });
/// `VkRenderPassCreateFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct RenderPassCreateFlags(pub i32);
flags!(RenderPassCreateFlags);
from_into_transparent!(RenderPassCreateFlags : i32);
from_by_transmute!(RenderPassCreateFlags => sys::VkRenderPassCreateFlags);
from_by_transmute!(sys::VkRenderPassCreateFlags => RenderPassCreateFlags);
impl_to_sys!(RenderPassCreateFlags => sys::VkRenderPassCreateFlags);
impl_enum!(RenderPassCreateFlags => sys::VkRenderPassCreateFlags);
impl RenderPassCreateFlags {
/// `VK_RENDER_PASS_CREATE_RESERVED_3_BIT_IMG` = `1 << 3`
pub const Reserved3Img: Self = Self(sys::VK_RENDER_PASS_CREATE_RESERVED_3_BIT_IMG.0);
/// `VK_RENDER_PASS_CREATE_RESERVED_0_BIT_KHR` = `1 << 0`
pub const Reserved0Khr: Self = Self(sys::VK_RENDER_PASS_CREATE_RESERVED_0_BIT_KHR.0);
/// `VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM` = `1 << 1`
pub const TransformQcom: Self = Self(sys::VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM.0);
/// `VK_RENDER_PASS_CREATE_PER_LAYER_FRAGMENT_DENSITY_BIT_VALVE` = `1 << 2`
pub const PerLayerFragmentDensityValve: Self = Self(sys::VK_RENDER_PASS_CREATE_PER_LAYER_FRAGMENT_DENSITY_BIT_VALVE.0);
}
impl_flags_display!(RenderPassCreateFlags = VkRenderPassCreateFlags { Reserved3Img, Reserved0Khr, TransformQcom, PerLayerFragmentDensityValve });
/// `VkRenderingAttachmentFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct RenderingAttachmentFlagsKHR(pub i32);
flags!(RenderingAttachmentFlagsKHR);
from_into_transparent!(RenderingAttachmentFlagsKHR : i32);
from_by_transmute!(RenderingAttachmentFlagsKHR => sys::VkRenderingAttachmentFlagsKHR);
from_by_transmute!(sys::VkRenderingAttachmentFlagsKHR => RenderingAttachmentFlagsKHR);
impl_to_sys!(RenderingAttachmentFlagsKHR => sys::VkRenderingAttachmentFlagsKHR);
impl_enum!(RenderingAttachmentFlagsKHR => sys::VkRenderingAttachmentFlagsKHR);
impl RenderingAttachmentFlagsKHR {
/// `VK_RENDERING_ATTACHMENT_INPUT_ATTACHMENT_FEEDBACK_BIT_KHR` = `1 << 0`
pub const InputAttachmentFeedbackKhr: Self = Self(sys::VK_RENDERING_ATTACHMENT_INPUT_ATTACHMENT_FEEDBACK_BIT_KHR.0);
/// `VK_RENDERING_ATTACHMENT_RESOLVE_SKIP_TRANSFER_FUNCTION_BIT_KHR` = `1 << 1`
pub const ResolveSkipTransferFunctionKhr: Self = Self(sys::VK_RENDERING_ATTACHMENT_RESOLVE_SKIP_TRANSFER_FUNCTION_BIT_KHR.0);
/// `VK_RENDERING_ATTACHMENT_RESOLVE_ENABLE_TRANSFER_FUNCTION_BIT_KHR` = `1 << 2`
pub const ResolveEnableTransferFunctionKhr: Self = Self(sys::VK_RENDERING_ATTACHMENT_RESOLVE_ENABLE_TRANSFER_FUNCTION_BIT_KHR.0);
}
impl_flags_display!(RenderingAttachmentFlagsKHR = VkRenderingAttachmentFlagsKHR { InputAttachmentFeedbackKhr, ResolveSkipTransferFunctionKhr, ResolveEnableTransferFunctionKhr });
/// `VkRenderingFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct RenderingFlags(pub i32);
flags!(RenderingFlags);
from_into_transparent!(RenderingFlags : i32);
from_by_transmute!(RenderingFlags => sys::VkRenderingFlags);
from_by_transmute!(sys::VkRenderingFlags => RenderingFlags);
impl_to_sys!(RenderingFlags => sys::VkRenderingFlags);
impl_enum!(RenderingFlags => sys::VkRenderingFlags);
impl RenderingFlags {
/// `VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT` = `1 << 0`
pub const ContentsSecondaryCommandBuffers: Self = Self(sys::VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT.0);
/// `VK_RENDERING_SUSPENDING_BIT` = `1 << 1`
pub const Suspending: Self = Self(sys::VK_RENDERING_SUSPENDING_BIT.0);
/// `VK_RENDERING_RESUMING_BIT` = `1 << 2`
pub const Resuming: Self = Self(sys::VK_RENDERING_RESUMING_BIT.0);
/// `VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR` = `VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT`
pub const ContentsSecondaryCommandBuffersKhr: Self = Self(sys::VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR.0);
/// `VK_RENDERING_SUSPENDING_BIT_KHR` = `VK_RENDERING_SUSPENDING_BIT`
pub const SuspendingKhr: Self = Self(sys::VK_RENDERING_SUSPENDING_BIT_KHR.0);
/// `VK_RENDERING_RESUMING_BIT_KHR` = `VK_RENDERING_RESUMING_BIT`
pub const ResumingKhr: Self = Self(sys::VK_RENDERING_RESUMING_BIT_KHR.0);
/// `VK_RENDERING_RESERVED_9_BIT_IMG` = `1 << 9`
pub const Reserved9Img: Self = Self(sys::VK_RENDERING_RESERVED_9_BIT_IMG.0);
/// `VK_RENDERING_CONTENTS_INLINE_BIT_EXT` = `VK_RENDERING_CONTENTS_INLINE_BIT_KHR`
pub const ContentsInlineExt: Self = Self(sys::VK_RENDERING_CONTENTS_INLINE_BIT_EXT.0);
/// `VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT` = `1 << 3`
pub const EnableLegacyDitheringExt: Self = Self(sys::VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT.0);
/// `VK_RENDERING_CONTENTS_INLINE_BIT_KHR` = `1 << 4`
///
/// Promoted from extension 452
pub const ContentsInlineKhr: Self = Self(sys::VK_RENDERING_CONTENTS_INLINE_BIT_KHR.0);
/// `VK_RENDERING_PER_LAYER_FRAGMENT_DENSITY_BIT_VALVE` = `1 << 5`
pub const PerLayerFragmentDensityValve: Self = Self(sys::VK_RENDERING_PER_LAYER_FRAGMENT_DENSITY_BIT_VALVE.0);
/// `VK_RENDERING_FRAGMENT_REGION_BIT_EXT` = `1 << 6`
pub const FragmentRegionExt: Self = Self(sys::VK_RENDERING_FRAGMENT_REGION_BIT_EXT.0);
/// `VK_RENDERING_CUSTOM_RESOLVE_BIT_EXT` = `1 << 7`
pub const CustomResolveExt: Self = Self(sys::VK_RENDERING_CUSTOM_RESOLVE_BIT_EXT.0);
/// `VK_RENDERING_LOCAL_READ_CONCURRENT_ACCESS_CONTROL_BIT_KHR` = `1 << 8`
pub const LocalReadConcurrentAccessControlKhr: Self = Self(sys::VK_RENDERING_LOCAL_READ_CONCURRENT_ACCESS_CONTROL_BIT_KHR.0);
}
impl_flags_display!(RenderingFlags = VkRenderingFlags { ContentsSecondaryCommandBuffers, Suspending, Resuming, ContentsSecondaryCommandBuffersKhr, SuspendingKhr, ResumingKhr, Reserved9Img, ContentsInlineExt, EnableLegacyDitheringExt, ContentsInlineKhr, PerLayerFragmentDensityValve, FragmentRegionExt, CustomResolveExt, LocalReadConcurrentAccessControlKhr });
/// `VkRenderingFlagsKHR` = `VkRenderingFlags`
pub type RenderingFlagsKHR = RenderingFlags;
/// `VkResolveImageFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ResolveImageFlagsKHR(pub i32);
flags!(ResolveImageFlagsKHR);
from_into_transparent!(ResolveImageFlagsKHR : i32);
from_by_transmute!(ResolveImageFlagsKHR => sys::VkResolveImageFlagsKHR);
from_by_transmute!(sys::VkResolveImageFlagsKHR => ResolveImageFlagsKHR);
impl_to_sys!(ResolveImageFlagsKHR => sys::VkResolveImageFlagsKHR);
impl_enum!(ResolveImageFlagsKHR => sys::VkResolveImageFlagsKHR);
impl ResolveImageFlagsKHR {
/// `VK_RESOLVE_IMAGE_SKIP_TRANSFER_FUNCTION_BIT_KHR` = `1 << 0`
pub const SkipTransferFunctionKhr: Self = Self(sys::VK_RESOLVE_IMAGE_SKIP_TRANSFER_FUNCTION_BIT_KHR.0);
/// `VK_RESOLVE_IMAGE_ENABLE_TRANSFER_FUNCTION_BIT_KHR` = `1 << 1`
pub const EnableTransferFunctionKhr: Self = Self(sys::VK_RESOLVE_IMAGE_ENABLE_TRANSFER_FUNCTION_BIT_KHR.0);
}
impl_flags_display!(ResolveImageFlagsKHR = VkResolveImageFlagsKHR { SkipTransferFunctionKhr, EnableTransferFunctionKhr });
/// `VkResolveModeFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ResolveModeFlags(pub i32);
flags!(ResolveModeFlags);
from_into_transparent!(ResolveModeFlags : i32);
from_by_transmute!(ResolveModeFlags => sys::VkResolveModeFlags);
from_by_transmute!(sys::VkResolveModeFlags => ResolveModeFlags);
impl_to_sys!(ResolveModeFlags => sys::VkResolveModeFlags);
impl_enum!(ResolveModeFlags => sys::VkResolveModeFlags);
impl ResolveModeFlags {
/// `VK_RESOLVE_MODE_NONE` = `0`
pub const None: Self = Self(sys::VK_RESOLVE_MODE_NONE.0);
/// `VK_RESOLVE_MODE_SAMPLE_ZERO_BIT` = `1 << 0`
pub const SampleZero: Self = Self(sys::VK_RESOLVE_MODE_SAMPLE_ZERO_BIT.0);
/// `VK_RESOLVE_MODE_AVERAGE_BIT` = `1 << 1`
pub const Average: Self = Self(sys::VK_RESOLVE_MODE_AVERAGE_BIT.0);
/// `VK_RESOLVE_MODE_MIN_BIT` = `1 << 2`
pub const Min: Self = Self(sys::VK_RESOLVE_MODE_MIN_BIT.0);
/// `VK_RESOLVE_MODE_MAX_BIT` = `1 << 3`
pub const Max: Self = Self(sys::VK_RESOLVE_MODE_MAX_BIT.0);
/// `VK_RESOLVE_MODE_NONE_KHR` = `VK_RESOLVE_MODE_NONE`
pub const NoneKhr: Self = Self(sys::VK_RESOLVE_MODE_NONE_KHR.0);
/// `VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR` = `VK_RESOLVE_MODE_SAMPLE_ZERO_BIT`
pub const SampleZeroKhr: Self = Self(sys::VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR.0);
/// `VK_RESOLVE_MODE_AVERAGE_BIT_KHR` = `VK_RESOLVE_MODE_AVERAGE_BIT`
pub const AverageKhr: Self = Self(sys::VK_RESOLVE_MODE_AVERAGE_BIT_KHR.0);
/// `VK_RESOLVE_MODE_MIN_BIT_KHR` = `VK_RESOLVE_MODE_MIN_BIT`
pub const MinKhr: Self = Self(sys::VK_RESOLVE_MODE_MIN_BIT_KHR.0);
/// `VK_RESOLVE_MODE_MAX_BIT_KHR` = `VK_RESOLVE_MODE_MAX_BIT`
pub const MaxKhr: Self = Self(sys::VK_RESOLVE_MODE_MAX_BIT_KHR.0);
/// `VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_BIT_ANDROID` = `1 << 4`
pub const ExternalFormatDownsampleAndroid: Self = Self(sys::VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_BIT_ANDROID.0);
/// `VK_RESOLVE_MODE_CUSTOM_BIT_EXT` = `1 << 5`
pub const CustomExt: Self = Self(sys::VK_RESOLVE_MODE_CUSTOM_BIT_EXT.0);
}
impl_flags_display!(ResolveModeFlags = VkResolveModeFlags { None, SampleZero, Average, Min, Max, NoneKhr, SampleZeroKhr, AverageKhr, MinKhr, MaxKhr, ExternalFormatDownsampleAndroid, CustomExt });
/// `VkResolveModeFlagsKHR` = `VkResolveModeFlags`
pub type ResolveModeFlagsKHR = ResolveModeFlags;
/// `VkResult`
///
/// API result codes
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct Result(pub i32);
from_into_transparent!(Result : i32);
from_by_transmute!(Result => sys::VkResult);
from_by_transmute!(sys::VkResult => Result);
impl_to_sys!(Result => sys::VkResult);
impl_enum!(Result => sys::VkResult);
impl Result {
/// `VK_SUCCESS` = `0`
///
/// Command completed successfully
pub const Success: Self = Self(sys::VK_SUCCESS.0);
/// `VK_NOT_READY` = `1`
///
/// A fence or query has not yet completed
pub const NotReady: Self = Self(sys::VK_NOT_READY.0);
/// `VK_TIMEOUT` = `2`
///
/// A wait operation has not completed in the specified time
pub const Timeout: Self = Self(sys::VK_TIMEOUT.0);
/// `VK_EVENT_SET` = `3`
///
/// An event is signaled
pub const EventSet: Self = Self(sys::VK_EVENT_SET.0);
/// `VK_EVENT_RESET` = `4`
///
/// An event is unsignaled
pub const EventReset: Self = Self(sys::VK_EVENT_RESET.0);
/// `VK_INCOMPLETE` = `5`
///
/// A return array was too small for the result
pub const Incomplete: Self = Self(sys::VK_INCOMPLETE.0);
/// `VK_ERROR_OUT_OF_HOST_MEMORY` = `-1`
///
/// A host memory allocation has failed
pub const ErrorOutOfHostMemory: Self = Self(sys::VK_ERROR_OUT_OF_HOST_MEMORY.0);
/// `VK_ERROR_OUT_OF_DEVICE_MEMORY` = `-2`
///
/// A device memory allocation has failed
pub const ErrorOutOfDeviceMemory: Self = Self(sys::VK_ERROR_OUT_OF_DEVICE_MEMORY.0);
/// `VK_ERROR_INITIALIZATION_FAILED` = `-3`
///
/// Initialization of an object has failed
pub const ErrorInitializationFailed: Self = Self(sys::VK_ERROR_INITIALIZATION_FAILED.0);
/// `VK_ERROR_DEVICE_LOST` = `-4`
///
/// The logical device has been lost. See devsandqueues-lost-device
pub const ErrorDeviceLost: Self = Self(sys::VK_ERROR_DEVICE_LOST.0);
/// `VK_ERROR_MEMORY_MAP_FAILED` = `-5`
///
/// Mapping of a memory object has failed
pub const ErrorMemoryMapFailed: Self = Self(sys::VK_ERROR_MEMORY_MAP_FAILED.0);
/// `VK_ERROR_LAYER_NOT_PRESENT` = `-6`
///
/// Layer specified does not exist
pub const ErrorLayerNotPresent: Self = Self(sys::VK_ERROR_LAYER_NOT_PRESENT.0);
/// `VK_ERROR_EXTENSION_NOT_PRESENT` = `-7`
///
/// Extension specified does not exist
pub const ErrorExtensionNotPresent: Self = Self(sys::VK_ERROR_EXTENSION_NOT_PRESENT.0);
/// `VK_ERROR_FEATURE_NOT_PRESENT` = `-8`
///
/// Requested feature is not available on this device
pub const ErrorFeatureNotPresent: Self = Self(sys::VK_ERROR_FEATURE_NOT_PRESENT.0);
/// `VK_ERROR_INCOMPATIBLE_DRIVER` = `-9`
///
/// Unable to find a Vulkan driver
pub const ErrorIncompatibleDriver: Self = Self(sys::VK_ERROR_INCOMPATIBLE_DRIVER.0);
/// `VK_ERROR_TOO_MANY_OBJECTS` = `-10`
///
/// Too many objects of the type have already been created
pub const ErrorTooManyObjects: Self = Self(sys::VK_ERROR_TOO_MANY_OBJECTS.0);
/// `VK_ERROR_FORMAT_NOT_SUPPORTED` = `-11`
///
/// Requested format is not supported on this device
pub const ErrorFormatNotSupported: Self = Self(sys::VK_ERROR_FORMAT_NOT_SUPPORTED.0);
/// `VK_ERROR_FRAGMENTED_POOL` = `-12`
///
/// A requested pool allocation has failed due to fragmentation of the pool's memory
pub const ErrorFragmentedPool: Self = Self(sys::VK_ERROR_FRAGMENTED_POOL.0);
/// `VK_ERROR_UNKNOWN` = `-13`
///
/// An unknown error has occurred, due to an implementation or application bug
pub const ErrorUnknown: Self = Self(sys::VK_ERROR_UNKNOWN.0);
/// `VK_ERROR_VALIDATION_FAILED` = `-1000011001`
pub const ErrorValidationFailed: Self = Self(sys::VK_ERROR_VALIDATION_FAILED.0);
/// `VK_ERROR_OUT_OF_POOL_MEMORY` = `-1000069000`
pub const ErrorOutOfPoolMemory: Self = Self(sys::VK_ERROR_OUT_OF_POOL_MEMORY.0);
/// `VK_ERROR_INVALID_EXTERNAL_HANDLE` = `-1000072003`
pub const ErrorInvalidExternalHandle: Self = Self(sys::VK_ERROR_INVALID_EXTERNAL_HANDLE.0);
/// `VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS` = `-1000257000`
pub const ErrorInvalidOpaqueCaptureAddress: Self = Self(sys::VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS.0);
/// `VK_ERROR_FRAGMENTATION` = `-1000161000`
pub const ErrorFragmentation: Self = Self(sys::VK_ERROR_FRAGMENTATION.0);
/// `VK_PIPELINE_COMPILE_REQUIRED` = `1000297000`
pub const PipelineCompileRequired: Self = Self(sys::VK_PIPELINE_COMPILE_REQUIRED.0);
/// `VK_ERROR_NOT_PERMITTED` = `-1000174001`
pub const ErrorNotPermitted: Self = Self(sys::VK_ERROR_NOT_PERMITTED.0);
/// `VK_ERROR_INVALID_PIPELINE_CACHE_DATA` = `-1000298000`
pub const ErrorInvalidPipelineCacheData: Self = Self(sys::VK_ERROR_INVALID_PIPELINE_CACHE_DATA.0);
/// `VK_ERROR_NO_PIPELINE_MATCH` = `-1000298001`
pub const ErrorNoPipelineMatch: Self = Self(sys::VK_ERROR_NO_PIPELINE_MATCH.0);
/// `VK_ERROR_SURFACE_LOST_KHR` = `-1000000000`
pub const ErrorSurfaceLostKhr: Self = Self(sys::VK_ERROR_SURFACE_LOST_KHR.0);
/// `VK_ERROR_NATIVE_WINDOW_IN_USE_KHR` = `-1000000001`
pub const ErrorNativeWindowInUseKhr: Self = Self(sys::VK_ERROR_NATIVE_WINDOW_IN_USE_KHR.0);
/// `VK_SUBOPTIMAL_KHR` = `1000001003`
pub const SuboptimalKhr: Self = Self(sys::VK_SUBOPTIMAL_KHR.0);
/// `VK_ERROR_OUT_OF_DATE_KHR` = `-1000001004`
pub const ErrorOutOfDateKhr: Self = Self(sys::VK_ERROR_OUT_OF_DATE_KHR.0);
/// `VK_ERROR_INCOMPATIBLE_DISPLAY_KHR` = `-1000003001`
pub const ErrorIncompatibleDisplayKhr: Self = Self(sys::VK_ERROR_INCOMPATIBLE_DISPLAY_KHR.0);
/// `VK_ERROR_VALIDATION_FAILED_EXT` = `VK_ERROR_VALIDATION_FAILED`
pub const ErrorValidationFailedExt: Self = Self(sys::VK_ERROR_VALIDATION_FAILED_EXT.0);
/// `VK_ERROR_INVALID_SHADER_NV` = `-1000012000`
pub const ErrorInvalidShaderNv: Self = Self(sys::VK_ERROR_INVALID_SHADER_NV.0);
/// `VK_ERROR_IMAGE_USAGE_NOT_SUPPORTED_KHR` = `-1000023000`
pub const ErrorImageUsageNotSupportedKhr: Self = Self(sys::VK_ERROR_IMAGE_USAGE_NOT_SUPPORTED_KHR.0);
/// `VK_ERROR_VIDEO_PICTURE_LAYOUT_NOT_SUPPORTED_KHR` = `-1000023001`
pub const ErrorVideoPictureLayoutNotSupportedKhr: Self = Self(sys::VK_ERROR_VIDEO_PICTURE_LAYOUT_NOT_SUPPORTED_KHR.0);
/// `VK_ERROR_VIDEO_PROFILE_OPERATION_NOT_SUPPORTED_KHR` = `-1000023002`
pub const ErrorVideoProfileOperationNotSupportedKhr: Self = Self(sys::VK_ERROR_VIDEO_PROFILE_OPERATION_NOT_SUPPORTED_KHR.0);
/// `VK_ERROR_VIDEO_PROFILE_FORMAT_NOT_SUPPORTED_KHR` = `-1000023003`
pub const ErrorVideoProfileFormatNotSupportedKhr: Self = Self(sys::VK_ERROR_VIDEO_PROFILE_FORMAT_NOT_SUPPORTED_KHR.0);
/// `VK_ERROR_VIDEO_PROFILE_CODEC_NOT_SUPPORTED_KHR` = `-1000023004`
pub const ErrorVideoProfileCodecNotSupportedKhr: Self = Self(sys::VK_ERROR_VIDEO_PROFILE_CODEC_NOT_SUPPORTED_KHR.0);
/// `VK_ERROR_VIDEO_STD_VERSION_NOT_SUPPORTED_KHR` = `-1000023005`
pub const ErrorVideoStdVersionNotSupportedKhr: Self = Self(sys::VK_ERROR_VIDEO_STD_VERSION_NOT_SUPPORTED_KHR.0);
/// `VK_ERROR_OUT_OF_POOL_MEMORY_KHR` = `VK_ERROR_OUT_OF_POOL_MEMORY`
pub const ErrorOutOfPoolMemoryKhr: Self = Self(sys::VK_ERROR_OUT_OF_POOL_MEMORY_KHR.0);
/// `VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR` = `VK_ERROR_INVALID_EXTERNAL_HANDLE`
pub const ErrorInvalidExternalHandleKhr: Self = Self(sys::VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR.0);
/// `VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT` = `-1000158000`
pub const ErrorInvalidDrmFormatModifierPlaneLayoutExt: Self = Self(sys::VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT.0);
/// `VK_ERROR_FRAGMENTATION_EXT` = `VK_ERROR_FRAGMENTATION`
pub const ErrorFragmentationExt: Self = Self(sys::VK_ERROR_FRAGMENTATION_EXT.0);
/// `VK_ERROR_NOT_PERMITTED_EXT` = `VK_ERROR_NOT_PERMITTED`
pub const ErrorNotPermittedExt: Self = Self(sys::VK_ERROR_NOT_PERMITTED_EXT.0);
/// `VK_ERROR_NOT_PERMITTED_KHR` = `VK_ERROR_NOT_PERMITTED`
pub const ErrorNotPermittedKhr: Self = Self(sys::VK_ERROR_NOT_PERMITTED_KHR.0);
/// `VK_ERROR_PRESENT_TIMING_QUEUE_FULL_EXT` = `-1000208000`
pub const ErrorPresentTimingQueueFullExt: Self = Self(sys::VK_ERROR_PRESENT_TIMING_QUEUE_FULL_EXT.0);
/// `VK_ERROR_INVALID_DEVICE_ADDRESS_EXT` = `VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS`
pub const ErrorInvalidDeviceAddressExt: Self = Self(sys::VK_ERROR_INVALID_DEVICE_ADDRESS_EXT.0);
/// `VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT` = `-1000255000`
pub const ErrorFullScreenExclusiveModeLostExt: Self = Self(sys::VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT.0);
/// `VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR` = `VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS`
pub const ErrorInvalidOpaqueCaptureAddressKhr: Self = Self(sys::VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR.0);
/// `VK_THREAD_IDLE_KHR` = `1000268000`
pub const ThreadIdleKhr: Self = Self(sys::VK_THREAD_IDLE_KHR.0);
/// `VK_THREAD_DONE_KHR` = `1000268001`
pub const ThreadDoneKhr: Self = Self(sys::VK_THREAD_DONE_KHR.0);
/// `VK_OPERATION_DEFERRED_KHR` = `1000268002`
pub const OperationDeferredKhr: Self = Self(sys::VK_OPERATION_DEFERRED_KHR.0);
/// `VK_OPERATION_NOT_DEFERRED_KHR` = `1000268003`
pub const OperationNotDeferredKhr: Self = Self(sys::VK_OPERATION_NOT_DEFERRED_KHR.0);
/// `VK_PIPELINE_COMPILE_REQUIRED_EXT` = `VK_PIPELINE_COMPILE_REQUIRED`
pub const PipelineCompileRequiredExt: Self = Self(sys::VK_PIPELINE_COMPILE_REQUIRED_EXT.0);
/// `VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT` = `VK_PIPELINE_COMPILE_REQUIRED`
pub const ErrorPipelineCompileRequiredExt: Self = Self(sys::VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT.0);
/// `VK_ERROR_INVALID_VIDEO_STD_PARAMETERS_KHR` = `-1000299000`
pub const ErrorInvalidVideoStdParametersKhr: Self = Self(sys::VK_ERROR_INVALID_VIDEO_STD_PARAMETERS_KHR.0);
/// `VK_ERROR_COMPRESSION_EXHAUSTED_EXT` = `-1000338000`
pub const ErrorCompressionExhaustedExt: Self = Self(sys::VK_ERROR_COMPRESSION_EXHAUSTED_EXT.0);
/// `VK_INCOMPATIBLE_SHADER_BINARY_EXT` = `1000482000`
pub const IncompatibleShaderBinaryExt: Self = Self(sys::VK_INCOMPATIBLE_SHADER_BINARY_EXT.0);
/// `VK_ERROR_INCOMPATIBLE_SHADER_BINARY_EXT` = `VK_INCOMPATIBLE_SHADER_BINARY_EXT`
pub const ErrorIncompatibleShaderBinaryExt: Self = Self(sys::VK_ERROR_INCOMPATIBLE_SHADER_BINARY_EXT.0);
/// `VK_PIPELINE_BINARY_MISSING_KHR` = `1000483000`
pub const PipelineBinaryMissingKhr: Self = Self(sys::VK_PIPELINE_BINARY_MISSING_KHR.0);
/// `VK_ERROR_NOT_ENOUGH_SPACE_KHR` = `-1000483000`
pub const ErrorNotEnoughSpaceKhr: Self = Self(sys::VK_ERROR_NOT_ENOUGH_SPACE_KHR.0);
}
impl_enum_display!(Result = VkResult { Success, NotReady, Timeout, EventSet, EventReset, Incomplete, ErrorOutOfHostMemory, ErrorOutOfDeviceMemory, ErrorInitializationFailed, ErrorDeviceLost, ErrorMemoryMapFailed, ErrorLayerNotPresent, ErrorExtensionNotPresent, ErrorFeatureNotPresent, ErrorIncompatibleDriver, ErrorTooManyObjects, ErrorFormatNotSupported, ErrorFragmentedPool, ErrorUnknown, ErrorValidationFailed, ErrorOutOfPoolMemory, ErrorInvalidExternalHandle, ErrorInvalidOpaqueCaptureAddress, ErrorFragmentation, PipelineCompileRequired, ErrorNotPermitted, ErrorInvalidPipelineCacheData, ErrorNoPipelineMatch, ErrorSurfaceLostKhr, ErrorNativeWindowInUseKhr, SuboptimalKhr, ErrorOutOfDateKhr, ErrorIncompatibleDisplayKhr, ErrorValidationFailedExt, ErrorInvalidShaderNv, ErrorImageUsageNotSupportedKhr, ErrorVideoPictureLayoutNotSupportedKhr, ErrorVideoProfileOperationNotSupportedKhr, ErrorVideoProfileFormatNotSupportedKhr, ErrorVideoProfileCodecNotSupportedKhr, ErrorVideoStdVersionNotSupportedKhr, ErrorOutOfPoolMemoryKhr, ErrorInvalidExternalHandleKhr, ErrorInvalidDrmFormatModifierPlaneLayoutExt, ErrorFragmentationExt, ErrorNotPermittedExt, ErrorNotPermittedKhr, ErrorPresentTimingQueueFullExt, ErrorInvalidDeviceAddressExt, ErrorFullScreenExclusiveModeLostExt, ErrorInvalidOpaqueCaptureAddressKhr, ThreadIdleKhr, ThreadDoneKhr, OperationDeferredKhr, OperationNotDeferredKhr, PipelineCompileRequiredExt, ErrorPipelineCompileRequiredExt, ErrorInvalidVideoStdParametersKhr, ErrorCompressionExhaustedExt, IncompatibleShaderBinaryExt, ErrorIncompatibleShaderBinaryExt, PipelineBinaryMissingKhr, ErrorNotEnoughSpaceKhr });
/// `VkSampleCountFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct SampleCountFlags(pub i32);
flags!(SampleCountFlags);
from_into_transparent!(SampleCountFlags : i32);
from_by_transmute!(SampleCountFlags => sys::VkSampleCountFlags);
from_by_transmute!(sys::VkSampleCountFlags => SampleCountFlags);
impl_to_sys!(SampleCountFlags => sys::VkSampleCountFlags);
impl_enum!(SampleCountFlags => sys::VkSampleCountFlags);
impl SampleCountFlags {
/// `VK_SAMPLE_COUNT_1_BIT` = `1 << 0`
///
/// Sample count 1 supported
pub const _1: Self = Self(sys::VK_SAMPLE_COUNT_1_BIT.0);
/// `VK_SAMPLE_COUNT_2_BIT` = `1 << 1`
///
/// Sample count 2 supported
pub const _2: Self = Self(sys::VK_SAMPLE_COUNT_2_BIT.0);
/// `VK_SAMPLE_COUNT_4_BIT` = `1 << 2`
///
/// Sample count 4 supported
pub const _4: Self = Self(sys::VK_SAMPLE_COUNT_4_BIT.0);
/// `VK_SAMPLE_COUNT_8_BIT` = `1 << 3`
///
/// Sample count 8 supported
pub const _8: Self = Self(sys::VK_SAMPLE_COUNT_8_BIT.0);
/// `VK_SAMPLE_COUNT_16_BIT` = `1 << 4`
///
/// Sample count 16 supported
pub const _16: Self = Self(sys::VK_SAMPLE_COUNT_16_BIT.0);
/// `VK_SAMPLE_COUNT_32_BIT` = `1 << 5`
///
/// Sample count 32 supported
pub const _32: Self = Self(sys::VK_SAMPLE_COUNT_32_BIT.0);
/// `VK_SAMPLE_COUNT_64_BIT` = `1 << 6`
///
/// Sample count 64 supported
pub const _64: Self = Self(sys::VK_SAMPLE_COUNT_64_BIT.0);
}
impl_flags_display!(SampleCountFlags = VkSampleCountFlags { _1, _2, _4, _8, _16, _32, _64 });
/// `VkSamplerAddressMode`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct SamplerAddressMode(pub i32);
from_into_transparent!(SamplerAddressMode : i32);
from_by_transmute!(SamplerAddressMode => sys::VkSamplerAddressMode);
from_by_transmute!(sys::VkSamplerAddressMode => SamplerAddressMode);
impl_to_sys!(SamplerAddressMode => sys::VkSamplerAddressMode);
impl_enum!(SamplerAddressMode => sys::VkSamplerAddressMode);
impl SamplerAddressMode {
/// `VK_SAMPLER_ADDRESS_MODE_REPEAT` = `0`
pub const Repeat: Self = Self(sys::VK_SAMPLER_ADDRESS_MODE_REPEAT.0);
/// `VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT` = `1`
pub const MirroredRepeat: Self = Self(sys::VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT.0);
/// `VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE` = `2`
pub const ClampToEdge: Self = Self(sys::VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE.0);
/// `VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER` = `3`
pub const ClampToBorder: Self = Self(sys::VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER.0);
/// `VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE` = `4`
///
/// No need to add an extnumber attribute, since this uses a core enum value
pub const MirrorClampToEdge: Self = Self(sys::VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE.0);
/// `VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR` = `VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE`
///
/// Introduced for consistency with extension suffixing rules
pub const MirrorClampToEdgeKhr: Self = Self(sys::VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE_KHR.0);
}
impl_enum_display!(SamplerAddressMode = VkSamplerAddressMode { Repeat, MirroredRepeat, ClampToEdge, ClampToBorder, MirrorClampToEdge, MirrorClampToEdgeKhr });
/// `VkSamplerCreateFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct SamplerCreateFlags(pub i32);
flags!(SamplerCreateFlags);
from_into_transparent!(SamplerCreateFlags : i32);
from_by_transmute!(SamplerCreateFlags => sys::VkSamplerCreateFlags);
from_by_transmute!(sys::VkSamplerCreateFlags => SamplerCreateFlags);
impl_to_sys!(SamplerCreateFlags => sys::VkSamplerCreateFlags);
impl_enum!(SamplerCreateFlags => sys::VkSamplerCreateFlags);
impl SamplerCreateFlags {
/// `VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT` = `1 << 0`
pub const SubsampledExt: Self = Self(sys::VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT.0);
/// `VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT` = `1 << 1`
pub const SubsampledCoarseReconstructionExt: Self = Self(sys::VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT.0);
/// `VK_SAMPLER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT` = `1 << 3`
pub const DescriptorBufferCaptureReplayExt: Self = Self(sys::VK_SAMPLER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT.0);
/// `VK_SAMPLER_CREATE_NON_SEAMLESS_CUBE_MAP_BIT_EXT` = `1 << 2`
pub const NonSeamlessCubeMapExt: Self = Self(sys::VK_SAMPLER_CREATE_NON_SEAMLESS_CUBE_MAP_BIT_EXT.0);
/// `VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM` = `1 << 4`
pub const ImageProcessingQcom: Self = Self(sys::VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM.0);
}
impl_flags_display!(SamplerCreateFlags = VkSamplerCreateFlags { SubsampledExt, SubsampledCoarseReconstructionExt, DescriptorBufferCaptureReplayExt, NonSeamlessCubeMapExt, ImageProcessingQcom });
/// `VkSamplerMipmapMode`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct SamplerMipmapMode(pub i32);
from_into_transparent!(SamplerMipmapMode : i32);
from_by_transmute!(SamplerMipmapMode => sys::VkSamplerMipmapMode);
from_by_transmute!(sys::VkSamplerMipmapMode => SamplerMipmapMode);
impl_to_sys!(SamplerMipmapMode => sys::VkSamplerMipmapMode);
impl_enum!(SamplerMipmapMode => sys::VkSamplerMipmapMode);
impl SamplerMipmapMode {
/// `VK_SAMPLER_MIPMAP_MODE_NEAREST` = `0`
///
/// Choose nearest mip level
pub const Nearest: Self = Self(sys::VK_SAMPLER_MIPMAP_MODE_NEAREST.0);
/// `VK_SAMPLER_MIPMAP_MODE_LINEAR` = `1`
///
/// Linear filter between mip levels
pub const Linear: Self = Self(sys::VK_SAMPLER_MIPMAP_MODE_LINEAR.0);
}
impl_enum_display!(SamplerMipmapMode = VkSamplerMipmapMode { Nearest, Linear });
/// `VkSamplerReductionMode`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct SamplerReductionMode(pub i32);
from_into_transparent!(SamplerReductionMode : i32);
from_by_transmute!(SamplerReductionMode => sys::VkSamplerReductionMode);
from_by_transmute!(sys::VkSamplerReductionMode => SamplerReductionMode);
impl_to_sys!(SamplerReductionMode => sys::VkSamplerReductionMode);
impl_enum!(SamplerReductionMode => sys::VkSamplerReductionMode);
impl SamplerReductionMode {
/// `VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE` = `0`
pub const WeightedAverage: Self = Self(sys::VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE.0);
/// `VK_SAMPLER_REDUCTION_MODE_MIN` = `1`
pub const Min: Self = Self(sys::VK_SAMPLER_REDUCTION_MODE_MIN.0);
/// `VK_SAMPLER_REDUCTION_MODE_MAX` = `2`
pub const Max: Self = Self(sys::VK_SAMPLER_REDUCTION_MODE_MAX.0);
/// `VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT` = `VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE`
pub const WeightedAverageExt: Self = Self(sys::VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT.0);
/// `VK_SAMPLER_REDUCTION_MODE_MIN_EXT` = `VK_SAMPLER_REDUCTION_MODE_MIN`
pub const MinExt: Self = Self(sys::VK_SAMPLER_REDUCTION_MODE_MIN_EXT.0);
/// `VK_SAMPLER_REDUCTION_MODE_MAX_EXT` = `VK_SAMPLER_REDUCTION_MODE_MAX`
pub const MaxExt: Self = Self(sys::VK_SAMPLER_REDUCTION_MODE_MAX_EXT.0);
/// `VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_RANGECLAMP_QCOM` = `1000521000`
pub const WeightedAverageRangeclampQcom: Self = Self(sys::VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_RANGECLAMP_QCOM.0);
}
impl_enum_display!(SamplerReductionMode = VkSamplerReductionMode { WeightedAverage, Min, Max, WeightedAverageExt, MinExt, MaxExt, WeightedAverageRangeclampQcom });
/// `VkSamplerReductionModeEXT` = `VkSamplerReductionMode`
pub type SamplerReductionModeEXT = SamplerReductionMode;
/// `VkSamplerYcbcrModelConversion`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct SamplerYcbcrModelConversion(pub i32);
from_into_transparent!(SamplerYcbcrModelConversion : i32);
from_by_transmute!(SamplerYcbcrModelConversion => sys::VkSamplerYcbcrModelConversion);
from_by_transmute!(sys::VkSamplerYcbcrModelConversion => SamplerYcbcrModelConversion);
impl_to_sys!(SamplerYcbcrModelConversion => sys::VkSamplerYcbcrModelConversion);
impl_enum!(SamplerYcbcrModelConversion => sys::VkSamplerYcbcrModelConversion);
impl SamplerYcbcrModelConversion {
/// `VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY` = `0`
pub const RgbIdentity: Self = Self(sys::VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY.0);
/// `VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY` = `1`
///
/// just range expansion
pub const YcbcrIdentity: Self = Self(sys::VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY.0);
/// `VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709` = `2`
///
/// aka HD YUV
pub const Ycbcr709: Self = Self(sys::VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709.0);
/// `VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601` = `3`
///
/// aka SD YUV
pub const Ycbcr601: Self = Self(sys::VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601.0);
/// `VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020` = `4`
///
/// aka UHD YUV
pub const Ycbcr2020: Self = Self(sys::VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020.0);
/// `VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR` = `VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY`
pub const RgbIdentityKhr: Self = Self(sys::VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY_KHR.0);
/// `VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR` = `VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY`
pub const YcbcrIdentityKhr: Self = Self(sys::VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY_KHR.0);
/// `VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR` = `VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709`
pub const Ycbcr709Khr: Self = Self(sys::VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709_KHR.0);
/// `VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR` = `VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601`
pub const Ycbcr601Khr: Self = Self(sys::VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601_KHR.0);
/// `VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR` = `VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020`
pub const Ycbcr2020Khr: Self = Self(sys::VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020_KHR.0);
}
impl_enum_display!(SamplerYcbcrModelConversion = VkSamplerYcbcrModelConversion { RgbIdentity, YcbcrIdentity, Ycbcr709, Ycbcr601, Ycbcr2020, RgbIdentityKhr, YcbcrIdentityKhr, Ycbcr709Khr, Ycbcr601Khr, Ycbcr2020Khr });
/// `VkSamplerYcbcrModelConversionKHR` = `VkSamplerYcbcrModelConversion`
pub type SamplerYcbcrModelConversionKHR = SamplerYcbcrModelConversion;
/// `VkSamplerYcbcrRange`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct SamplerYcbcrRange(pub i32);
from_into_transparent!(SamplerYcbcrRange : i32);
from_by_transmute!(SamplerYcbcrRange => sys::VkSamplerYcbcrRange);
from_by_transmute!(sys::VkSamplerYcbcrRange => SamplerYcbcrRange);
impl_to_sys!(SamplerYcbcrRange => sys::VkSamplerYcbcrRange);
impl_enum!(SamplerYcbcrRange => sys::VkSamplerYcbcrRange);
impl SamplerYcbcrRange {
/// `VK_SAMPLER_YCBCR_RANGE_ITU_FULL` = `0`
///
/// Luma 0..1 maps to 0..255, chroma -0.5..0.5 to 1..255 (clamped)
pub const ItuFull: Self = Self(sys::VK_SAMPLER_YCBCR_RANGE_ITU_FULL.0);
/// `VK_SAMPLER_YCBCR_RANGE_ITU_NARROW` = `1`
///
/// Luma 0..1 maps to 16..235, chroma -0.5..0.5 to 16..240
pub const ItuNarrow: Self = Self(sys::VK_SAMPLER_YCBCR_RANGE_ITU_NARROW.0);
/// `VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR` = `VK_SAMPLER_YCBCR_RANGE_ITU_FULL`
pub const ItuFullKhr: Self = Self(sys::VK_SAMPLER_YCBCR_RANGE_ITU_FULL_KHR.0);
/// `VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR` = `VK_SAMPLER_YCBCR_RANGE_ITU_NARROW`
pub const ItuNarrowKhr: Self = Self(sys::VK_SAMPLER_YCBCR_RANGE_ITU_NARROW_KHR.0);
}
impl_enum_display!(SamplerYcbcrRange = VkSamplerYcbcrRange { ItuFull, ItuNarrow, ItuFullKhr, ItuNarrowKhr });
/// `VkSamplerYcbcrRangeKHR` = `VkSamplerYcbcrRange`
pub type SamplerYcbcrRangeKHR = SamplerYcbcrRange;
/// `VkSciSyncClientTypeNV`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct SciSyncClientTypeNV(pub i32);
from_into_transparent!(SciSyncClientTypeNV : i32);
from_by_transmute!(SciSyncClientTypeNV => sys::VkSciSyncClientTypeNV);
from_by_transmute!(sys::VkSciSyncClientTypeNV => SciSyncClientTypeNV);
impl_to_sys!(SciSyncClientTypeNV => sys::VkSciSyncClientTypeNV);
impl_enum!(SciSyncClientTypeNV => sys::VkSciSyncClientTypeNV);
impl SciSyncClientTypeNV {
/// `VK_SCI_SYNC_CLIENT_TYPE_SIGNALER_NV` = `0`
pub const SignalerNv: Self = Self(sys::VK_SCI_SYNC_CLIENT_TYPE_SIGNALER_NV.0);
/// `VK_SCI_SYNC_CLIENT_TYPE_WAITER_NV` = `1`
pub const WaiterNv: Self = Self(sys::VK_SCI_SYNC_CLIENT_TYPE_WAITER_NV.0);
/// `VK_SCI_SYNC_CLIENT_TYPE_SIGNALER_WAITER_NV` = `2`
pub const SignalerWaiterNv: Self = Self(sys::VK_SCI_SYNC_CLIENT_TYPE_SIGNALER_WAITER_NV.0);
}
impl_enum_display!(SciSyncClientTypeNV = VkSciSyncClientTypeNV { SignalerNv, WaiterNv, SignalerWaiterNv });
/// `VkSciSyncPrimitiveTypeNV`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct SciSyncPrimitiveTypeNV(pub i32);
from_into_transparent!(SciSyncPrimitiveTypeNV : i32);
from_by_transmute!(SciSyncPrimitiveTypeNV => sys::VkSciSyncPrimitiveTypeNV);
from_by_transmute!(sys::VkSciSyncPrimitiveTypeNV => SciSyncPrimitiveTypeNV);
impl_to_sys!(SciSyncPrimitiveTypeNV => sys::VkSciSyncPrimitiveTypeNV);
impl_enum!(SciSyncPrimitiveTypeNV => sys::VkSciSyncPrimitiveTypeNV);
impl SciSyncPrimitiveTypeNV {
/// `VK_SCI_SYNC_PRIMITIVE_TYPE_FENCE_NV` = `0`
pub const FenceNv: Self = Self(sys::VK_SCI_SYNC_PRIMITIVE_TYPE_FENCE_NV.0);
/// `VK_SCI_SYNC_PRIMITIVE_TYPE_SEMAPHORE_NV` = `1`
pub const SemaphoreNv: Self = Self(sys::VK_SCI_SYNC_PRIMITIVE_TYPE_SEMAPHORE_NV.0);
}
impl_enum_display!(SciSyncPrimitiveTypeNV = VkSciSyncPrimitiveTypeNV { FenceNv, SemaphoreNv });
/// `VkScopeKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ScopeKHR(pub i32);
from_into_transparent!(ScopeKHR : i32);
from_by_transmute!(ScopeKHR => sys::VkScopeKHR);
from_by_transmute!(sys::VkScopeKHR => ScopeKHR);
impl_to_sys!(ScopeKHR => sys::VkScopeKHR);
impl_enum!(ScopeKHR => sys::VkScopeKHR);
impl ScopeKHR {
/// `VK_SCOPE_DEVICE_KHR` = `1`
pub const DeviceKhr: Self = Self(sys::VK_SCOPE_DEVICE_KHR.0);
/// `VK_SCOPE_WORKGROUP_KHR` = `2`
pub const WorkgroupKhr: Self = Self(sys::VK_SCOPE_WORKGROUP_KHR.0);
/// `VK_SCOPE_SUBGROUP_KHR` = `3`
pub const SubgroupKhr: Self = Self(sys::VK_SCOPE_SUBGROUP_KHR.0);
/// `VK_SCOPE_QUEUE_FAMILY_KHR` = `5`
pub const QueueFamilyKhr: Self = Self(sys::VK_SCOPE_QUEUE_FAMILY_KHR.0);
/// `VK_SCOPE_DEVICE_NV` = `VK_SCOPE_DEVICE_KHR`
pub const DeviceNv: Self = Self(sys::VK_SCOPE_DEVICE_NV.0);
/// `VK_SCOPE_WORKGROUP_NV` = `VK_SCOPE_WORKGROUP_KHR`
pub const WorkgroupNv: Self = Self(sys::VK_SCOPE_WORKGROUP_NV.0);
/// `VK_SCOPE_SUBGROUP_NV` = `VK_SCOPE_SUBGROUP_KHR`
pub const SubgroupNv: Self = Self(sys::VK_SCOPE_SUBGROUP_NV.0);
/// `VK_SCOPE_QUEUE_FAMILY_NV` = `VK_SCOPE_QUEUE_FAMILY_KHR`
pub const QueueFamilyNv: Self = Self(sys::VK_SCOPE_QUEUE_FAMILY_NV.0);
}
impl_enum_display!(ScopeKHR = VkScopeKHR { DeviceKhr, WorkgroupKhr, SubgroupKhr, QueueFamilyKhr, DeviceNv, WorkgroupNv, SubgroupNv, QueueFamilyNv });
/// `VkScopeNV` = `VkScopeKHR`
pub type ScopeNV = ScopeKHR;
/// `VkScreenSurfaceCreateFlagsQNX`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ScreenSurfaceCreateFlagsQNX(pub i32);
flags!(ScreenSurfaceCreateFlagsQNX);
from_into_transparent!(ScreenSurfaceCreateFlagsQNX : i32);
from_by_transmute!(ScreenSurfaceCreateFlagsQNX => sys::VkScreenSurfaceCreateFlagsQNX);
from_by_transmute!(sys::VkScreenSurfaceCreateFlagsQNX => ScreenSurfaceCreateFlagsQNX);
impl_to_sys!(ScreenSurfaceCreateFlagsQNX => sys::VkScreenSurfaceCreateFlagsQNX);
impl_enum!(ScreenSurfaceCreateFlagsQNX => sys::VkScreenSurfaceCreateFlagsQNX);
impl_flags_display!(ScreenSurfaceCreateFlagsQNX = VkScreenSurfaceCreateFlagsQNX { });
/// `VkSemaphoreCreateFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct SemaphoreCreateFlags(pub i32);
flags!(SemaphoreCreateFlags);
from_into_transparent!(SemaphoreCreateFlags : i32);
from_by_transmute!(SemaphoreCreateFlags => sys::VkSemaphoreCreateFlags);
from_by_transmute!(sys::VkSemaphoreCreateFlags => SemaphoreCreateFlags);
impl_to_sys!(SemaphoreCreateFlags => sys::VkSemaphoreCreateFlags);
impl_enum!(SemaphoreCreateFlags => sys::VkSemaphoreCreateFlags);
impl_flags_display!(SemaphoreCreateFlags = VkSemaphoreCreateFlags { });
/// `VkSemaphoreImportFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct SemaphoreImportFlags(pub i32);
flags!(SemaphoreImportFlags);
from_into_transparent!(SemaphoreImportFlags : i32);
from_by_transmute!(SemaphoreImportFlags => sys::VkSemaphoreImportFlags);
from_by_transmute!(sys::VkSemaphoreImportFlags => SemaphoreImportFlags);
impl_to_sys!(SemaphoreImportFlags => sys::VkSemaphoreImportFlags);
impl_enum!(SemaphoreImportFlags => sys::VkSemaphoreImportFlags);
impl SemaphoreImportFlags {
/// `VK_SEMAPHORE_IMPORT_TEMPORARY_BIT` = `1 << 0`
pub const Temporary: Self = Self(sys::VK_SEMAPHORE_IMPORT_TEMPORARY_BIT.0);
/// `VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR` = `VK_SEMAPHORE_IMPORT_TEMPORARY_BIT`
pub const TemporaryKhr: Self = Self(sys::VK_SEMAPHORE_IMPORT_TEMPORARY_BIT_KHR.0);
}
impl_flags_display!(SemaphoreImportFlags = VkSemaphoreImportFlags { Temporary, TemporaryKhr });
/// `VkSemaphoreImportFlagsKHR` = `VkSemaphoreImportFlags`
pub type SemaphoreImportFlagsKHR = SemaphoreImportFlags;
/// `VkSemaphoreType`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct SemaphoreType(pub i32);
from_into_transparent!(SemaphoreType : i32);
from_by_transmute!(SemaphoreType => sys::VkSemaphoreType);
from_by_transmute!(sys::VkSemaphoreType => SemaphoreType);
impl_to_sys!(SemaphoreType => sys::VkSemaphoreType);
impl_enum!(SemaphoreType => sys::VkSemaphoreType);
impl SemaphoreType {
/// `VK_SEMAPHORE_TYPE_BINARY` = `0`
pub const Binary: Self = Self(sys::VK_SEMAPHORE_TYPE_BINARY.0);
/// `VK_SEMAPHORE_TYPE_TIMELINE` = `1`
pub const Timeline: Self = Self(sys::VK_SEMAPHORE_TYPE_TIMELINE.0);
/// `VK_SEMAPHORE_TYPE_BINARY_KHR` = `VK_SEMAPHORE_TYPE_BINARY`
pub const BinaryKhr: Self = Self(sys::VK_SEMAPHORE_TYPE_BINARY_KHR.0);
/// `VK_SEMAPHORE_TYPE_TIMELINE_KHR` = `VK_SEMAPHORE_TYPE_TIMELINE`
pub const TimelineKhr: Self = Self(sys::VK_SEMAPHORE_TYPE_TIMELINE_KHR.0);
}
impl_enum_display!(SemaphoreType = VkSemaphoreType { Binary, Timeline, BinaryKhr, TimelineKhr });
/// `VkSemaphoreTypeKHR` = `VkSemaphoreType`
pub type SemaphoreTypeKHR = SemaphoreType;
/// `VkSemaphoreWaitFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct SemaphoreWaitFlags(pub i32);
flags!(SemaphoreWaitFlags);
from_into_transparent!(SemaphoreWaitFlags : i32);
from_by_transmute!(SemaphoreWaitFlags => sys::VkSemaphoreWaitFlags);
from_by_transmute!(sys::VkSemaphoreWaitFlags => SemaphoreWaitFlags);
impl_to_sys!(SemaphoreWaitFlags => sys::VkSemaphoreWaitFlags);
impl_enum!(SemaphoreWaitFlags => sys::VkSemaphoreWaitFlags);
impl SemaphoreWaitFlags {
/// `VK_SEMAPHORE_WAIT_ANY_BIT` = `1 << 0`
pub const Any: Self = Self(sys::VK_SEMAPHORE_WAIT_ANY_BIT.0);
/// `VK_SEMAPHORE_WAIT_ANY_BIT_KHR` = `VK_SEMAPHORE_WAIT_ANY_BIT`
pub const AnyKhr: Self = Self(sys::VK_SEMAPHORE_WAIT_ANY_BIT_KHR.0);
}
impl_flags_display!(SemaphoreWaitFlags = VkSemaphoreWaitFlags { Any, AnyKhr });
/// `VkSemaphoreWaitFlagsKHR` = `VkSemaphoreWaitFlags`
pub type SemaphoreWaitFlagsKHR = SemaphoreWaitFlags;
/// `VkShaderCodeTypeEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ShaderCodeTypeEXT(pub i32);
from_into_transparent!(ShaderCodeTypeEXT : i32);
from_by_transmute!(ShaderCodeTypeEXT => sys::VkShaderCodeTypeEXT);
from_by_transmute!(sys::VkShaderCodeTypeEXT => ShaderCodeTypeEXT);
impl_to_sys!(ShaderCodeTypeEXT => sys::VkShaderCodeTypeEXT);
impl_enum!(ShaderCodeTypeEXT => sys::VkShaderCodeTypeEXT);
impl ShaderCodeTypeEXT {
/// `VK_SHADER_CODE_TYPE_BINARY_EXT` = `0`
pub const BinaryExt: Self = Self(sys::VK_SHADER_CODE_TYPE_BINARY_EXT.0);
/// `VK_SHADER_CODE_TYPE_SPIRV_EXT` = `1`
pub const SpirvExt: Self = Self(sys::VK_SHADER_CODE_TYPE_SPIRV_EXT.0);
}
impl_enum_display!(ShaderCodeTypeEXT = VkShaderCodeTypeEXT { BinaryExt, SpirvExt });
/// `VkShaderCorePropertiesFlagsAMD`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ShaderCorePropertiesFlagsAMD(pub i32);
flags!(ShaderCorePropertiesFlagsAMD);
from_into_transparent!(ShaderCorePropertiesFlagsAMD : i32);
from_by_transmute!(ShaderCorePropertiesFlagsAMD => sys::VkShaderCorePropertiesFlagsAMD);
from_by_transmute!(sys::VkShaderCorePropertiesFlagsAMD => ShaderCorePropertiesFlagsAMD);
impl_to_sys!(ShaderCorePropertiesFlagsAMD => sys::VkShaderCorePropertiesFlagsAMD);
impl_enum!(ShaderCorePropertiesFlagsAMD => sys::VkShaderCorePropertiesFlagsAMD);
impl_flags_display!(ShaderCorePropertiesFlagsAMD = VkShaderCorePropertiesFlagsAMD { });
/// `VkShaderCreateFlagsEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ShaderCreateFlagsEXT(pub i32);
flags!(ShaderCreateFlagsEXT);
from_into_transparent!(ShaderCreateFlagsEXT : i32);
from_by_transmute!(ShaderCreateFlagsEXT => sys::VkShaderCreateFlagsEXT);
from_by_transmute!(sys::VkShaderCreateFlagsEXT => ShaderCreateFlagsEXT);
impl_to_sys!(ShaderCreateFlagsEXT => sys::VkShaderCreateFlagsEXT);
impl_enum!(ShaderCreateFlagsEXT => sys::VkShaderCreateFlagsEXT);
impl ShaderCreateFlagsEXT {
/// `VK_SHADER_CREATE_LINK_STAGE_BIT_EXT` = `1 << 0`
pub const LinkStageExt: Self = Self(sys::VK_SHADER_CREATE_LINK_STAGE_BIT_EXT.0);
/// `VK_SHADER_CREATE_RESERVED_17_BIT_IMG` = `1 << 17`
pub const Reserved17Img: Self = Self(sys::VK_SHADER_CREATE_RESERVED_17_BIT_IMG.0);
/// `VK_SHADER_CREATE_DESCRIPTOR_HEAP_BIT_EXT` = `1 << 10`
pub const DescriptorHeapExt: Self = Self(sys::VK_SHADER_CREATE_DESCRIPTOR_HEAP_BIT_EXT.0);
/// `VK_SHADER_CREATE_INSTRUMENT_SHADER_BIT_ARM` = `1 << 11`
pub const InstrumentShaderArm: Self = Self(sys::VK_SHADER_CREATE_INSTRUMENT_SHADER_BIT_ARM.0);
/// `VK_SHADER_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT` = `1 << 1`
pub const AllowVaryingSubgroupSizeExt: Self = Self(sys::VK_SHADER_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT.0);
/// `VK_SHADER_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT` = `1 << 2`
pub const RequireFullSubgroupsExt: Self = Self(sys::VK_SHADER_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT.0);
/// `VK_SHADER_CREATE_NO_TASK_SHADER_BIT_EXT` = `1 << 3`
pub const NoTaskShaderExt: Self = Self(sys::VK_SHADER_CREATE_NO_TASK_SHADER_BIT_EXT.0);
/// `VK_SHADER_CREATE_DISPATCH_BASE_BIT_EXT` = `1 << 4`
pub const DispatchBaseExt: Self = Self(sys::VK_SHADER_CREATE_DISPATCH_BASE_BIT_EXT.0);
/// `VK_SHADER_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_EXT` = `1 << 5`
pub const FragmentShadingRateAttachmentExt: Self = Self(sys::VK_SHADER_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_EXT.0);
/// `VK_SHADER_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT` = `1 << 6`
pub const FragmentDensityMapAttachmentExt: Self = Self(sys::VK_SHADER_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT.0);
/// `VK_SHADER_CREATE_INDIRECT_BINDABLE_BIT_EXT` = `1 << 7`
pub const IndirectBindableExt: Self = Self(sys::VK_SHADER_CREATE_INDIRECT_BINDABLE_BIT_EXT.0);
/// `VK_SHADER_CREATE_RESERVED_8_BIT_EXT` = `1 << 8`
pub const Reserved8Ext: Self = Self(sys::VK_SHADER_CREATE_RESERVED_8_BIT_EXT.0);
/// `VK_SHADER_CREATE_RESERVED_9_BIT_EXT` = `1 << 9`
pub const Reserved9Ext: Self = Self(sys::VK_SHADER_CREATE_RESERVED_9_BIT_EXT.0);
/// `VK_SHADER_CREATE_64_BIT_INDEXING_BIT_EXT` = `1 << 15`
pub const _64IndexingBitExt: Self = Self(sys::VK_SHADER_CREATE_64_BIT_INDEXING_BIT_EXT.0);
}
impl_flags_display!(ShaderCreateFlagsEXT = VkShaderCreateFlagsEXT { LinkStageExt, Reserved17Img, DescriptorHeapExt, InstrumentShaderArm, AllowVaryingSubgroupSizeExt, RequireFullSubgroupsExt, NoTaskShaderExt, DispatchBaseExt, FragmentShadingRateAttachmentExt, FragmentDensityMapAttachmentExt, IndirectBindableExt, Reserved8Ext, Reserved9Ext, _64IndexingBitExt });
/// `VkShaderFloatControlsIndependence`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ShaderFloatControlsIndependence(pub i32);
from_into_transparent!(ShaderFloatControlsIndependence : i32);
from_by_transmute!(ShaderFloatControlsIndependence => sys::VkShaderFloatControlsIndependence);
from_by_transmute!(sys::VkShaderFloatControlsIndependence => ShaderFloatControlsIndependence);
impl_to_sys!(ShaderFloatControlsIndependence => sys::VkShaderFloatControlsIndependence);
impl_enum!(ShaderFloatControlsIndependence => sys::VkShaderFloatControlsIndependence);
impl ShaderFloatControlsIndependence {
/// `VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY` = `0`
pub const _32Only: Self = Self(sys::VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY.0);
/// `VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL` = `1`
pub const All: Self = Self(sys::VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL.0);
/// `VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE` = `2`
pub const None: Self = Self(sys::VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE.0);
/// `VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR` = `VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY`
pub const _32OnlyKhr: Self = Self(sys::VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR.0);
/// `VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR` = `VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL`
pub const AllKhr: Self = Self(sys::VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR.0);
/// `VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR` = `VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE`
pub const NoneKhr: Self = Self(sys::VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR.0);
}
impl_enum_display!(ShaderFloatControlsIndependence = VkShaderFloatControlsIndependence { _32Only, All, None, _32OnlyKhr, AllKhr, NoneKhr });
/// `VkShaderFloatControlsIndependenceKHR` = `VkShaderFloatControlsIndependence`
pub type ShaderFloatControlsIndependenceKHR = ShaderFloatControlsIndependence;
/// `VkShaderGroupShaderKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ShaderGroupShaderKHR(pub i32);
from_into_transparent!(ShaderGroupShaderKHR : i32);
from_by_transmute!(ShaderGroupShaderKHR => sys::VkShaderGroupShaderKHR);
from_by_transmute!(sys::VkShaderGroupShaderKHR => ShaderGroupShaderKHR);
impl_to_sys!(ShaderGroupShaderKHR => sys::VkShaderGroupShaderKHR);
impl_enum!(ShaderGroupShaderKHR => sys::VkShaderGroupShaderKHR);
impl ShaderGroupShaderKHR {
/// `VK_SHADER_GROUP_SHADER_GENERAL_KHR` = `0`
pub const GeneralKhr: Self = Self(sys::VK_SHADER_GROUP_SHADER_GENERAL_KHR.0);
/// `VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR` = `1`
pub const ClosestHitKhr: Self = Self(sys::VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR.0);
/// `VK_SHADER_GROUP_SHADER_ANY_HIT_KHR` = `2`
pub const AnyHitKhr: Self = Self(sys::VK_SHADER_GROUP_SHADER_ANY_HIT_KHR.0);
/// `VK_SHADER_GROUP_SHADER_INTERSECTION_KHR` = `3`
pub const IntersectionKhr: Self = Self(sys::VK_SHADER_GROUP_SHADER_INTERSECTION_KHR.0);
}
impl_enum_display!(ShaderGroupShaderKHR = VkShaderGroupShaderKHR { GeneralKhr, ClosestHitKhr, AnyHitKhr, IntersectionKhr });
/// `VkShaderInfoTypeAMD`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ShaderInfoTypeAMD(pub i32);
from_into_transparent!(ShaderInfoTypeAMD : i32);
from_by_transmute!(ShaderInfoTypeAMD => sys::VkShaderInfoTypeAMD);
from_by_transmute!(sys::VkShaderInfoTypeAMD => ShaderInfoTypeAMD);
impl_to_sys!(ShaderInfoTypeAMD => sys::VkShaderInfoTypeAMD);
impl_enum!(ShaderInfoTypeAMD => sys::VkShaderInfoTypeAMD);
impl ShaderInfoTypeAMD {
/// `VK_SHADER_INFO_TYPE_STATISTICS_AMD` = `0`
pub const StatisticsAmd: Self = Self(sys::VK_SHADER_INFO_TYPE_STATISTICS_AMD.0);
/// `VK_SHADER_INFO_TYPE_BINARY_AMD` = `1`
pub const BinaryAmd: Self = Self(sys::VK_SHADER_INFO_TYPE_BINARY_AMD.0);
/// `VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD` = `2`
pub const DisassemblyAmd: Self = Self(sys::VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD.0);
}
impl_enum_display!(ShaderInfoTypeAMD = VkShaderInfoTypeAMD { StatisticsAmd, BinaryAmd, DisassemblyAmd });
/// `VkShaderInstrumentationValuesFlagsARM`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ShaderInstrumentationValuesFlagsARM(pub i32);
flags!(ShaderInstrumentationValuesFlagsARM);
from_into_transparent!(ShaderInstrumentationValuesFlagsARM : i32);
from_by_transmute!(ShaderInstrumentationValuesFlagsARM => sys::VkShaderInstrumentationValuesFlagsARM);
from_by_transmute!(sys::VkShaderInstrumentationValuesFlagsARM => ShaderInstrumentationValuesFlagsARM);
impl_to_sys!(ShaderInstrumentationValuesFlagsARM => sys::VkShaderInstrumentationValuesFlagsARM);
impl_enum!(ShaderInstrumentationValuesFlagsARM => sys::VkShaderInstrumentationValuesFlagsARM);
impl_flags_display!(ShaderInstrumentationValuesFlagsARM = VkShaderInstrumentationValuesFlagsARM { });
/// `VkShaderModuleCreateFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ShaderModuleCreateFlags(pub i32);
flags!(ShaderModuleCreateFlags);
from_into_transparent!(ShaderModuleCreateFlags : i32);
from_by_transmute!(ShaderModuleCreateFlags => sys::VkShaderModuleCreateFlags);
from_by_transmute!(sys::VkShaderModuleCreateFlags => ShaderModuleCreateFlags);
impl_to_sys!(ShaderModuleCreateFlags => sys::VkShaderModuleCreateFlags);
impl_enum!(ShaderModuleCreateFlags => sys::VkShaderModuleCreateFlags);
impl_flags_display!(ShaderModuleCreateFlags = VkShaderModuleCreateFlags { });
/// `VkShaderStageFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ShaderStageFlags(pub i32);
flags!(ShaderStageFlags);
from_into_transparent!(ShaderStageFlags : i32);
from_by_transmute!(ShaderStageFlags => sys::VkShaderStageFlags);
from_by_transmute!(sys::VkShaderStageFlags => ShaderStageFlags);
impl_to_sys!(ShaderStageFlags => sys::VkShaderStageFlags);
impl_enum!(ShaderStageFlags => sys::VkShaderStageFlags);
impl ShaderStageFlags {
/// `VK_SHADER_STAGE_VERTEX_BIT` = `1 << 0`
pub const Vertex: Self = Self(sys::VK_SHADER_STAGE_VERTEX_BIT.0);
/// `VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT` = `1 << 1`
pub const TessellationControl: Self = Self(sys::VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT.0);
/// `VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT` = `1 << 2`
pub const TessellationEvaluation: Self = Self(sys::VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT.0);
/// `VK_SHADER_STAGE_GEOMETRY_BIT` = `1 << 3`
pub const Geometry: Self = Self(sys::VK_SHADER_STAGE_GEOMETRY_BIT.0);
/// `VK_SHADER_STAGE_FRAGMENT_BIT` = `1 << 4`
pub const Fragment: Self = Self(sys::VK_SHADER_STAGE_FRAGMENT_BIT.0);
/// `VK_SHADER_STAGE_COMPUTE_BIT` = `1 << 5`
pub const Compute: Self = Self(sys::VK_SHADER_STAGE_COMPUTE_BIT.0);
/// `VK_SHADER_STAGE_ALL_GRAPHICS` = `0x0000001F`
pub const AllGraphics: Self = Self(sys::VK_SHADER_STAGE_ALL_GRAPHICS.0);
/// `VK_SHADER_STAGE_ALL` = `0x7FFFFFFF`
pub const All: Self = Self(sys::VK_SHADER_STAGE_ALL.0);
/// `VK_SHADER_STAGE_RAYGEN_BIT_KHR` = `1 << 8`
pub const RaygenKhr: Self = Self(sys::VK_SHADER_STAGE_RAYGEN_BIT_KHR.0);
/// `VK_SHADER_STAGE_ANY_HIT_BIT_KHR` = `1 << 9`
pub const AnyHitKhr: Self = Self(sys::VK_SHADER_STAGE_ANY_HIT_BIT_KHR.0);
/// `VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR` = `1 << 10`
pub const ClosestHitKhr: Self = Self(sys::VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR.0);
/// `VK_SHADER_STAGE_MISS_BIT_KHR` = `1 << 11`
pub const MissKhr: Self = Self(sys::VK_SHADER_STAGE_MISS_BIT_KHR.0);
/// `VK_SHADER_STAGE_INTERSECTION_BIT_KHR` = `1 << 12`
pub const IntersectionKhr: Self = Self(sys::VK_SHADER_STAGE_INTERSECTION_BIT_KHR.0);
/// `VK_SHADER_STAGE_CALLABLE_BIT_KHR` = `1 << 13`
pub const CallableKhr: Self = Self(sys::VK_SHADER_STAGE_CALLABLE_BIT_KHR.0);
/// `VK_SHADER_STAGE_RAYGEN_BIT_NV` = `VK_SHADER_STAGE_RAYGEN_BIT_KHR`
pub const RaygenNv: Self = Self(sys::VK_SHADER_STAGE_RAYGEN_BIT_NV.0);
/// `VK_SHADER_STAGE_ANY_HIT_BIT_NV` = `VK_SHADER_STAGE_ANY_HIT_BIT_KHR`
pub const AnyHitNv: Self = Self(sys::VK_SHADER_STAGE_ANY_HIT_BIT_NV.0);
/// `VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV` = `VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR`
pub const ClosestHitNv: Self = Self(sys::VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV.0);
/// `VK_SHADER_STAGE_MISS_BIT_NV` = `VK_SHADER_STAGE_MISS_BIT_KHR`
pub const MissNv: Self = Self(sys::VK_SHADER_STAGE_MISS_BIT_NV.0);
/// `VK_SHADER_STAGE_INTERSECTION_BIT_NV` = `VK_SHADER_STAGE_INTERSECTION_BIT_KHR`
pub const IntersectionNv: Self = Self(sys::VK_SHADER_STAGE_INTERSECTION_BIT_NV.0);
/// `VK_SHADER_STAGE_CALLABLE_BIT_NV` = `VK_SHADER_STAGE_CALLABLE_BIT_KHR`
pub const CallableNv: Self = Self(sys::VK_SHADER_STAGE_CALLABLE_BIT_NV.0);
/// `VK_SHADER_STAGE_TASK_BIT_NV` = `VK_SHADER_STAGE_TASK_BIT_EXT`
pub const TaskNv: Self = Self(sys::VK_SHADER_STAGE_TASK_BIT_NV.0);
/// `VK_SHADER_STAGE_MESH_BIT_NV` = `VK_SHADER_STAGE_MESH_BIT_EXT`
pub const MeshNv: Self = Self(sys::VK_SHADER_STAGE_MESH_BIT_NV.0);
/// `VK_SHADER_STAGE_TASK_BIT_EXT` = `1 << 6`
pub const TaskExt: Self = Self(sys::VK_SHADER_STAGE_TASK_BIT_EXT.0);
/// `VK_SHADER_STAGE_MESH_BIT_EXT` = `1 << 7`
pub const MeshExt: Self = Self(sys::VK_SHADER_STAGE_MESH_BIT_EXT.0);
/// `VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI` = `1 << 14`
pub const SubpassShadingHuawei: Self = Self(sys::VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI.0);
/// `VK_SHADER_STAGE_CLUSTER_CULLING_BIT_HUAWEI` = `1 << 19`
pub const ClusterCullingHuawei: Self = Self(sys::VK_SHADER_STAGE_CLUSTER_CULLING_BIT_HUAWEI.0);
/// `VK_SHADER_STAGE_RESERVED_15_BIT_NV` = `1 << 15`
pub const Reserved15Nv: Self = Self(sys::VK_SHADER_STAGE_RESERVED_15_BIT_NV.0);
/// `VK_SHADER_STAGE_RESERVED_16_BIT_HUAWEI` = `1 << 16`
pub const Reserved16Huawei: Self = Self(sys::VK_SHADER_STAGE_RESERVED_16_BIT_HUAWEI.0);
}
impl_flags_display!(ShaderStageFlags = VkShaderStageFlags { Vertex, TessellationControl, TessellationEvaluation, Geometry, Fragment, Compute, AllGraphics, All, RaygenKhr, AnyHitKhr, ClosestHitKhr, MissKhr, IntersectionKhr, CallableKhr, RaygenNv, AnyHitNv, ClosestHitNv, MissNv, IntersectionNv, CallableNv, TaskNv, MeshNv, TaskExt, MeshExt, SubpassShadingHuawei, ClusterCullingHuawei, Reserved15Nv, Reserved16Huawei });
/// `VkShadingRatePaletteEntryNV`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ShadingRatePaletteEntryNV(pub i32);
from_into_transparent!(ShadingRatePaletteEntryNV : i32);
from_by_transmute!(ShadingRatePaletteEntryNV => sys::VkShadingRatePaletteEntryNV);
from_by_transmute!(sys::VkShadingRatePaletteEntryNV => ShadingRatePaletteEntryNV);
impl_to_sys!(ShadingRatePaletteEntryNV => sys::VkShadingRatePaletteEntryNV);
impl_enum!(ShadingRatePaletteEntryNV => sys::VkShadingRatePaletteEntryNV);
impl ShadingRatePaletteEntryNV {
/// `VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV` = `0`
pub const NoInvocationsNv: Self = Self(sys::VK_SHADING_RATE_PALETTE_ENTRY_NO_INVOCATIONS_NV.0);
/// `VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV` = `1`
pub const _16InvocationsPerPixelNv: Self = Self(sys::VK_SHADING_RATE_PALETTE_ENTRY_16_INVOCATIONS_PER_PIXEL_NV.0);
/// `VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV` = `2`
pub const _8InvocationsPerPixelNv: Self = Self(sys::VK_SHADING_RATE_PALETTE_ENTRY_8_INVOCATIONS_PER_PIXEL_NV.0);
/// `VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV` = `3`
pub const _4InvocationsPerPixelNv: Self = Self(sys::VK_SHADING_RATE_PALETTE_ENTRY_4_INVOCATIONS_PER_PIXEL_NV.0);
/// `VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV` = `4`
pub const _2InvocationsPerPixelNv: Self = Self(sys::VK_SHADING_RATE_PALETTE_ENTRY_2_INVOCATIONS_PER_PIXEL_NV.0);
/// `VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV` = `5`
pub const _1InvocationPerPixelNv: Self = Self(sys::VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_PIXEL_NV.0);
/// `VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV` = `6`
pub const _1InvocationPer2x1PixelsNv: Self = Self(sys::VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X1_PIXELS_NV.0);
/// `VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV` = `7`
pub const _1InvocationPer1x2PixelsNv: Self = Self(sys::VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_1X2_PIXELS_NV.0);
/// `VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV` = `8`
pub const _1InvocationPer2x2PixelsNv: Self = Self(sys::VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X2_PIXELS_NV.0);
/// `VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV` = `9`
pub const _1InvocationPer4x2PixelsNv: Self = Self(sys::VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X2_PIXELS_NV.0);
/// `VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV` = `10`
pub const _1InvocationPer2x4PixelsNv: Self = Self(sys::VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_2X4_PIXELS_NV.0);
/// `VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV` = `11`
pub const _1InvocationPer4x4PixelsNv: Self = Self(sys::VK_SHADING_RATE_PALETTE_ENTRY_1_INVOCATION_PER_4X4_PIXELS_NV.0);
}
impl_enum_display!(ShadingRatePaletteEntryNV = VkShadingRatePaletteEntryNV { NoInvocationsNv, _16InvocationsPerPixelNv, _8InvocationsPerPixelNv, _4InvocationsPerPixelNv, _2InvocationsPerPixelNv, _1InvocationPerPixelNv, _1InvocationPer2x1PixelsNv, _1InvocationPer1x2PixelsNv, _1InvocationPer2x2PixelsNv, _1InvocationPer4x2PixelsNv, _1InvocationPer2x4PixelsNv, _1InvocationPer4x4PixelsNv });
/// `VkSharingMode`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct SharingMode(pub i32);
from_into_transparent!(SharingMode : i32);
from_by_transmute!(SharingMode => sys::VkSharingMode);
from_by_transmute!(sys::VkSharingMode => SharingMode);
impl_to_sys!(SharingMode => sys::VkSharingMode);
impl_enum!(SharingMode => sys::VkSharingMode);
impl SharingMode {
/// `VK_SHARING_MODE_EXCLUSIVE` = `0`
pub const Exclusive: Self = Self(sys::VK_SHARING_MODE_EXCLUSIVE.0);
/// `VK_SHARING_MODE_CONCURRENT` = `1`
pub const Concurrent: Self = Self(sys::VK_SHARING_MODE_CONCURRENT.0);
}
impl_enum_display!(SharingMode = VkSharingMode { Exclusive, Concurrent });
/// `VkSparseImageFormatFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct SparseImageFormatFlags(pub i32);
flags!(SparseImageFormatFlags);
from_into_transparent!(SparseImageFormatFlags : i32);
from_by_transmute!(SparseImageFormatFlags => sys::VkSparseImageFormatFlags);
from_by_transmute!(sys::VkSparseImageFormatFlags => SparseImageFormatFlags);
impl_to_sys!(SparseImageFormatFlags => sys::VkSparseImageFormatFlags);
impl_enum!(SparseImageFormatFlags => sys::VkSparseImageFormatFlags);
impl SparseImageFormatFlags {
/// `VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT` = `1 << 0`
///
/// Image uses a single mip tail region for all array layers
pub const SingleMiptail: Self = Self(sys::VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT.0);
/// `VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT` = `1 << 1`
///
/// Image requires mip level dimensions to be an integer multiple of the sparse image block dimensions for non-tail mip levels.
pub const AlignedMipSize: Self = Self(sys::VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT.0);
/// `VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT` = `1 << 2`
///
/// Image uses a non-standard sparse image block dimensions
pub const NonstandardBlockSize: Self = Self(sys::VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT.0);
}
impl_flags_display!(SparseImageFormatFlags = VkSparseImageFormatFlags { SingleMiptail, AlignedMipSize, NonstandardBlockSize });
/// `VkSparseMemoryBindFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct SparseMemoryBindFlags(pub i32);
flags!(SparseMemoryBindFlags);
from_into_transparent!(SparseMemoryBindFlags : i32);
from_by_transmute!(SparseMemoryBindFlags => sys::VkSparseMemoryBindFlags);
from_by_transmute!(sys::VkSparseMemoryBindFlags => SparseMemoryBindFlags);
impl_to_sys!(SparseMemoryBindFlags => sys::VkSparseMemoryBindFlags);
impl_enum!(SparseMemoryBindFlags => sys::VkSparseMemoryBindFlags);
impl SparseMemoryBindFlags {
/// `VK_SPARSE_MEMORY_BIND_METADATA_BIT` = `1 << 0`
///
/// Operation binds resource metadata to memory
pub const Metadata: Self = Self(sys::VK_SPARSE_MEMORY_BIND_METADATA_BIT.0);
}
impl_flags_display!(SparseMemoryBindFlags = VkSparseMemoryBindFlags { Metadata });
/// `VkSpirvResourceTypeFlagsEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct SpirvResourceTypeFlagsEXT(pub i32);
flags!(SpirvResourceTypeFlagsEXT);
from_into_transparent!(SpirvResourceTypeFlagsEXT : i32);
from_by_transmute!(SpirvResourceTypeFlagsEXT => sys::VkSpirvResourceTypeFlagsEXT);
from_by_transmute!(sys::VkSpirvResourceTypeFlagsEXT => SpirvResourceTypeFlagsEXT);
impl_to_sys!(SpirvResourceTypeFlagsEXT => sys::VkSpirvResourceTypeFlagsEXT);
impl_enum!(SpirvResourceTypeFlagsEXT => sys::VkSpirvResourceTypeFlagsEXT);
impl SpirvResourceTypeFlagsEXT {
/// `VK_SPIRV_RESOURCE_TYPE_ALL_EXT` = `0x7FFFFFFF`
pub const AllExt: Self = Self(sys::VK_SPIRV_RESOURCE_TYPE_ALL_EXT.0);
/// `VK_SPIRV_RESOURCE_TYPE_SAMPLER_BIT_EXT` = `1 << 0`
pub const SamplerExt: Self = Self(sys::VK_SPIRV_RESOURCE_TYPE_SAMPLER_BIT_EXT.0);
/// `VK_SPIRV_RESOURCE_TYPE_SAMPLED_IMAGE_BIT_EXT` = `1 << 1`
pub const SampledImageExt: Self = Self(sys::VK_SPIRV_RESOURCE_TYPE_SAMPLED_IMAGE_BIT_EXT.0);
/// `VK_SPIRV_RESOURCE_TYPE_READ_ONLY_IMAGE_BIT_EXT` = `1 << 2`
pub const ReadOnlyImageExt: Self = Self(sys::VK_SPIRV_RESOURCE_TYPE_READ_ONLY_IMAGE_BIT_EXT.0);
/// `VK_SPIRV_RESOURCE_TYPE_READ_WRITE_IMAGE_BIT_EXT` = `1 << 3`
pub const ReadWriteImageExt: Self = Self(sys::VK_SPIRV_RESOURCE_TYPE_READ_WRITE_IMAGE_BIT_EXT.0);
/// `VK_SPIRV_RESOURCE_TYPE_COMBINED_SAMPLED_IMAGE_BIT_EXT` = `1 << 4`
pub const CombinedSampledImageExt: Self = Self(sys::VK_SPIRV_RESOURCE_TYPE_COMBINED_SAMPLED_IMAGE_BIT_EXT.0);
/// `VK_SPIRV_RESOURCE_TYPE_UNIFORM_BUFFER_BIT_EXT` = `1 << 5`
pub const UniformBufferExt: Self = Self(sys::VK_SPIRV_RESOURCE_TYPE_UNIFORM_BUFFER_BIT_EXT.0);
/// `VK_SPIRV_RESOURCE_TYPE_READ_ONLY_STORAGE_BUFFER_BIT_EXT` = `1 << 6`
pub const ReadOnlyStorageBufferExt: Self = Self(sys::VK_SPIRV_RESOURCE_TYPE_READ_ONLY_STORAGE_BUFFER_BIT_EXT.0);
/// `VK_SPIRV_RESOURCE_TYPE_READ_WRITE_STORAGE_BUFFER_BIT_EXT` = `1 << 7`
pub const ReadWriteStorageBufferExt: Self = Self(sys::VK_SPIRV_RESOURCE_TYPE_READ_WRITE_STORAGE_BUFFER_BIT_EXT.0);
/// `VK_SPIRV_RESOURCE_TYPE_ACCELERATION_STRUCTURE_BIT_EXT` = `1 << 8`
pub const AccelerationStructureExt: Self = Self(sys::VK_SPIRV_RESOURCE_TYPE_ACCELERATION_STRUCTURE_BIT_EXT.0);
/// `VK_SPIRV_RESOURCE_TYPE_TENSOR_BIT_ARM` = `1 << 9`
pub const TensorArm: Self = Self(sys::VK_SPIRV_RESOURCE_TYPE_TENSOR_BIT_ARM.0);
}
impl_flags_display!(SpirvResourceTypeFlagsEXT = VkSpirvResourceTypeFlagsEXT { AllExt, SamplerExt, SampledImageExt, ReadOnlyImageExt, ReadWriteImageExt, CombinedSampledImageExt, UniformBufferExt, ReadOnlyStorageBufferExt, ReadWriteStorageBufferExt, AccelerationStructureExt, TensorArm });
/// `VkStencilFaceFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct StencilFaceFlags(pub i32);
flags!(StencilFaceFlags);
from_into_transparent!(StencilFaceFlags : i32);
from_by_transmute!(StencilFaceFlags => sys::VkStencilFaceFlags);
from_by_transmute!(sys::VkStencilFaceFlags => StencilFaceFlags);
impl_to_sys!(StencilFaceFlags => sys::VkStencilFaceFlags);
impl_enum!(StencilFaceFlags => sys::VkStencilFaceFlags);
impl StencilFaceFlags {
/// `VK_STENCIL_FACE_FRONT_BIT` = `1 << 0`
///
/// Front face
pub const FaceFront: Self = Self(sys::VK_STENCIL_FACE_FRONT_BIT.0);
/// `VK_STENCIL_FACE_BACK_BIT` = `1 << 1`
///
/// Back face
pub const FaceBack: Self = Self(sys::VK_STENCIL_FACE_BACK_BIT.0);
/// `VK_STENCIL_FACE_FRONT_AND_BACK` = `0x00000003`
///
/// Front and back faces
pub const FaceFrontAndBack: Self = Self(sys::VK_STENCIL_FACE_FRONT_AND_BACK.0);
/// `VK_STENCIL_FRONT_AND_BACK` = `VK_STENCIL_FACE_FRONT_AND_BACK`
pub const FrontAndBack: Self = Self(sys::VK_STENCIL_FRONT_AND_BACK.0);
}
impl_flags_display!(StencilFaceFlags = VkStencilFaceFlags { FaceFront, FaceBack, FaceFrontAndBack, FrontAndBack });
/// `VkStencilOp`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct StencilOp(pub i32);
from_into_transparent!(StencilOp : i32);
from_by_transmute!(StencilOp => sys::VkStencilOp);
from_by_transmute!(sys::VkStencilOp => StencilOp);
impl_to_sys!(StencilOp => sys::VkStencilOp);
impl_enum!(StencilOp => sys::VkStencilOp);
impl StencilOp {
/// `VK_STENCIL_OP_KEEP` = `0`
pub const Keep: Self = Self(sys::VK_STENCIL_OP_KEEP.0);
/// `VK_STENCIL_OP_ZERO` = `1`
pub const Zero: Self = Self(sys::VK_STENCIL_OP_ZERO.0);
/// `VK_STENCIL_OP_REPLACE` = `2`
pub const Replace: Self = Self(sys::VK_STENCIL_OP_REPLACE.0);
/// `VK_STENCIL_OP_INCREMENT_AND_CLAMP` = `3`
pub const IncrementAndClamp: Self = Self(sys::VK_STENCIL_OP_INCREMENT_AND_CLAMP.0);
/// `VK_STENCIL_OP_DECREMENT_AND_CLAMP` = `4`
pub const DecrementAndClamp: Self = Self(sys::VK_STENCIL_OP_DECREMENT_AND_CLAMP.0);
/// `VK_STENCIL_OP_INVERT` = `5`
pub const Invert: Self = Self(sys::VK_STENCIL_OP_INVERT.0);
/// `VK_STENCIL_OP_INCREMENT_AND_WRAP` = `6`
pub const IncrementAndWrap: Self = Self(sys::VK_STENCIL_OP_INCREMENT_AND_WRAP.0);
/// `VK_STENCIL_OP_DECREMENT_AND_WRAP` = `7`
pub const DecrementAndWrap: Self = Self(sys::VK_STENCIL_OP_DECREMENT_AND_WRAP.0);
}
impl_enum_display!(StencilOp = VkStencilOp { Keep, Zero, Replace, IncrementAndClamp, DecrementAndClamp, Invert, IncrementAndWrap, DecrementAndWrap });
/// `VkStreamDescriptorSurfaceCreateFlagsGGP`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct StreamDescriptorSurfaceCreateFlagsGGP(pub i32);
flags!(StreamDescriptorSurfaceCreateFlagsGGP);
from_into_transparent!(StreamDescriptorSurfaceCreateFlagsGGP : i32);
from_by_transmute!(StreamDescriptorSurfaceCreateFlagsGGP => sys::VkStreamDescriptorSurfaceCreateFlagsGGP);
from_by_transmute!(sys::VkStreamDescriptorSurfaceCreateFlagsGGP => StreamDescriptorSurfaceCreateFlagsGGP);
impl_to_sys!(StreamDescriptorSurfaceCreateFlagsGGP => sys::VkStreamDescriptorSurfaceCreateFlagsGGP);
impl_enum!(StreamDescriptorSurfaceCreateFlagsGGP => sys::VkStreamDescriptorSurfaceCreateFlagsGGP);
impl_flags_display!(StreamDescriptorSurfaceCreateFlagsGGP = VkStreamDescriptorSurfaceCreateFlagsGGP { });
/// `VkStructureType`
///
/// Structure type enumerant
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct StructureType(pub i32);
from_into_transparent!(StructureType : i32);
from_by_transmute!(StructureType => sys::VkStructureType);
from_by_transmute!(sys::VkStructureType => StructureType);
impl_to_sys!(StructureType => sys::VkStructureType);
impl_enum!(StructureType => sys::VkStructureType);
impl StructureType {
/// `VK_STRUCTURE_TYPE_APPLICATION_INFO` = `0`
pub const ApplicationInfo: Self = Self(sys::VK_STRUCTURE_TYPE_APPLICATION_INFO.0);
/// `VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO` = `1`
pub const InstanceCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO` = `2`
pub const DeviceQueueCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO` = `3`
pub const DeviceCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_SUBMIT_INFO` = `4`
pub const SubmitInfo: Self = Self(sys::VK_STRUCTURE_TYPE_SUBMIT_INFO.0);
/// `VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO` = `5`
pub const MemoryAllocateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO.0);
/// `VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE` = `6`
pub const MappedMemoryRange: Self = Self(sys::VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE.0);
/// `VK_STRUCTURE_TYPE_BIND_SPARSE_INFO` = `7`
pub const BindSparseInfo: Self = Self(sys::VK_STRUCTURE_TYPE_BIND_SPARSE_INFO.0);
/// `VK_STRUCTURE_TYPE_FENCE_CREATE_INFO` = `8`
pub const FenceCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_FENCE_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO` = `9`
pub const SemaphoreCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_EVENT_CREATE_INFO` = `10`
pub const EventCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_EVENT_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO` = `11`
pub const QueryPoolCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO` = `12`
pub const BufferCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO` = `13`
pub const BufferViewCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO` = `14`
pub const ImageCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO` = `15`
pub const ImageViewCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO` = `16`
pub const ShaderModuleCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO` = `17`
pub const PipelineCacheCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO` = `18`
pub const PipelineShaderStageCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO` = `19`
pub const PipelineVertexInputStateCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO` = `20`
pub const PipelineInputAssemblyStateCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO` = `21`
pub const PipelineTessellationStateCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO` = `22`
pub const PipelineViewportStateCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO` = `23`
pub const PipelineRasterizationStateCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO` = `24`
pub const PipelineMultisampleStateCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO` = `25`
pub const PipelineDepthStencilStateCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO` = `26`
pub const PipelineColorBlendStateCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO` = `27`
pub const PipelineDynamicStateCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO` = `28`
pub const GraphicsPipelineCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO` = `29`
pub const ComputePipelineCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO` = `30`
pub const PipelineLayoutCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO` = `31`
pub const SamplerCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO` = `32`
pub const DescriptorSetLayoutCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO` = `33`
pub const DescriptorPoolCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO` = `34`
pub const DescriptorSetAllocateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO.0);
/// `VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET` = `35`
pub const WriteDescriptorSet: Self = Self(sys::VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET.0);
/// `VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET` = `36`
pub const CopyDescriptorSet: Self = Self(sys::VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET.0);
/// `VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO` = `37`
pub const FramebufferCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO` = `38`
pub const RenderPassCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO` = `39`
pub const CommandPoolCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO` = `40`
pub const CommandBufferAllocateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO.0);
/// `VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO` = `41`
pub const CommandBufferInheritanceInfo: Self = Self(sys::VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO.0);
/// `VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO` = `42`
pub const CommandBufferBeginInfo: Self = Self(sys::VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO.0);
/// `VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO` = `43`
pub const RenderPassBeginInfo: Self = Self(sys::VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO.0);
/// `VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER` = `44`
pub const BufferMemoryBarrier: Self = Self(sys::VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER.0);
/// `VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER` = `45`
pub const ImageMemoryBarrier: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER.0);
/// `VK_STRUCTURE_TYPE_MEMORY_BARRIER` = `46`
pub const MemoryBarrier: Self = Self(sys::VK_STRUCTURE_TYPE_MEMORY_BARRIER.0);
/// `VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO` = `47`
///
/// Reserved for internal use by the loader, layers, and ICDs
pub const LoaderInstanceCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO` = `48`
///
/// Reserved for internal use by the loader, layers, and ICDs
pub const LoaderDeviceCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO` = `1000157000`
pub const BindBufferMemoryInfo: Self = Self(sys::VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO.0);
/// `VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO` = `1000157001`
pub const BindImageMemoryInfo: Self = Self(sys::VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO.0);
/// `VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS` = `1000127000`
pub const MemoryDedicatedRequirements: Self = Self(sys::VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS.0);
/// `VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO` = `1000127001`
pub const MemoryDedicatedAllocateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO.0);
/// `VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO` = `1000060000`
pub const MemoryAllocateFlagsInfo: Self = Self(sys::VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO.0);
/// `VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO` = `1000060004`
pub const DeviceGroupCommandBufferBeginInfo: Self = Self(sys::VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO.0);
/// `VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO` = `1000060005`
pub const DeviceGroupSubmitInfo: Self = Self(sys::VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO.0);
/// `VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO` = `1000060006`
pub const DeviceGroupBindSparseInfo: Self = Self(sys::VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO.0);
/// `VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO` = `1000060013`
pub const BindBufferMemoryDeviceGroupInfo: Self = Self(sys::VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO.0);
/// `VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO` = `1000060014`
pub const BindImageMemoryDeviceGroupInfo: Self = Self(sys::VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES` = `1000070000`
pub const PhysicalDeviceGroupProperties: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES.0);
/// `VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO` = `1000070001`
pub const DeviceGroupDeviceCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2` = `1000146000`
pub const BufferMemoryRequirementsInfo2: Self = Self(sys::VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2.0);
/// `VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2` = `1000146001`
pub const ImageMemoryRequirementsInfo2: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2.0);
/// `VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2` = `1000146002`
pub const ImageSparseMemoryRequirementsInfo2: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2.0);
/// `VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2` = `1000146003`
pub const MemoryRequirements2: Self = Self(sys::VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2.0);
/// `VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2` = `1000146004`
pub const SparseImageMemoryRequirements2: Self = Self(sys::VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2` = `1000059000`
pub const PhysicalDeviceFeatures2: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2` = `1000059001`
pub const PhysicalDeviceProperties2: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2.0);
/// `VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2` = `1000059002`
pub const FormatProperties2: Self = Self(sys::VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2.0);
/// `VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2` = `1000059003`
pub const ImageFormatProperties2: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2` = `1000059004`
pub const PhysicalDeviceImageFormatInfo2: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2.0);
/// `VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2` = `1000059005`
pub const QueueFamilyProperties2: Self = Self(sys::VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2` = `1000059006`
pub const PhysicalDeviceMemoryProperties2: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2.0);
/// `VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2` = `1000059007`
pub const SparseImageFormatProperties2: Self = Self(sys::VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2` = `1000059008`
pub const PhysicalDeviceSparseImageFormatInfo2: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2.0);
/// `VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO` = `1000117002`
pub const ImageViewUsageCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO` = `1000145000`
pub const ProtectedSubmitInfo: Self = Self(sys::VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES` = `1000145001`
pub const PhysicalDeviceProtectedMemoryFeatures: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES` = `1000145002`
pub const PhysicalDeviceProtectedMemoryProperties: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES.0);
/// `VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2` = `1000145003`
pub const DeviceQueueInfo2: Self = Self(sys::VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO` = `1000071000`
pub const PhysicalDeviceExternalImageFormatInfo: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO.0);
/// `VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES` = `1000071001`
pub const ExternalImageFormatProperties: Self = Self(sys::VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO` = `1000071002`
pub const PhysicalDeviceExternalBufferInfo: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO.0);
/// `VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES` = `1000071003`
pub const ExternalBufferProperties: Self = Self(sys::VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES` = `1000071004`
pub const PhysicalDeviceIdProperties: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES.0);
/// `VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO` = `1000072000`
pub const ExternalMemoryBufferCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO` = `1000072001`
pub const ExternalMemoryImageCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO` = `1000072002`
pub const ExportMemoryAllocateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO` = `1000112000`
pub const PhysicalDeviceExternalFenceInfo: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO.0);
/// `VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES` = `1000112001`
pub const ExternalFenceProperties: Self = Self(sys::VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES.0);
/// `VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO` = `1000113000`
pub const ExportFenceCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO` = `1000077000`
pub const ExportSemaphoreCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO` = `1000076000`
pub const PhysicalDeviceExternalSemaphoreInfo: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO.0);
/// `VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES` = `1000076001`
pub const ExternalSemaphoreProperties: Self = Self(sys::VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES` = `1000094000`
pub const PhysicalDeviceSubgroupProperties: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES` = `1000083000`
pub const PhysicalDevice16bitStorageFeatures: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES` = `1000120000`
pub const PhysicalDeviceVariablePointersFeatures: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES`
pub const PhysicalDeviceVariablePointerFeatures: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES.0);
/// `VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO` = `1000085000`
pub const DescriptorUpdateTemplateCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES` = `1000168000`
pub const PhysicalDeviceMaintenance3Properties: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES.0);
/// `VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT` = `1000168001`
pub const DescriptorSetLayoutSupport: Self = Self(sys::VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT.0);
/// `VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO` = `1000156000`
pub const SamplerYcbcrConversionCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO` = `1000156001`
pub const SamplerYcbcrConversionInfo: Self = Self(sys::VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO.0);
/// `VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO` = `1000156002`
pub const BindImagePlaneMemoryInfo: Self = Self(sys::VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO.0);
/// `VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO` = `1000156003`
pub const ImagePlaneMemoryRequirementsInfo: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES` = `1000156004`
pub const PhysicalDeviceSamplerYcbcrConversionFeatures: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES.0);
/// `VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES` = `1000156005`
pub const SamplerYcbcrConversionImageFormatProperties: Self = Self(sys::VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES.0);
/// `VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO` = `1000060003`
pub const DeviceGroupRenderPassBeginInfo: Self = Self(sys::VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES` = `1000117000`
pub const PhysicalDevicePointClippingProperties: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES.0);
/// `VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO` = `1000117001`
pub const RenderPassInputAttachmentAspectCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO` = `1000117003`
pub const PipelineTessellationDomainOriginStateCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO` = `1000053000`
pub const RenderPassMultiviewCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES` = `1000053001`
pub const PhysicalDeviceMultiviewFeatures: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES` = `1000053002`
pub const PhysicalDeviceMultiviewProperties: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES` = `1000063000`
pub const PhysicalDeviceShaderDrawParametersFeatures: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES`
pub const PhysicalDeviceShaderDrawParameterFeatures: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES` = `1000196000`
pub const PhysicalDeviceDriverProperties: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES` = `49`
pub const PhysicalDeviceVulkan11Features: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES` = `50`
pub const PhysicalDeviceVulkan11Properties: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES` = `51`
pub const PhysicalDeviceVulkan12Features: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES` = `52`
pub const PhysicalDeviceVulkan12Properties: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES.0);
/// `VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO` = `1000147000`
pub const ImageFormatListCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES` = `1000211000`
pub const PhysicalDeviceVulkanMemoryModelFeatures: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES` = `1000261000`
pub const PhysicalDeviceHostQueryResetFeatures: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES` = `1000207000`
pub const PhysicalDeviceTimelineSemaphoreFeatures: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES` = `1000207001`
pub const PhysicalDeviceTimelineSemaphoreProperties: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES.0);
/// `VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO` = `1000207002`
pub const SemaphoreTypeCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO` = `1000207003`
pub const TimelineSemaphoreSubmitInfo: Self = Self(sys::VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO.0);
/// `VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO` = `1000207004`
pub const SemaphoreWaitInfo: Self = Self(sys::VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO.0);
/// `VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO` = `1000207005`
pub const SemaphoreSignalInfo: Self = Self(sys::VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES` = `1000257000`
pub const PhysicalDeviceBufferDeviceAddressFeatures: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES.0);
/// `VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO` = `1000244001`
pub const BufferDeviceAddressInfo: Self = Self(sys::VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO.0);
/// `VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO` = `1000257002`
pub const BufferOpaqueCaptureAddressCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO` = `1000257003`
pub const MemoryOpaqueCaptureAddressAllocateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO.0);
/// `VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO` = `1000257004`
pub const DeviceMemoryOpaqueCaptureAddressInfo: Self = Self(sys::VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES` = `1000177000`
pub const PhysicalDevice8bitStorageFeatures: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES` = `1000180000`
pub const PhysicalDeviceShaderAtomicInt64Features: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES` = `1000082000`
pub const PhysicalDeviceShaderFloat16Int8Features: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES` = `1000197000`
pub const PhysicalDeviceFloatControlsProperties: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES.0);
/// `VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO` = `1000161000`
pub const DescriptorSetLayoutBindingFlagsCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES` = `1000161001`
pub const PhysicalDeviceDescriptorIndexingFeatures: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES` = `1000161002`
pub const PhysicalDeviceDescriptorIndexingProperties: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES.0);
/// `VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO` = `1000161003`
pub const DescriptorSetVariableDescriptorCountAllocateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO.0);
/// `VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT` = `1000161004`
pub const DescriptorSetVariableDescriptorCountLayoutSupport: Self = Self(sys::VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES` = `1000221000`
pub const PhysicalDeviceScalarBlockLayoutFeatures: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES` = `1000130000`
pub const PhysicalDeviceSamplerFilterMinmaxProperties: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES.0);
/// `VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO` = `1000130001`
pub const SamplerReductionModeCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES` = `1000253000`
pub const PhysicalDeviceUniformBufferStandardLayoutFeatures: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES` = `1000175000`
pub const PhysicalDeviceShaderSubgroupExtendedTypesFeatures: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES.0);
/// `VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2` = `1000109000`
pub const AttachmentDescription2: Self = Self(sys::VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2.0);
/// `VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2` = `1000109001`
pub const AttachmentReference2: Self = Self(sys::VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2.0);
/// `VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2` = `1000109002`
pub const SubpassDescription2: Self = Self(sys::VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2.0);
/// `VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2` = `1000109003`
pub const SubpassDependency2: Self = Self(sys::VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2.0);
/// `VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2` = `1000109004`
pub const RenderPassCreateInfo2: Self = Self(sys::VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2.0);
/// `VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO` = `1000109005`
pub const SubpassBeginInfo: Self = Self(sys::VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO.0);
/// `VK_STRUCTURE_TYPE_SUBPASS_END_INFO` = `1000109006`
pub const SubpassEndInfo: Self = Self(sys::VK_STRUCTURE_TYPE_SUBPASS_END_INFO.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES` = `1000199000`
pub const PhysicalDeviceDepthStencilResolveProperties: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES.0);
/// `VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE` = `1000199001`
pub const SubpassDescriptionDepthStencilResolve: Self = Self(sys::VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE.0);
/// `VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO` = `1000246000`
pub const ImageStencilUsageCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES` = `1000108000`
pub const PhysicalDeviceImagelessFramebufferFeatures: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES.0);
/// `VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO` = `1000108001`
pub const FramebufferAttachmentsCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO` = `1000108002`
pub const FramebufferAttachmentImageInfo: Self = Self(sys::VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO.0);
/// `VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO` = `1000108003`
pub const RenderPassAttachmentBeginInfo: Self = Self(sys::VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES` = `1000241000`
pub const PhysicalDeviceSeparateDepthStencilLayoutsFeatures: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES.0);
/// `VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT` = `1000241001`
pub const AttachmentReferenceStencilLayout: Self = Self(sys::VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT.0);
/// `VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT` = `1000241002`
pub const AttachmentDescriptionStencilLayout: Self = Self(sys::VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES` = `53`
pub const PhysicalDeviceVulkan13Features: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES` = `54`
pub const PhysicalDeviceVulkan13Properties: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES` = `1000245000`
pub const PhysicalDeviceToolProperties: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES` = `1000295000`
pub const PhysicalDevicePrivateDataFeatures: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES.0);
/// `VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO` = `1000295001`
pub const DevicePrivateDataCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO` = `1000295002`
pub const PrivateDataSlotCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_MEMORY_BARRIER_2` = `1000314000`
pub const MemoryBarrier2: Self = Self(sys::VK_STRUCTURE_TYPE_MEMORY_BARRIER_2.0);
/// `VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2` = `1000314001`
pub const BufferMemoryBarrier2: Self = Self(sys::VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2.0);
/// `VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2` = `1000314002`
pub const ImageMemoryBarrier2: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2.0);
/// `VK_STRUCTURE_TYPE_DEPENDENCY_INFO` = `1000314003`
pub const DependencyInfo: Self = Self(sys::VK_STRUCTURE_TYPE_DEPENDENCY_INFO.0);
/// `VK_STRUCTURE_TYPE_SUBMIT_INFO_2` = `1000314004`
pub const SubmitInfo2: Self = Self(sys::VK_STRUCTURE_TYPE_SUBMIT_INFO_2.0);
/// `VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO` = `1000314005`
pub const SemaphoreSubmitInfo: Self = Self(sys::VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO.0);
/// `VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO` = `1000314006`
pub const CommandBufferSubmitInfo: Self = Self(sys::VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES` = `1000314007`
pub const PhysicalDeviceSynchronization2Features: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES.0);
/// `VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2` = `1000337000`
pub const CopyBufferInfo2: Self = Self(sys::VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2.0);
/// `VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2` = `1000337001`
pub const CopyImageInfo2: Self = Self(sys::VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2.0);
/// `VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2` = `1000337002`
pub const CopyBufferToImageInfo2: Self = Self(sys::VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2.0);
/// `VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2` = `1000337003`
pub const CopyImageToBufferInfo2: Self = Self(sys::VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2.0);
/// `VK_STRUCTURE_TYPE_BUFFER_COPY_2` = `1000337006`
pub const BufferCopy2: Self = Self(sys::VK_STRUCTURE_TYPE_BUFFER_COPY_2.0);
/// `VK_STRUCTURE_TYPE_IMAGE_COPY_2` = `1000337007`
pub const ImageCopy2: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_COPY_2.0);
/// `VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2` = `1000337009`
pub const BufferImageCopy2: Self = Self(sys::VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES` = `1000066000`
pub const PhysicalDeviceTextureCompressionAstcHdrFeatures: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES.0);
/// `VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3` = `1000360000`
pub const FormatProperties3: Self = Self(sys::VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES` = `1000413000`
pub const PhysicalDeviceMaintenance4Features: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES` = `1000413001`
pub const PhysicalDeviceMaintenance4Properties: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES.0);
/// `VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS` = `1000413002`
pub const DeviceBufferMemoryRequirements: Self = Self(sys::VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS.0);
/// `VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS` = `1000413003`
pub const DeviceImageMemoryRequirements: Self = Self(sys::VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO` = `1000192000`
pub const PipelineCreationFeedbackCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES` = `1000215000`
pub const PhysicalDeviceShaderTerminateInvocationFeatures: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES` = `1000276000`
pub const PhysicalDeviceShaderDemoteToHelperInvocationFeatures: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES` = `1000297000`
pub const PhysicalDevicePipelineCreationCacheControlFeatures: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES` = `1000325000`
pub const PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES` = `1000335000`
pub const PhysicalDeviceImageRobustnessFeatures: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES` = `1000225000`
pub const PhysicalDeviceSubgroupSizeControlProperties: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO` = `1000225001`
pub const PipelineShaderStageRequiredSubgroupSizeCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES` = `1000225002`
pub const PhysicalDeviceSubgroupSizeControlFeatures: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES` = `1000138000`
pub const PhysicalDeviceInlineUniformBlockFeatures: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES` = `1000138001`
pub const PhysicalDeviceInlineUniformBlockProperties: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES.0);
/// `VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK` = `1000138002`
pub const WriteDescriptorSetInlineUniformBlock: Self = Self(sys::VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK.0);
/// `VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO` = `1000138003`
pub const DescriptorPoolInlineUniformBlockCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES` = `1000280000`
pub const PhysicalDeviceShaderIntegerDotProductFeatures: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES` = `1000280001`
pub const PhysicalDeviceShaderIntegerDotProductProperties: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES` = `1000281001`
pub const PhysicalDeviceTexelBufferAlignmentProperties: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES.0);
/// `VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2` = `1000337004`
pub const BlitImageInfo2: Self = Self(sys::VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2.0);
/// `VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2` = `1000337005`
pub const ResolveImageInfo2: Self = Self(sys::VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2.0);
/// `VK_STRUCTURE_TYPE_IMAGE_BLIT_2` = `1000337008`
pub const ImageBlit2: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_BLIT_2.0);
/// `VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2` = `1000337010`
pub const ImageResolve2: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2.0);
/// `VK_STRUCTURE_TYPE_RENDERING_INFO` = `1000044000`
pub const RenderingInfo: Self = Self(sys::VK_STRUCTURE_TYPE_RENDERING_INFO.0);
/// `VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO` = `1000044001`
pub const RenderingAttachmentInfo: Self = Self(sys::VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO` = `1000044002`
pub const PipelineRenderingCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES` = `1000044003`
pub const PhysicalDeviceDynamicRenderingFeatures: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES.0);
/// `VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO` = `1000044004`
pub const CommandBufferInheritanceRenderingInfo: Self = Self(sys::VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_FEATURES` = `55`
pub const PhysicalDeviceVulkan14Features: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_FEATURES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_PROPERTIES` = `56`
pub const PhysicalDeviceVulkan14Properties: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_PROPERTIES.0);
/// `VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO` = `1000174000`
pub const DeviceQueueGlobalPriorityCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES` = `1000388000`
pub const PhysicalDeviceGlobalPriorityQueryFeatures: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES.0);
/// `VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES` = `1000388001`
pub const QueueFamilyGlobalPriorityProperties: Self = Self(sys::VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES` = `1000265000`
pub const PhysicalDeviceIndexTypeUint8Features: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES.0);
/// `VK_STRUCTURE_TYPE_MEMORY_MAP_INFO` = `1000271000`
pub const MemoryMapInfo: Self = Self(sys::VK_STRUCTURE_TYPE_MEMORY_MAP_INFO.0);
/// `VK_STRUCTURE_TYPE_MEMORY_UNMAP_INFO` = `1000271001`
pub const MemoryUnmapInfo: Self = Self(sys::VK_STRUCTURE_TYPE_MEMORY_UNMAP_INFO.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES` = `1000470000`
pub const PhysicalDeviceMaintenance5Features: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES` = `1000470001`
pub const PhysicalDeviceMaintenance5Properties: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES.0);
/// `VK_STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO` = `1000470004`
pub const DeviceImageSubresourceInfo: Self = Self(sys::VK_STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO.0);
/// `VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2` = `1000338002`
pub const SubresourceLayout2: Self = Self(sys::VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2.0);
/// `VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2` = `1000338003`
pub const ImageSubresource2: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2.0);
/// `VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO` = `1000470006`
pub const BufferUsageFlags2CreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES` = `1000545000`
pub const PhysicalDeviceMaintenance6Features: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES` = `1000545001`
pub const PhysicalDeviceMaintenance6Properties: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES.0);
/// `VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS` = `1000545002`
pub const BindMemoryStatus: Self = Self(sys::VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES` = `1000270000`
pub const PhysicalDeviceHostImageCopyFeatures: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES` = `1000270001`
pub const PhysicalDeviceHostImageCopyProperties: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES.0);
/// `VK_STRUCTURE_TYPE_MEMORY_TO_IMAGE_COPY` = `1000270002`
pub const MemoryToImageCopy: Self = Self(sys::VK_STRUCTURE_TYPE_MEMORY_TO_IMAGE_COPY.0);
/// `VK_STRUCTURE_TYPE_IMAGE_TO_MEMORY_COPY` = `1000270003`
pub const ImageToMemoryCopy: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_TO_MEMORY_COPY.0);
/// `VK_STRUCTURE_TYPE_COPY_IMAGE_TO_MEMORY_INFO` = `1000270004`
pub const CopyImageToMemoryInfo: Self = Self(sys::VK_STRUCTURE_TYPE_COPY_IMAGE_TO_MEMORY_INFO.0);
/// `VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INFO` = `1000270005`
pub const CopyMemoryToImageInfo: Self = Self(sys::VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INFO.0);
/// `VK_STRUCTURE_TYPE_HOST_IMAGE_LAYOUT_TRANSITION_INFO` = `1000270006`
pub const HostImageLayoutTransitionInfo: Self = Self(sys::VK_STRUCTURE_TYPE_HOST_IMAGE_LAYOUT_TRANSITION_INFO.0);
/// `VK_STRUCTURE_TYPE_COPY_IMAGE_TO_IMAGE_INFO` = `1000270007`
pub const CopyImageToImageInfo: Self = Self(sys::VK_STRUCTURE_TYPE_COPY_IMAGE_TO_IMAGE_INFO.0);
/// `VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE` = `1000270008`
pub const SubresourceHostMemcpySize: Self = Self(sys::VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE.0);
/// `VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY` = `1000270009`
pub const HostImageCopyDevicePerformanceQuery: Self = Self(sys::VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES` = `1000416000`
pub const PhysicalDeviceShaderSubgroupRotateFeatures: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES` = `1000528000`
pub const PhysicalDeviceShaderFloatControls2Features: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES` = `1000544000`
pub const PhysicalDeviceShaderExpectAssumeFeatures: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO` = `1000470005`
pub const PipelineCreateFlags2CreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES` = `1000080000`
pub const PhysicalDevicePushDescriptorProperties: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES.0);
/// `VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO` = `1000545003`
pub const BindDescriptorSetsInfo: Self = Self(sys::VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO.0);
/// `VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO` = `1000545004`
pub const PushConstantsInfo: Self = Self(sys::VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO.0);
/// `VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO` = `1000545005`
pub const PushDescriptorSetInfo: Self = Self(sys::VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO.0);
/// `VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO` = `1000545006`
pub const PushDescriptorSetWithTemplateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES` = `1000466000`
pub const PhysicalDevicePipelineProtectedAccessFeatures: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO` = `1000068000`
pub const PipelineRobustnessCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES` = `1000068001`
pub const PhysicalDevicePipelineRobustnessFeatures: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES` = `1000068002`
pub const PhysicalDevicePipelineRobustnessProperties: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES` = `1000259000`
pub const PhysicalDeviceLineRasterizationFeatures: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO` = `1000259001`
pub const PipelineRasterizationLineStateCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES` = `1000259002`
pub const PhysicalDeviceLineRasterizationProperties: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES` = `1000525000`
pub const PhysicalDeviceVertexAttributeDivisorProperties: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO` = `1000190001`
pub const PipelineVertexInputDivisorStateCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES` = `1000190002`
pub const PhysicalDeviceVertexAttributeDivisorFeatures: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES.0);
/// `VK_STRUCTURE_TYPE_RENDERING_AREA_INFO` = `1000470003`
pub const RenderingAreaInfo: Self = Self(sys::VK_STRUCTURE_TYPE_RENDERING_AREA_INFO.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES` = `1000232000`
pub const PhysicalDeviceDynamicRenderingLocalReadFeatures: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES.0);
/// `VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO` = `1000232001`
pub const RenderingAttachmentLocationInfo: Self = Self(sys::VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO.0);
/// `VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO` = `1000232002`
pub const RenderingInputAttachmentIndexInfo: Self = Self(sys::VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_SC_1_0_FEATURES` = `1000298000`
pub const PhysicalDeviceVulkanSc10Features: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_SC_1_0_FEATURES.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_SC_1_0_PROPERTIES` = `1000298001`
pub const PhysicalDeviceVulkanSc10Properties: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_SC_1_0_PROPERTIES.0);
/// `VK_STRUCTURE_TYPE_DEVICE_OBJECT_RESERVATION_CREATE_INFO` = `1000298002`
pub const DeviceObjectReservationCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_DEVICE_OBJECT_RESERVATION_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_COMMAND_POOL_MEMORY_RESERVATION_CREATE_INFO` = `1000298003`
pub const CommandPoolMemoryReservationCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_COMMAND_POOL_MEMORY_RESERVATION_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_COMMAND_POOL_MEMORY_CONSUMPTION` = `1000298004`
pub const CommandPoolMemoryConsumption: Self = Self(sys::VK_STRUCTURE_TYPE_COMMAND_POOL_MEMORY_CONSUMPTION.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_POOL_SIZE` = `1000298005`
pub const PipelinePoolSize: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_POOL_SIZE.0);
/// `VK_STRUCTURE_TYPE_FAULT_DATA` = `1000298007`
pub const FaultData: Self = Self(sys::VK_STRUCTURE_TYPE_FAULT_DATA.0);
/// `VK_STRUCTURE_TYPE_FAULT_CALLBACK_INFO` = `1000298008`
pub const FaultCallbackInfo: Self = Self(sys::VK_STRUCTURE_TYPE_FAULT_CALLBACK_INFO.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_OFFLINE_CREATE_INFO` = `1000298010`
pub const PipelineOfflineCreateInfo: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_OFFLINE_CREATE_INFO.0);
/// `VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR` = `1000001000`
pub const SwapchainCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PRESENT_INFO_KHR` = `1000001001`
pub const PresentInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PRESENT_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR` = `1000060007`
pub const DeviceGroupPresentCapabilitiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR.0);
/// `VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR` = `1000060008`
pub const ImageSwapchainCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR` = `1000060009`
pub const BindImageMemorySwapchainInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR` = `1000060010`
pub const AcquireNextImageInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR` = `1000060011`
pub const DeviceGroupPresentInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR` = `1000060012`
pub const DeviceGroupSwapchainCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR` = `1000002000`
pub const DisplayModeCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR` = `1000002001`
pub const DisplaySurfaceCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR` = `1000003000`
pub const DisplayPresentInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR` = `1000004000`
pub const XlibSurfaceCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR` = `1000005000`
pub const XcbSurfaceCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR` = `1000006000`
pub const WaylandSurfaceCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR` = `1000008000`
pub const AndroidSurfaceCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR` = `1000009000`
pub const Win32SurfaceCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID` = `1000010000`
pub const NativeBufferAndroid: Self = Self(sys::VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID.0);
/// `VK_STRUCTURE_TYPE_SWAPCHAIN_IMAGE_CREATE_INFO_ANDROID` = `1000010001`
pub const SwapchainImageCreateInfoAndroid: Self = Self(sys::VK_STRUCTURE_TYPE_SWAPCHAIN_IMAGE_CREATE_INFO_ANDROID.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENTATION_PROPERTIES_ANDROID` = `1000010002`
pub const PhysicalDevicePresentationPropertiesAndroid: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENTATION_PROPERTIES_ANDROID.0);
/// `VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT` = `1000011000`
pub const DebugReportCallbackCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT` = `VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT`
pub const DebugReportCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD` = `1000018000`
pub const PipelineRasterizationStateRasterizationOrderAmd: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD.0);
/// `VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT` = `1000022000`
pub const DebugMarkerObjectNameInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT` = `1000022001`
pub const DebugMarkerObjectTagInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT` = `1000022002`
pub const DebugMarkerMarkerInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_VIDEO_PROFILE_INFO_KHR` = `1000023000`
pub const VideoProfileInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_PROFILE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR` = `1000023001`
pub const VideoCapabilitiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_INFO_KHR` = `1000023002`
pub const VideoPictureResourceInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_SESSION_MEMORY_REQUIREMENTS_KHR` = `1000023003`
pub const VideoSessionMemoryRequirementsKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_SESSION_MEMORY_REQUIREMENTS_KHR.0);
/// `VK_STRUCTURE_TYPE_BIND_VIDEO_SESSION_MEMORY_INFO_KHR` = `1000023004`
pub const BindVideoSessionMemoryInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_BIND_VIDEO_SESSION_MEMORY_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR` = `1000023005`
pub const VideoSessionCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR` = `1000023006`
pub const VideoSessionParametersCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR` = `1000023007`
pub const VideoSessionParametersUpdateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR` = `1000023008`
pub const VideoBeginCodingInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR` = `1000023009`
pub const VideoEndCodingInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR` = `1000023010`
pub const VideoCodingControlInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_INFO_KHR` = `1000023011`
pub const VideoReferenceSlotInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_QUEUE_FAMILY_VIDEO_PROPERTIES_KHR` = `1000023012`
pub const QueueFamilyVideoPropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_QUEUE_FAMILY_VIDEO_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_PROFILE_LIST_INFO_KHR` = `1000023013`
pub const VideoProfileListInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_PROFILE_LIST_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR` = `1000023014`
pub const PhysicalDeviceVideoFormatInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR` = `1000023015`
pub const VideoFormatPropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR` = `1000023016`
pub const QueueFamilyQueryResultStatusPropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR` = `1000024000`
pub const VideoDecodeInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR` = `1000024001`
pub const VideoDecodeCapabilitiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_DECODE_USAGE_INFO_KHR` = `1000024002`
pub const VideoDecodeUsageInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_DECODE_USAGE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV` = `1000026000`
pub const DedicatedAllocationImageCreateInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV` = `1000026001`
pub const DedicatedAllocationBufferCreateInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV` = `1000026002`
pub const DedicatedAllocationMemoryAllocateInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT` = `1000028000`
pub const PhysicalDeviceTransformFeedbackFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT` = `1000028001`
pub const PhysicalDeviceTransformFeedbackPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT` = `1000028002`
pub const PipelineRasterizationStateStreamCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX` = `1000029000`
pub const CuModuleCreateInfoNvx: Self = Self(sys::VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX.0);
/// `VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX` = `1000029001`
pub const CuFunctionCreateInfoNvx: Self = Self(sys::VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX.0);
/// `VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX` = `1000029002`
pub const CuLaunchInfoNvx: Self = Self(sys::VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX.0);
/// `VK_STRUCTURE_TYPE_CU_MODULE_TEXTURING_MODE_CREATE_INFO_NVX` = `1000029004`
pub const CuModuleTexturingModeCreateInfoNvx: Self = Self(sys::VK_STRUCTURE_TYPE_CU_MODULE_TEXTURING_MODE_CREATE_INFO_NVX.0);
/// `VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX` = `1000030000`
pub const ImageViewHandleInfoNvx: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX.0);
/// `VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX` = `1000030001`
pub const ImageViewAddressPropertiesNvx: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_KHR` = `1000038000`
pub const VideoEncodeH264CapabilitiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR` = `1000038001`
pub const VideoEncodeH264SessionParametersCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR` = `1000038002`
pub const VideoEncodeH264SessionParametersAddInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PICTURE_INFO_KHR` = `1000038003`
pub const VideoEncodeH264PictureInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PICTURE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_KHR` = `1000038004`
pub const VideoEncodeH264DpbSlotInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_INFO_KHR` = `1000038005`
pub const VideoEncodeH264NaluSliceInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_GOP_REMAINING_FRAME_INFO_KHR` = `1000038006`
pub const VideoEncodeH264GopRemainingFrameInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_GOP_REMAINING_FRAME_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_INFO_KHR` = `1000038007`
pub const VideoEncodeH264ProfileInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_KHR` = `1000038008`
pub const VideoEncodeH264RateControlInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_KHR` = `1000038009`
pub const VideoEncodeH264RateControlLayerInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_KHR` = `1000038010`
pub const VideoEncodeH264SessionCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_QUALITY_LEVEL_PROPERTIES_KHR` = `1000038011`
pub const VideoEncodeH264QualityLevelPropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_QUALITY_LEVEL_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_GET_INFO_KHR` = `1000038012`
pub const VideoEncodeH264SessionParametersGetInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_GET_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_FEEDBACK_INFO_KHR` = `1000038013`
pub const VideoEncodeH264SessionParametersFeedbackInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_FEEDBACK_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_KHR` = `1000039000`
pub const VideoEncodeH265CapabilitiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR` = `1000039001`
pub const VideoEncodeH265SessionParametersCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR` = `1000039002`
pub const VideoEncodeH265SessionParametersAddInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PICTURE_INFO_KHR` = `1000039003`
pub const VideoEncodeH265PictureInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PICTURE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_KHR` = `1000039004`
pub const VideoEncodeH265DpbSlotInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_KHR` = `1000039005`
pub const VideoEncodeH265NaluSliceSegmentInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_GOP_REMAINING_FRAME_INFO_KHR` = `1000039006`
pub const VideoEncodeH265GopRemainingFrameInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_GOP_REMAINING_FRAME_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_INFO_KHR` = `1000039007`
pub const VideoEncodeH265ProfileInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_KHR` = `1000039009`
pub const VideoEncodeH265RateControlInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_KHR` = `1000039010`
pub const VideoEncodeH265RateControlLayerInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_KHR` = `1000039011`
pub const VideoEncodeH265SessionCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_QUALITY_LEVEL_PROPERTIES_KHR` = `1000039012`
pub const VideoEncodeH265QualityLevelPropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_QUALITY_LEVEL_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_GET_INFO_KHR` = `1000039013`
pub const VideoEncodeH265SessionParametersGetInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_GET_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_FEEDBACK_INFO_KHR` = `1000039014`
pub const VideoEncodeH265SessionParametersFeedbackInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_FEEDBACK_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_KHR` = `1000040000`
pub const VideoDecodeH264CapabilitiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_KHR` = `1000040001`
pub const VideoDecodeH264PictureInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_INFO_KHR` = `1000040003`
pub const VideoDecodeH264ProfileInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR` = `1000040004`
pub const VideoDecodeH264SessionParametersCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR` = `1000040005`
pub const VideoDecodeH264SessionParametersAddInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_KHR` = `1000040006`
pub const VideoDecodeH264DpbSlotInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD` = `1000041000`
pub const TextureLodGatherFormatPropertiesAmd: Self = Self(sys::VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD.0);
/// `VK_STRUCTURE_TYPE_RENDERING_INFO_KHR` = `VK_STRUCTURE_TYPE_RENDERING_INFO`
pub const RenderingInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_RENDERING_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR` = `VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO`
pub const RenderingAttachmentInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR` = `VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO`
pub const PipelineRenderingCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES`
pub const PhysicalDeviceDynamicRenderingFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR` = `VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO`
pub const CommandBufferInheritanceRenderingInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP` = `1000049000`
pub const StreamDescriptorSurfaceCreateInfoGgp: Self = Self(sys::VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV` = `1000050000`
pub const PhysicalDeviceCornerSampledImageFeaturesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV.0);
/// `VK_STRUCTURE_TYPE_PRIVATE_VENDOR_INFO_PLACEHOLDER_OFFSET_0_NV` = `1000051000`
pub const PrivateVendorInfoPlaceholderOffset0Nv: Self = Self(sys::VK_STRUCTURE_TYPE_PRIVATE_VENDOR_INFO_PLACEHOLDER_OFFSET_0_NV.0);
/// `VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR` = `VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO`
pub const RenderPassMultiviewCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES`
pub const PhysicalDeviceMultiviewFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES`
pub const PhysicalDeviceMultiviewPropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV` = `1000056000`
pub const ExternalMemoryImageCreateInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV` = `1000056001`
pub const ExportMemoryAllocateInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV` = `1000057000`
pub const ImportMemoryWin32HandleInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV` = `1000057001`
pub const ExportMemoryWin32HandleInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV` = `1000058000`
pub const Win32KeyedMutexAcquireReleaseInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2`
pub const PhysicalDeviceFeatures2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2`
pub const PhysicalDeviceProperties2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR.0);
/// `VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR` = `VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2`
pub const FormatProperties2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR.0);
/// `VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR` = `VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2`
pub const ImageFormatProperties2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2`
pub const PhysicalDeviceImageFormatInfo2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR.0);
/// `VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR` = `VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2`
pub const QueueFamilyProperties2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2`
pub const PhysicalDeviceMemoryProperties2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR.0);
/// `VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR` = `VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2`
pub const SparseImageFormatProperties2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2`
pub const PhysicalDeviceSparseImageFormatInfo2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR.0);
/// `VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR` = `VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO`
pub const MemoryAllocateFlagsInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR` = `VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO`
pub const DeviceGroupRenderPassBeginInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR` = `VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO`
pub const DeviceGroupCommandBufferBeginInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR` = `VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO`
pub const DeviceGroupSubmitInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR` = `VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO`
pub const DeviceGroupBindSparseInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR` = `VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO`
pub const BindBufferMemoryDeviceGroupInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR` = `VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO`
pub const BindImageMemoryDeviceGroupInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT` = `1000061000`
pub const ValidationFlagsExt: Self = Self(sys::VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT.0);
/// `VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN` = `1000062000`
pub const ViSurfaceCreateInfoNn: Self = Self(sys::VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES`
pub const PhysicalDeviceTextureCompressionAstcHdrFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT` = `1000067000`
pub const ImageViewAstcDecodeModeExt: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT` = `1000067001`
pub const PhysicalDeviceAstcDecodeFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT` = `VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO`
pub const PipelineRobustnessCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES`
pub const PhysicalDevicePipelineRobustnessFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES`
pub const PhysicalDevicePipelineRobustnessPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES`
pub const PhysicalDeviceGroupPropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR` = `VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO`
pub const DeviceGroupDeviceCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO`
pub const PhysicalDeviceExternalImageFormatInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR` = `VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES`
pub const ExternalImageFormatPropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO`
pub const PhysicalDeviceExternalBufferInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR` = `VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES`
pub const ExternalBufferPropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES`
pub const PhysicalDeviceIdPropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR` = `VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO`
pub const ExternalMemoryBufferCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR` = `VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO`
pub const ExternalMemoryImageCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR` = `VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO`
pub const ExportMemoryAllocateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR` = `1000073000`
pub const ImportMemoryWin32HandleInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR` = `1000073001`
pub const ExportMemoryWin32HandleInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR` = `1000073002`
pub const MemoryWin32HandlePropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR` = `1000073003`
pub const MemoryGetWin32HandleInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR` = `1000074000`
pub const ImportMemoryFdInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR` = `1000074001`
pub const MemoryFdPropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR` = `1000074002`
pub const MemoryGetFdInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR` = `1000075000`
pub const Win32KeyedMutexAcquireReleaseInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO`
pub const PhysicalDeviceExternalSemaphoreInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR` = `VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES`
pub const ExternalSemaphorePropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR` = `VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO`
pub const ExportSemaphoreCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR` = `1000078000`
pub const ImportSemaphoreWin32HandleInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR` = `1000078001`
pub const ExportSemaphoreWin32HandleInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR` = `1000078002`
pub const D3d12FenceSubmitInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR` = `1000078003`
pub const SemaphoreGetWin32HandleInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR` = `1000079000`
pub const ImportSemaphoreFdInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR` = `1000079001`
pub const SemaphoreGetFdInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES`
pub const PhysicalDevicePushDescriptorPropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT` = `1000081000`
pub const CommandBufferInheritanceConditionalRenderingInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT` = `1000081001`
pub const PhysicalDeviceConditionalRenderingFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT` = `1000081002`
pub const ConditionalRenderingBeginInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES`
pub const PhysicalDeviceShaderFloat16Int8FeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES`
pub const PhysicalDeviceFloat16Int8FeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES`
pub const PhysicalDevice16bitStorageFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR` = `1000084000`
pub const PresentRegionsKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR.0);
/// `VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR` = `VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO`
pub const DescriptorUpdateTemplateCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV` = `1000087000`
pub const PipelineViewportWScalingStateCreateInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT` = `1000090000`
pub const SurfaceCapabilities2Ext: Self = Self(sys::VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT.0);
/// `VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT` = `1000091000`
pub const DisplayPowerInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT` = `1000091001`
pub const DeviceEventInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT` = `1000091002`
pub const DisplayEventInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT` = `1000091003`
pub const SwapchainCounterCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE` = `1000092000`
pub const PresentTimesInfoGoogle: Self = Self(sys::VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX` = `1000097000`
pub const PhysicalDeviceMultiviewPerViewAttributesPropertiesNvx: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX.0);
/// `VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX` = `1000044009`
pub const MultiviewPerViewAttributesInfoNvx: Self = Self(sys::VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV` = `1000098000`
pub const PipelineViewportSwizzleStateCreateInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT` = `1000099000`
pub const PhysicalDeviceDiscardRectanglePropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT` = `1000099001`
pub const PipelineDiscardRectangleStateCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT` = `1000101000`
pub const PhysicalDeviceConservativeRasterizationPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT` = `1000101001`
pub const PipelineRasterizationConservativeStateCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT` = `1000102000`
pub const PhysicalDeviceDepthClipEnableFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT` = `1000102001`
pub const PipelineRasterizationDepthClipStateCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_HDR_METADATA_EXT` = `1000105000`
pub const HdrMetadataExt: Self = Self(sys::VK_STRUCTURE_TYPE_HDR_METADATA_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES`
pub const PhysicalDeviceImagelessFramebufferFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR` = `VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO`
pub const FramebufferAttachmentsCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR` = `VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO`
pub const FramebufferAttachmentImageInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR` = `VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO`
pub const RenderPassAttachmentBeginInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR` = `VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2`
pub const AttachmentDescription2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR.0);
/// `VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR` = `VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2`
pub const AttachmentReference2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR.0);
/// `VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR` = `VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2`
pub const SubpassDescription2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR.0);
/// `VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR` = `VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2`
pub const SubpassDependency2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR.0);
/// `VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR` = `VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2`
pub const RenderPassCreateInfo2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR.0);
/// `VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR` = `VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO`
pub const SubpassBeginInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR` = `VK_STRUCTURE_TYPE_SUBPASS_END_INFO`
pub const SubpassEndInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RELAXED_LINE_RASTERIZATION_FEATURES_IMG` = `1000110000`
pub const PhysicalDeviceRelaxedLineRasterizationFeaturesImg: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RELAXED_LINE_RASTERIZATION_FEATURES_IMG.0);
/// `VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR` = `1000111000`
pub const SharedPresentSurfaceCapabilitiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO`
pub const PhysicalDeviceExternalFenceInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR` = `VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES`
pub const ExternalFencePropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR` = `VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO`
pub const ExportFenceCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR` = `1000114000`
pub const ImportFenceWin32HandleInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR` = `1000114001`
pub const ExportFenceWin32HandleInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR` = `1000114002`
pub const FenceGetWin32HandleInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR` = `1000115000`
pub const ImportFenceFdInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR` = `1000115001`
pub const FenceGetFdInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR` = `1000116000`
pub const PhysicalDevicePerformanceQueryFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR` = `1000116001`
pub const PhysicalDevicePerformanceQueryPropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR` = `1000116002`
pub const QueryPoolPerformanceCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR` = `1000116003`
pub const PerformanceQuerySubmitInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR` = `1000116004`
pub const AcquireProfilingLockInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR` = `1000116005`
pub const PerformanceCounterKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR.0);
/// `VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR` = `1000116006`
pub const PerformanceCounterDescriptionKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR.0);
/// `VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_RESERVATION_INFO_KHR` = `1000116007`
pub const PerformanceQueryReservationInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_RESERVATION_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES`
pub const PhysicalDevicePointClippingPropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR` = `VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO`
pub const RenderPassInputAttachmentAspectCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR` = `VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO`
pub const ImageViewUsageCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR` = `VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO`
pub const PipelineTessellationDomainOriginStateCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR` = `1000119000`
pub const PhysicalDeviceSurfaceInfo2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR.0);
/// `VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR` = `1000119001`
pub const SurfaceCapabilities2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR.0);
/// `VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR` = `1000119002`
pub const SurfaceFormat2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES`
pub const PhysicalDeviceVariablePointersFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR`
pub const PhysicalDeviceVariablePointerFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR` = `1000121000`
pub const DisplayProperties2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR.0);
/// `VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR` = `1000121001`
pub const DisplayPlaneProperties2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR.0);
/// `VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR` = `1000121002`
pub const DisplayModeProperties2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR.0);
/// `VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR` = `1000121003`
pub const DisplayPlaneInfo2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR.0);
/// `VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR` = `1000121004`
pub const DisplayPlaneCapabilities2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR.0);
/// `VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK` = `1000122000`
pub const IosSurfaceCreateInfoMvk: Self = Self(sys::VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK.0);
/// `VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK` = `1000123000`
pub const MacosSurfaceCreateInfoMvk: Self = Self(sys::VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK.0);
/// `VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR` = `VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS`
pub const MemoryDedicatedRequirementsKhr: Self = Self(sys::VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR.0);
/// `VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR` = `VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO`
pub const MemoryDedicatedAllocateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT` = `1000128000`
pub const DebugUtilsObjectNameInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT` = `1000128001`
pub const DebugUtilsObjectTagInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT` = `1000128002`
pub const DebugUtilsLabelExt: Self = Self(sys::VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT.0);
/// `VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT` = `1000128003`
pub const DebugUtilsMessengerCallbackDataExt: Self = Self(sys::VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT.0);
/// `VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT` = `1000128004`
pub const DebugUtilsMessengerCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID` = `1000129000`
pub const AndroidHardwareBufferUsageAndroid: Self = Self(sys::VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID.0);
/// `VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID` = `1000129001`
pub const AndroidHardwareBufferPropertiesAndroid: Self = Self(sys::VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID.0);
/// `VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID` = `1000129002`
pub const AndroidHardwareBufferFormatPropertiesAndroid: Self = Self(sys::VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID.0);
/// `VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID` = `1000129003`
pub const ImportAndroidHardwareBufferInfoAndroid: Self = Self(sys::VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID.0);
/// `VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID` = `1000129004`
pub const MemoryGetAndroidHardwareBufferInfoAndroid: Self = Self(sys::VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID.0);
/// `VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID` = `1000129005`
pub const ExternalFormatAndroid: Self = Self(sys::VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID.0);
/// `VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID` = `1000129006`
pub const AndroidHardwareBufferFormatProperties2Android: Self = Self(sys::VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES`
pub const PhysicalDeviceSamplerFilterMinmaxPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT` = `VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO`
pub const SamplerReductionModeCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX` = `1000134000`
pub const PhysicalDeviceShaderEnqueueFeaturesAmdx: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX` = `1000134001`
pub const PhysicalDeviceShaderEnqueuePropertiesAmdx: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX.0);
/// `VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_SCRATCH_SIZE_AMDX` = `1000134002`
pub const ExecutionGraphPipelineScratchSizeAmdx: Self = Self(sys::VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_SCRATCH_SIZE_AMDX.0);
/// `VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_CREATE_INFO_AMDX` = `1000134003`
pub const ExecutionGraphPipelineCreateInfoAmdx: Self = Self(sys::VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_CREATE_INFO_AMDX.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_NODE_CREATE_INFO_AMDX` = `1000134004`
pub const PipelineShaderStageNodeCreateInfoAmdx: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_NODE_CREATE_INFO_AMDX.0);
/// `VK_STRUCTURE_TYPE_TEXEL_BUFFER_DESCRIPTOR_INFO_EXT` = `1000135000`
pub const TexelBufferDescriptorInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_TEXEL_BUFFER_DESCRIPTOR_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_IMAGE_DESCRIPTOR_INFO_EXT` = `1000135001`
pub const ImageDescriptorInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_DESCRIPTOR_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_RESOURCE_DESCRIPTOR_INFO_EXT` = `1000135002`
pub const ResourceDescriptorInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_RESOURCE_DESCRIPTOR_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_BIND_HEAP_INFO_EXT` = `1000135003`
pub const BindHeapInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_BIND_HEAP_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PUSH_DATA_INFO_EXT` = `1000135004`
pub const PushDataInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_PUSH_DATA_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_DESCRIPTOR_SET_AND_BINDING_MAPPING_EXT` = `1000135005`
pub const DescriptorSetAndBindingMappingExt: Self = Self(sys::VK_STRUCTURE_TYPE_DESCRIPTOR_SET_AND_BINDING_MAPPING_EXT.0);
/// `VK_STRUCTURE_TYPE_SHADER_DESCRIPTOR_SET_AND_BINDING_MAPPING_INFO_EXT` = `1000135006`
pub const ShaderDescriptorSetAndBindingMappingInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_SHADER_DESCRIPTOR_SET_AND_BINDING_MAPPING_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DATA_CREATE_INFO_EXT` = `1000135007`
pub const OpaqueCaptureDataCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DATA_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_HEAP_PROPERTIES_EXT` = `1000135008`
pub const PhysicalDeviceDescriptorHeapPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_HEAP_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_HEAP_FEATURES_EXT` = `1000135009`
pub const PhysicalDeviceDescriptorHeapFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_HEAP_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_DESCRIPTOR_HEAP_INFO_EXT` = `1000135010`
pub const CommandBufferInheritanceDescriptorHeapInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_DESCRIPTOR_HEAP_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_INDEX_CREATE_INFO_EXT` = `1000135011`
pub const SamplerCustomBorderColorIndexCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_INDEX_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_PUSH_DATA_TOKEN_NV` = `1000135012`
pub const IndirectCommandsLayoutPushDataTokenNv: Self = Self(sys::VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_PUSH_DATA_TOKEN_NV.0);
/// `VK_STRUCTURE_TYPE_SUBSAMPLED_IMAGE_FORMAT_PROPERTIES_EXT` = `1000135013`
pub const SubsampledImageFormatPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_SUBSAMPLED_IMAGE_FORMAT_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_HEAP_TENSOR_PROPERTIES_ARM` = `1000135014`
pub const PhysicalDeviceDescriptorHeapTensorPropertiesArm: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_HEAP_TENSOR_PROPERTIES_ARM.0);
/// `VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD` = `1000044008`
pub const AttachmentSampleCountInfoAmd: Self = Self(sys::VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES`
pub const PhysicalDeviceInlineUniformBlockFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES`
pub const PhysicalDeviceInlineUniformBlockPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT` = `VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK`
pub const WriteDescriptorSetInlineUniformBlockExt: Self = Self(sys::VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT.0);
/// `VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT` = `VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO`
pub const DescriptorPoolInlineUniformBlockCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_BFLOAT16_FEATURES_KHR` = `1000141000`
pub const PhysicalDeviceShaderBfloat16FeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_BFLOAT16_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT` = `1000143000`
pub const SampleLocationsInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT` = `1000143001`
pub const RenderPassSampleLocationsBeginInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT` = `1000143002`
pub const PipelineSampleLocationsStateCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT` = `1000143003`
pub const PhysicalDeviceSampleLocationsPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT` = `1000143004`
pub const MultisamplePropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR` = `VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2`
pub const BufferMemoryRequirementsInfo2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR.0);
/// `VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR` = `VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2`
pub const ImageMemoryRequirementsInfo2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR.0);
/// `VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR` = `VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2`
pub const ImageSparseMemoryRequirementsInfo2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR.0);
/// `VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR` = `VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2`
pub const MemoryRequirements2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR.0);
/// `VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR` = `VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2`
pub const SparseImageMemoryRequirements2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR.0);
/// `VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR` = `VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO`
pub const ImageFormatListCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT` = `1000148000`
pub const PhysicalDeviceBlendOperationAdvancedFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT` = `1000148001`
pub const PhysicalDeviceBlendOperationAdvancedPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT` = `1000148002`
pub const PipelineColorBlendAdvancedStateCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV` = `1000149000`
pub const PipelineCoverageToColorStateCreateInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR` = `1000150007`
pub const WriteDescriptorSetAccelerationStructureKhr: Self = Self(sys::VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR.0);
/// `VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR` = `1000150000`
pub const AccelerationStructureBuildGeometryInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR` = `1000150002`
pub const AccelerationStructureDeviceAddressInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR` = `1000150003`
pub const AccelerationStructureGeometryAabbsDataKhr: Self = Self(sys::VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR.0);
/// `VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR` = `1000150004`
pub const AccelerationStructureGeometryInstancesDataKhr: Self = Self(sys::VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR.0);
/// `VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR` = `1000150005`
pub const AccelerationStructureGeometryTrianglesDataKhr: Self = Self(sys::VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR.0);
/// `VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR` = `1000150006`
pub const AccelerationStructureGeometryKhr: Self = Self(sys::VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR.0);
/// `VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR` = `1000150009`
pub const AccelerationStructureVersionInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR` = `1000150010`
pub const CopyAccelerationStructureInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR` = `1000150011`
pub const CopyAccelerationStructureToMemoryInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR` = `1000150012`
pub const CopyMemoryToAccelerationStructureInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR` = `1000150013`
pub const PhysicalDeviceAccelerationStructureFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR` = `1000150014`
pub const PhysicalDeviceAccelerationStructurePropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR` = `1000150017`
pub const AccelerationStructureCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR` = `1000150020`
pub const AccelerationStructureBuildSizesInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR` = `1000347000`
pub const PhysicalDeviceRayTracingPipelineFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR` = `1000347001`
pub const PhysicalDeviceRayTracingPipelinePropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR` = `1000150015`
pub const RayTracingPipelineCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR` = `1000150016`
pub const RayTracingShaderGroupCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR` = `1000150018`
pub const RayTracingPipelineInterfaceCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR` = `1000348013`
pub const PhysicalDeviceRayQueryFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV` = `1000152000`
pub const PipelineCoverageModulationStateCreateInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_NV` = `VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD`
pub const AttachmentSampleCountInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV` = `1000154000`
pub const PhysicalDeviceShaderSmBuiltinsFeaturesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV` = `1000154001`
pub const PhysicalDeviceShaderSmBuiltinsPropertiesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV.0);
/// `VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR` = `VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO`
pub const SamplerYcbcrConversionCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR` = `VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO`
pub const SamplerYcbcrConversionInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR` = `VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO`
pub const BindImagePlaneMemoryInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR` = `VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO`
pub const ImagePlaneMemoryRequirementsInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES`
pub const PhysicalDeviceSamplerYcbcrConversionFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR` = `VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES`
pub const SamplerYcbcrConversionImageFormatPropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR` = `VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO`
pub const BindBufferMemoryInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR` = `VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO`
pub const BindImageMemoryInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT` = `1000158000`
pub const DrmFormatModifierPropertiesListExt: Self = Self(sys::VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT` = `1000158002`
pub const PhysicalDeviceImageDrmFormatModifierInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT` = `1000158003`
pub const ImageDrmFormatModifierListCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT` = `1000158004`
pub const ImageDrmFormatModifierExplicitCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT` = `1000158005`
pub const ImageDrmFormatModifierPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT` = `1000158006`
pub const DrmFormatModifierPropertiesList2Ext: Self = Self(sys::VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT.0);
/// `VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT` = `1000160000`
pub const ValidationCacheCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT` = `1000160001`
pub const ShaderModuleValidationCacheCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT` = `VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO`
pub const DescriptorSetLayoutBindingFlagsCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES`
pub const PhysicalDeviceDescriptorIndexingFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES`
pub const PhysicalDeviceDescriptorIndexingPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT` = `VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO`
pub const DescriptorSetVariableDescriptorCountAllocateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT` = `VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT`
pub const DescriptorSetVariableDescriptorCountLayoutSupportExt: Self = Self(sys::VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR` = `1000163000`
pub const PhysicalDevicePortabilitySubsetFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR` = `1000163001`
pub const PhysicalDevicePortabilitySubsetPropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV` = `1000164000`
pub const PipelineViewportShadingRateImageStateCreateInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV` = `1000164001`
pub const PhysicalDeviceShadingRateImageFeaturesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV` = `1000164002`
pub const PhysicalDeviceShadingRateImagePropertiesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV` = `1000164005`
pub const PipelineViewportCoarseSampleOrderStateCreateInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV` = `1000165000`
pub const RayTracingPipelineCreateInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV` = `1000165001`
pub const AccelerationStructureCreateInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_GEOMETRY_NV` = `1000165003`
pub const GeometryNv: Self = Self(sys::VK_STRUCTURE_TYPE_GEOMETRY_NV.0);
/// `VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV` = `1000165004`
pub const GeometryTrianglesNv: Self = Self(sys::VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV.0);
/// `VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV` = `1000165005`
pub const GeometryAabbNv: Self = Self(sys::VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV.0);
/// `VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV` = `1000165006`
pub const BindAccelerationStructureMemoryInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV` = `1000165007`
pub const WriteDescriptorSetAccelerationStructureNv: Self = Self(sys::VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV.0);
/// `VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV` = `1000165008`
pub const AccelerationStructureMemoryRequirementsInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV` = `1000165009`
pub const PhysicalDeviceRayTracingPropertiesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV.0);
/// `VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV` = `1000165011`
pub const RayTracingShaderGroupCreateInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV` = `1000165012`
pub const AccelerationStructureInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV` = `1000166000`
pub const PhysicalDeviceRepresentativeFragmentTestFeaturesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV` = `1000166001`
pub const PipelineRepresentativeFragmentTestStateCreateInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES`
pub const PhysicalDeviceMaintenance3PropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR` = `VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT`
pub const DescriptorSetLayoutSupportKhr: Self = Self(sys::VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT` = `1000170000`
pub const PhysicalDeviceImageViewImageFormatInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT` = `1000170001`
pub const FilterCubicImageViewImageFormatPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_CONVERSION_FEATURES_QCOM` = `1000172000`
pub const PhysicalDeviceCooperativeMatrixConversionFeaturesQcom: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_CONVERSION_FEATURES_QCOM.0);
/// `VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT` = `VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO`
pub const DeviceQueueGlobalPriorityCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES`
pub const PhysicalDeviceShaderSubgroupExtendedTypesFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES`
pub const PhysicalDevice8bitStorageFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT` = `1000178000`
pub const ImportMemoryHostPointerInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT` = `1000178001`
pub const MemoryHostPointerPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT` = `1000178002`
pub const PhysicalDeviceExternalMemoryHostPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES`
pub const PhysicalDeviceShaderAtomicInt64FeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR` = `1000181000`
pub const PhysicalDeviceShaderClockFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD` = `1000183000`
pub const PipelineCompilerControlCreateInfoAmd: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD.0);
/// `VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT` = `VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_KHR`
pub const CalibratedTimestampInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD` = `1000185000`
pub const PhysicalDeviceShaderCorePropertiesAmd: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD.0);
/// `VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_KHR` = `1000187000`
pub const VideoDecodeH265CapabilitiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR` = `1000187001`
pub const VideoDecodeH265SessionParametersCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR` = `1000187002`
pub const VideoDecodeH265SessionParametersAddInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_INFO_KHR` = `1000187003`
pub const VideoDecodeH265ProfileInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_KHR` = `1000187004`
pub const VideoDecodeH265PictureInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_KHR` = `1000187005`
pub const VideoDecodeH265DpbSlotInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR` = `VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO`
pub const DeviceQueueGlobalPriorityCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES`
pub const PhysicalDeviceGlobalPriorityQueryFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR` = `VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES`
pub const QueueFamilyGlobalPriorityPropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD` = `1000189000`
pub const DeviceMemoryOverallocationCreateInfoAmd: Self = Self(sys::VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT` = `1000190000`
pub const PhysicalDeviceVertexAttributeDivisorPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT` = `VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO`
pub const PipelineVertexInputDivisorStateCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES`
pub const PhysicalDeviceVertexAttributeDivisorFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP` = `1000191000`
pub const PresentFrameTokenGgp: Self = Self(sys::VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT` = `VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO`
pub const PipelineCreationFeedbackCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES`
pub const PhysicalDeviceDriverPropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES`
pub const PhysicalDeviceFloatControlsPropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES`
pub const PhysicalDeviceDepthStencilResolvePropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR` = `VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE`
pub const SubpassDescriptionDepthStencilResolveKhr: Self = Self(sys::VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_KHR`
pub const PhysicalDeviceComputeShaderDerivativesFeaturesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV` = `1000202000`
pub const PhysicalDeviceMeshShaderFeaturesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV` = `1000202001`
pub const PhysicalDeviceMeshShaderPropertiesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR`
pub const PhysicalDeviceFragmentShaderBarycentricFeaturesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV` = `1000204000`
pub const PhysicalDeviceShaderImageFootprintFeaturesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV` = `1000205000`
pub const PipelineViewportExclusiveScissorStateCreateInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV` = `1000205002`
pub const PhysicalDeviceExclusiveScissorFeaturesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV.0);
/// `VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV` = `1000206000`
pub const CheckpointDataNv: Self = Self(sys::VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV.0);
/// `VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV` = `1000206001`
pub const QueueFamilyCheckpointPropertiesNv: Self = Self(sys::VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV.0);
/// `VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV` = `1000314008`
pub const QueueFamilyCheckpointProperties2Nv: Self = Self(sys::VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV.0);
/// `VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV` = `1000314009`
pub const CheckpointData2Nv: Self = Self(sys::VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES`
pub const PhysicalDeviceTimelineSemaphoreFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES`
pub const PhysicalDeviceTimelineSemaphorePropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR` = `VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO`
pub const SemaphoreTypeCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR` = `VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO`
pub const TimelineSemaphoreSubmitInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR` = `VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO`
pub const SemaphoreWaitInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR` = `VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO`
pub const SemaphoreSignalInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_TIMING_FEATURES_EXT` = `1000208000`
pub const PhysicalDevicePresentTimingFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_TIMING_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_SWAPCHAIN_TIMING_PROPERTIES_EXT` = `1000208001`
pub const SwapchainTimingPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_SWAPCHAIN_TIMING_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_SWAPCHAIN_TIME_DOMAIN_PROPERTIES_EXT` = `1000208002`
pub const SwapchainTimeDomainPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_SWAPCHAIN_TIME_DOMAIN_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_PRESENT_TIMINGS_INFO_EXT` = `1000208003`
pub const PresentTimingsInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_PRESENT_TIMINGS_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PRESENT_TIMING_INFO_EXT` = `1000208004`
pub const PresentTimingInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_PRESENT_TIMING_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PAST_PRESENTATION_TIMING_INFO_EXT` = `1000208005`
pub const PastPresentationTimingInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_PAST_PRESENTATION_TIMING_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PAST_PRESENTATION_TIMING_PROPERTIES_EXT` = `1000208006`
pub const PastPresentationTimingPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PAST_PRESENTATION_TIMING_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_PAST_PRESENTATION_TIMING_EXT` = `1000208007`
pub const PastPresentationTimingExt: Self = Self(sys::VK_STRUCTURE_TYPE_PAST_PRESENTATION_TIMING_EXT.0);
/// `VK_STRUCTURE_TYPE_PRESENT_TIMING_SURFACE_CAPABILITIES_EXT` = `1000208008`
pub const PresentTimingSurfaceCapabilitiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PRESENT_TIMING_SURFACE_CAPABILITIES_EXT.0);
/// `VK_STRUCTURE_TYPE_SWAPCHAIN_CALIBRATED_TIMESTAMP_INFO_EXT` = `1000208009`
pub const SwapchainCalibratedTimestampInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_SWAPCHAIN_CALIBRATED_TIMESTAMP_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL` = `1000209000`
pub const PhysicalDeviceShaderIntegerFunctions2FeaturesIntel: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL.0);
/// `VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL` = `1000210000`
pub const QueryPoolPerformanceQueryCreateInfoIntel: Self = Self(sys::VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL.0);
/// `VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL` = `VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL`
pub const QueryPoolCreateInfoIntel: Self = Self(sys::VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL.0);
/// `VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL` = `1000210001`
pub const InitializePerformanceApiInfoIntel: Self = Self(sys::VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL.0);
/// `VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL` = `1000210002`
pub const PerformanceMarkerInfoIntel: Self = Self(sys::VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL.0);
/// `VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL` = `1000210003`
pub const PerformanceStreamMarkerInfoIntel: Self = Self(sys::VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL.0);
/// `VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL` = `1000210004`
pub const PerformanceOverrideInfoIntel: Self = Self(sys::VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL.0);
/// `VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL` = `1000210005`
pub const PerformanceConfigurationAcquireInfoIntel: Self = Self(sys::VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES`
pub const PhysicalDeviceVulkanMemoryModelFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT` = `1000212000`
pub const PhysicalDevicePciBusInfoPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD` = `1000213000`
pub const DisplayNativeHdrSurfaceCapabilitiesAmd: Self = Self(sys::VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD.0);
/// `VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD` = `1000213001`
pub const SwapchainDisplayNativeHdrCreateInfoAmd: Self = Self(sys::VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD.0);
/// `VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA` = `1000214000`
pub const ImagepipeSurfaceCreateInfoFuchsia: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES`
pub const PhysicalDeviceShaderTerminateInvocationFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT` = `1000217000`
pub const MetalSurfaceCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT` = `1000218000`
pub const PhysicalDeviceFragmentDensityMapFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT` = `1000218001`
pub const PhysicalDeviceFragmentDensityMapPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT` = `1000218002`
pub const RenderPassFragmentDensityMapCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT` = `1000044007`
pub const RenderingFragmentDensityMapAttachmentInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES`
pub const PhysicalDeviceScalarBlockLayoutFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES`
pub const PhysicalDeviceSubgroupSizeControlPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT` = `VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO`
pub const PipelineShaderStageRequiredSubgroupSizeCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES`
pub const PhysicalDeviceSubgroupSizeControlFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR` = `1000226000`
pub const FragmentShadingRateAttachmentInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR` = `1000226001`
pub const PipelineFragmentShadingRateStateCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR` = `1000226002`
pub const PhysicalDeviceFragmentShadingRatePropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR` = `1000226003`
pub const PhysicalDeviceFragmentShadingRateFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR` = `1000226004`
pub const PhysicalDeviceFragmentShadingRateKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR.0);
/// `VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR` = `1000044006`
pub const RenderingFragmentShadingRateAttachmentInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD` = `1000227000`
pub const PhysicalDeviceShaderCoreProperties2Amd: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD` = `1000229000`
pub const PhysicalDeviceCoherentMemoryFeaturesAmd: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES`
pub const PhysicalDeviceDynamicRenderingLocalReadFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR` = `VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO`
pub const RenderingAttachmentLocationInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR` = `VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO`
pub const RenderingInputAttachmentIndexInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT` = `1000234000`
pub const PhysicalDeviceShaderImageAtomicInt64FeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR` = `1000235000`
pub const PhysicalDeviceShaderQuadControlFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT` = `1000237000`
pub const PhysicalDeviceMemoryBudgetPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT` = `1000238000`
pub const PhysicalDeviceMemoryPriorityFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT` = `1000238001`
pub const MemoryPriorityAllocateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR` = `1000239000`
pub const SurfaceProtectedCapabilitiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV` = `1000240000`
pub const PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES`
pub const PhysicalDeviceSeparateDepthStencilLayoutsFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR` = `VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT`
pub const AttachmentReferenceStencilLayoutKhr: Self = Self(sys::VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT_KHR.0);
/// `VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR` = `VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT`
pub const AttachmentDescriptionStencilLayoutKhr: Self = Self(sys::VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT` = `1000244000`
pub const PhysicalDeviceBufferDeviceAddressFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT`
pub const PhysicalDeviceBufferAddressFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT` = `VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO`
pub const BufferDeviceAddressInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT` = `1000244002`
pub const BufferDeviceAddressCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES`
pub const PhysicalDeviceToolPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT` = `VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO`
pub const ImageStencilUsageCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT` = `1000247000`
pub const ValidationFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR` = `1000248000`
pub const PhysicalDevicePresentWaitFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV` = `1000249000`
pub const PhysicalDeviceCooperativeMatrixFeaturesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV.0);
/// `VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV` = `1000249001`
pub const CooperativeMatrixPropertiesNv: Self = Self(sys::VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV` = `1000249002`
pub const PhysicalDeviceCooperativeMatrixPropertiesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV` = `1000250000`
pub const PhysicalDeviceCoverageReductionModeFeaturesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV` = `1000250001`
pub const PipelineCoverageReductionStateCreateInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV` = `1000250002`
pub const FramebufferMixedSamplesCombinationNv: Self = Self(sys::VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT` = `1000251000`
pub const PhysicalDeviceFragmentShaderInterlockFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT` = `1000252000`
pub const PhysicalDeviceYcbcrImageArraysFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES`
pub const PhysicalDeviceUniformBufferStandardLayoutFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT` = `1000254000`
pub const PhysicalDeviceProvokingVertexFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT` = `1000254001`
pub const PipelineRasterizationProvokingVertexStateCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT` = `1000254002`
pub const PhysicalDeviceProvokingVertexPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT` = `1000255000`
pub const SurfaceFullScreenExclusiveInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT` = `1000255002`
pub const SurfaceCapabilitiesFullScreenExclusiveExt: Self = Self(sys::VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT.0);
/// `VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT` = `1000255001`
pub const SurfaceFullScreenExclusiveWin32InfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT` = `1000256000`
pub const HeadlessSurfaceCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES`
pub const PhysicalDeviceBufferDeviceAddressFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR` = `VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO`
pub const BufferDeviceAddressInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR` = `VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO`
pub const BufferOpaqueCaptureAddressCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR` = `VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO`
pub const MemoryOpaqueCaptureAddressAllocateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR` = `VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO`
pub const DeviceMemoryOpaqueCaptureAddressInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES`
pub const PhysicalDeviceLineRasterizationFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT` = `VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO`
pub const PipelineRasterizationLineStateCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES`
pub const PhysicalDeviceLineRasterizationPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT` = `1000260000`
pub const PhysicalDeviceShaderAtomicFloatFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES`
pub const PhysicalDeviceHostQueryResetFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES`
pub const PhysicalDeviceIndexTypeUint8FeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT` = `1000267000`
///
/// Not promoted to 1.3
pub const PhysicalDeviceExtendedDynamicStateFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR` = `1000269000`
pub const PhysicalDevicePipelineExecutablePropertiesFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR` = `1000269001`
pub const PipelineInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR` = `1000269002`
pub const PipelineExecutablePropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR` = `1000269003`
pub const PipelineExecutableInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR` = `1000269004`
pub const PipelineExecutableStatisticKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR` = `1000269005`
pub const PipelineExecutableInternalRepresentationKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES_EXT` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES`
pub const PhysicalDeviceHostImageCopyFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES_EXT` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES`
pub const PhysicalDeviceHostImageCopyPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_MEMORY_TO_IMAGE_COPY_EXT` = `VK_STRUCTURE_TYPE_MEMORY_TO_IMAGE_COPY`
pub const MemoryToImageCopyExt: Self = Self(sys::VK_STRUCTURE_TYPE_MEMORY_TO_IMAGE_COPY_EXT.0);
/// `VK_STRUCTURE_TYPE_IMAGE_TO_MEMORY_COPY_EXT` = `VK_STRUCTURE_TYPE_IMAGE_TO_MEMORY_COPY`
pub const ImageToMemoryCopyExt: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_TO_MEMORY_COPY_EXT.0);
/// `VK_STRUCTURE_TYPE_COPY_IMAGE_TO_MEMORY_INFO_EXT` = `VK_STRUCTURE_TYPE_COPY_IMAGE_TO_MEMORY_INFO`
pub const CopyImageToMemoryInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_COPY_IMAGE_TO_MEMORY_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INFO_EXT` = `VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INFO`
pub const CopyMemoryToImageInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_HOST_IMAGE_LAYOUT_TRANSITION_INFO_EXT` = `VK_STRUCTURE_TYPE_HOST_IMAGE_LAYOUT_TRANSITION_INFO`
pub const HostImageLayoutTransitionInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_HOST_IMAGE_LAYOUT_TRANSITION_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_COPY_IMAGE_TO_IMAGE_INFO_EXT` = `VK_STRUCTURE_TYPE_COPY_IMAGE_TO_IMAGE_INFO`
pub const CopyImageToImageInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_COPY_IMAGE_TO_IMAGE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE_EXT` = `VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE`
pub const SubresourceHostMemcpySizeExt: Self = Self(sys::VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE_EXT.0);
/// `VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY_EXT` = `VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY`
pub const HostImageCopyDevicePerformanceQueryExt: Self = Self(sys::VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY_EXT.0);
/// `VK_STRUCTURE_TYPE_MEMORY_MAP_INFO_KHR` = `VK_STRUCTURE_TYPE_MEMORY_MAP_INFO`
pub const MemoryMapInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_MEMORY_MAP_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_MEMORY_UNMAP_INFO_KHR` = `VK_STRUCTURE_TYPE_MEMORY_UNMAP_INFO`
pub const MemoryUnmapInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_MEMORY_UNMAP_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAP_MEMORY_PLACED_FEATURES_EXT` = `1000272000`
pub const PhysicalDeviceMapMemoryPlacedFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAP_MEMORY_PLACED_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAP_MEMORY_PLACED_PROPERTIES_EXT` = `1000272001`
pub const PhysicalDeviceMapMemoryPlacedPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAP_MEMORY_PLACED_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_MEMORY_MAP_PLACED_INFO_EXT` = `1000272002`
pub const MemoryMapPlacedInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_MEMORY_MAP_PLACED_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT` = `1000273000`
pub const PhysicalDeviceShaderAtomicFloat2FeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXT` = `VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_KHR`
pub const SurfacePresentModeExt: Self = Self(sys::VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXT.0);
/// `VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT` = `VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_KHR`
pub const SurfacePresentScalingCapabilitiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT.0);
/// `VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT` = `VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_KHR`
pub const SurfacePresentModeCompatibilityExt: Self = Self(sys::VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_KHR`
pub const PhysicalDeviceSwapchainMaintenance1FeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT` = `VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_KHR`
pub const SwapchainPresentFenceInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT` = `VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_KHR`
pub const SwapchainPresentModesCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_EXT` = `VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_KHR`
pub const SwapchainPresentModeInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT` = `VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_KHR`
pub const SwapchainPresentScalingCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_EXT` = `VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_KHR`
pub const ReleaseSwapchainImagesInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES`
pub const PhysicalDeviceShaderDemoteToHelperInvocationFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV` = `1000277000`
pub const PhysicalDeviceDeviceGeneratedCommandsPropertiesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV.0);
/// `VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV` = `1000277001`
pub const GraphicsShaderGroupCreateInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV` = `1000277002`
pub const GraphicsPipelineShaderGroupsCreateInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV` = `1000277003`
pub const IndirectCommandsLayoutTokenNv: Self = Self(sys::VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV.0);
/// `VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV` = `1000277004`
pub const IndirectCommandsLayoutCreateInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV` = `1000277005`
pub const GeneratedCommandsInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV` = `1000277006`
pub const GeneratedCommandsMemoryRequirementsInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV` = `1000277007`
pub const PhysicalDeviceDeviceGeneratedCommandsFeaturesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV` = `1000278000`
pub const PhysicalDeviceInheritedViewportScissorFeaturesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV.0);
/// `VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV` = `1000278001`
pub const CommandBufferInheritanceViewportScissorInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES`
pub const PhysicalDeviceShaderIntegerDotProductFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES`
pub const PhysicalDeviceShaderIntegerDotProductPropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT` = `1000281000`
///
/// Not promoted to 1.3
pub const PhysicalDeviceTexelBufferAlignmentFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES`
pub const PhysicalDeviceTexelBufferAlignmentPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM` = `1000282000`
pub const CommandBufferInheritanceRenderPassTransformInfoQcom: Self = Self(sys::VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM.0);
/// `VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM` = `1000282001`
pub const RenderPassTransformBeginInfoQcom: Self = Self(sys::VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_BIAS_CONTROL_FEATURES_EXT` = `1000283000`
pub const PhysicalDeviceDepthBiasControlFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_BIAS_CONTROL_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_DEPTH_BIAS_INFO_EXT` = `1000283001`
pub const DepthBiasInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_DEPTH_BIAS_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_DEPTH_BIAS_REPRESENTATION_INFO_EXT` = `1000283002`
pub const DepthBiasRepresentationInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_DEPTH_BIAS_REPRESENTATION_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT` = `1000284000`
pub const PhysicalDeviceDeviceMemoryReportFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT` = `1000284001`
pub const DeviceDeviceMemoryReportCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT` = `1000284002`
pub const DeviceMemoryReportCallbackDataExt: Self = Self(sys::VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_KHR`
pub const PhysicalDeviceRobustness2FeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_KHR`
pub const PhysicalDeviceRobustness2PropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT` = `1000287000`
pub const SamplerCustomBorderColorCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT` = `1000287001`
pub const PhysicalDeviceCustomBorderColorPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT` = `1000287002`
pub const PhysicalDeviceCustomBorderColorFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_3D_FEATURES_EXT` = `1000288000`
pub const PhysicalDeviceTextureCompressionAstc3dFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_3D_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR` = `1000290000`
pub const PipelineLibraryCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV` = `1000292000`
pub const PhysicalDevicePresentBarrierFeaturesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV.0);
/// `VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV` = `1000292001`
pub const SurfaceCapabilitiesPresentBarrierNv: Self = Self(sys::VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV.0);
/// `VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV` = `1000292002`
pub const SwapchainPresentBarrierCreateInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_PRESENT_ID_KHR` = `1000294000`
pub const PresentIdKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PRESENT_ID_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR` = `1000294001`
pub const PhysicalDevicePresentIdFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES`
pub const PhysicalDevicePrivateDataFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT` = `VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO`
pub const DevicePrivateDataCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT` = `VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO`
pub const PrivateDataSlotCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES`
pub const PhysicalDevicePipelineCreationCacheControlFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR` = `1000299000`
pub const VideoEncodeInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR` = `1000299001`
pub const VideoEncodeRateControlInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR` = `1000299002`
pub const VideoEncodeRateControlLayerInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR` = `1000299003`
pub const VideoEncodeCapabilitiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_USAGE_INFO_KHR` = `1000299004`
pub const VideoEncodeUsageInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_USAGE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_QUERY_POOL_VIDEO_ENCODE_FEEDBACK_CREATE_INFO_KHR` = `1000299005`
pub const QueryPoolVideoEncodeFeedbackCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_QUERY_POOL_VIDEO_ENCODE_FEEDBACK_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR` = `1000299006`
pub const PhysicalDeviceVideoEncodeQualityLevelInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_PROPERTIES_KHR` = `1000299007`
pub const VideoEncodeQualityLevelPropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR` = `1000299008`
pub const VideoEncodeQualityLevelInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_PARAMETERS_GET_INFO_KHR` = `1000299009`
pub const VideoEncodeSessionParametersGetInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_PARAMETERS_GET_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_PARAMETERS_FEEDBACK_INFO_KHR` = `1000299010`
pub const VideoEncodeSessionParametersFeedbackInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_PARAMETERS_FEEDBACK_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV` = `1000300000`
pub const PhysicalDeviceDiagnosticsConfigFeaturesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV.0);
/// `VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV` = `1000300001`
pub const DeviceDiagnosticsConfigCreateInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_CUDA_MODULE_CREATE_INFO_NV` = `1000307000`
pub const CudaModuleCreateInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_CUDA_MODULE_CREATE_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_CUDA_FUNCTION_CREATE_INFO_NV` = `1000307001`
pub const CudaFunctionCreateInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_CUDA_FUNCTION_CREATE_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_CUDA_LAUNCH_INFO_NV` = `1000307002`
pub const CudaLaunchInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_CUDA_LAUNCH_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_FEATURES_NV` = `1000307003`
pub const PhysicalDeviceCudaKernelLaunchFeaturesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_FEATURES_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_PROPERTIES_NV` = `1000307004`
pub const PhysicalDeviceCudaKernelLaunchPropertiesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_PROPERTIES_NV.0);
/// `VK_STRUCTURE_TYPE_REFRESH_OBJECT_LIST_KHR` = `1000308000`
pub const RefreshObjectListKhr: Self = Self(sys::VK_STRUCTURE_TYPE_REFRESH_OBJECT_LIST_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_SHADING_FEATURES_QCOM` = `1000309000`
pub const PhysicalDeviceTileShadingFeaturesQcom: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_SHADING_FEATURES_QCOM.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_SHADING_PROPERTIES_QCOM` = `1000309001`
pub const PhysicalDeviceTileShadingPropertiesQcom: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_SHADING_PROPERTIES_QCOM.0);
/// `VK_STRUCTURE_TYPE_RENDER_PASS_TILE_SHADING_CREATE_INFO_QCOM` = `1000309002`
pub const RenderPassTileShadingCreateInfoQcom: Self = Self(sys::VK_STRUCTURE_TYPE_RENDER_PASS_TILE_SHADING_CREATE_INFO_QCOM.0);
/// `VK_STRUCTURE_TYPE_PER_TILE_BEGIN_INFO_QCOM` = `1000309003`
pub const PerTileBeginInfoQcom: Self = Self(sys::VK_STRUCTURE_TYPE_PER_TILE_BEGIN_INFO_QCOM.0);
/// `VK_STRUCTURE_TYPE_PER_TILE_END_INFO_QCOM` = `1000309004`
pub const PerTileEndInfoQcom: Self = Self(sys::VK_STRUCTURE_TYPE_PER_TILE_END_INFO_QCOM.0);
/// `VK_STRUCTURE_TYPE_DISPATCH_TILE_INFO_QCOM` = `1000309005`
pub const DispatchTileInfoQcom: Self = Self(sys::VK_STRUCTURE_TYPE_DISPATCH_TILE_INFO_QCOM.0);
/// `VK_STRUCTURE_TYPE_QUERY_LOW_LATENCY_SUPPORT_NV` = `1000310000`
pub const QueryLowLatencySupportNv: Self = Self(sys::VK_STRUCTURE_TYPE_QUERY_LOW_LATENCY_SUPPORT_NV.0);
/// `VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECT_CREATE_INFO_EXT` = `1000311000`
pub const ExportMetalObjectCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECT_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECTS_INFO_EXT` = `1000311001`
pub const ExportMetalObjectsInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECTS_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_EXPORT_METAL_DEVICE_INFO_EXT` = `1000311002`
pub const ExportMetalDeviceInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_EXPORT_METAL_DEVICE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_EXPORT_METAL_COMMAND_QUEUE_INFO_EXT` = `1000311003`
pub const ExportMetalCommandQueueInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_EXPORT_METAL_COMMAND_QUEUE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_EXPORT_METAL_BUFFER_INFO_EXT` = `1000311004`
pub const ExportMetalBufferInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_EXPORT_METAL_BUFFER_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_IMPORT_METAL_BUFFER_INFO_EXT` = `1000311005`
pub const ImportMetalBufferInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_IMPORT_METAL_BUFFER_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_EXPORT_METAL_TEXTURE_INFO_EXT` = `1000311006`
pub const ExportMetalTextureInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_EXPORT_METAL_TEXTURE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_IMPORT_METAL_TEXTURE_INFO_EXT` = `1000311007`
pub const ImportMetalTextureInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_IMPORT_METAL_TEXTURE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_EXPORT_METAL_IO_SURFACE_INFO_EXT` = `1000311008`
pub const ExportMetalIoSurfaceInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_EXPORT_METAL_IO_SURFACE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_IMPORT_METAL_IO_SURFACE_INFO_EXT` = `1000311009`
pub const ImportMetalIoSurfaceInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_IMPORT_METAL_IO_SURFACE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_EXPORT_METAL_SHARED_EVENT_INFO_EXT` = `1000311010`
pub const ExportMetalSharedEventInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_EXPORT_METAL_SHARED_EVENT_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_IMPORT_METAL_SHARED_EVENT_INFO_EXT` = `1000311011`
pub const ImportMetalSharedEventInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_IMPORT_METAL_SHARED_EVENT_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR` = `VK_STRUCTURE_TYPE_MEMORY_BARRIER_2`
pub const MemoryBarrier2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR.0);
/// `VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR` = `VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2`
pub const BufferMemoryBarrier2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR.0);
/// `VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR` = `VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2`
pub const ImageMemoryBarrier2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR.0);
/// `VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR` = `VK_STRUCTURE_TYPE_DEPENDENCY_INFO`
pub const DependencyInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_DEPENDENCY_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR` = `VK_STRUCTURE_TYPE_SUBMIT_INFO_2`
pub const SubmitInfo2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_SUBMIT_INFO_2_KHR.0);
/// `VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR` = `VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO`
pub const SemaphoreSubmitInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR` = `VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO`
pub const CommandBufferSubmitInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES`
pub const PhysicalDeviceSynchronization2FeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT` = `1000316000`
pub const PhysicalDeviceDescriptorBufferPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT` = `1000316001`
pub const PhysicalDeviceDescriptorBufferDensityMapPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT` = `1000316002`
pub const PhysicalDeviceDescriptorBufferFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT` = `1000316003`
pub const DescriptorAddressInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT` = `1000316004`
pub const DescriptorGetInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT` = `1000316005`
pub const BufferCaptureDescriptorDataInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT` = `1000316006`
pub const ImageCaptureDescriptorDataInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT` = `1000316007`
pub const ImageViewCaptureDescriptorDataInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT` = `1000316008`
pub const SamplerCaptureDescriptorDataInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT` = `1000316010`
pub const OpaqueCaptureDescriptorDataCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT` = `1000316011`
pub const DescriptorBufferBindingInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT` = `1000316012`
pub const DescriptorBufferBindingPushDescriptorBufferHandleExt: Self = Self(sys::VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT.0);
/// `VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT` = `1000316009`
pub const AccelerationStructureCaptureDescriptorDataInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_DEVICE_MEMORY_COPY_KHR` = `1000318000`
pub const DeviceMemoryCopyKhr: Self = Self(sys::VK_STRUCTURE_TYPE_DEVICE_MEMORY_COPY_KHR.0);
/// `VK_STRUCTURE_TYPE_COPY_DEVICE_MEMORY_INFO_KHR` = `1000318001`
pub const CopyDeviceMemoryInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_COPY_DEVICE_MEMORY_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_DEVICE_MEMORY_IMAGE_COPY_KHR` = `1000318002`
pub const DeviceMemoryImageCopyKhr: Self = Self(sys::VK_STRUCTURE_TYPE_DEVICE_MEMORY_IMAGE_COPY_KHR.0);
/// `VK_STRUCTURE_TYPE_COPY_DEVICE_MEMORY_IMAGE_INFO_KHR` = `1000318003`
pub const CopyDeviceMemoryImageInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_COPY_DEVICE_MEMORY_IMAGE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_MEMORY_RANGE_BARRIERS_INFO_KHR` = `1000318004`
pub const MemoryRangeBarriersInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_MEMORY_RANGE_BARRIERS_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_MEMORY_RANGE_BARRIER_KHR` = `1000318005`
pub const MemoryRangeBarrierKhr: Self = Self(sys::VK_STRUCTURE_TYPE_MEMORY_RANGE_BARRIER_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_ADDRESS_COMMANDS_FEATURES_KHR` = `1000318006`
pub const PhysicalDeviceDeviceAddressCommandsFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_ADDRESS_COMMANDS_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_BIND_INDEX_BUFFER_3_INFO_KHR` = `1000318007`
pub const BindIndexBuffer3InfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_BIND_INDEX_BUFFER_3_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_BIND_VERTEX_BUFFER_3_INFO_KHR` = `1000318008`
pub const BindVertexBuffer3InfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_BIND_VERTEX_BUFFER_3_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_DRAW_INDIRECT_2_INFO_KHR` = `1000318009`
pub const DrawIndirect2InfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_DRAW_INDIRECT_2_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_DRAW_INDIRECT_COUNT_2_INFO_KHR` = `1000318010`
pub const DrawIndirectCount2InfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_DRAW_INDIRECT_COUNT_2_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_DISPATCH_INDIRECT_2_INFO_KHR` = `1000318011`
pub const DispatchIndirect2InfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_DISPATCH_INDIRECT_2_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_2_EXT` = `1000318012`
pub const ConditionalRenderingBeginInfo2Ext: Self = Self(sys::VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_2_EXT.0);
/// `VK_STRUCTURE_TYPE_BIND_TRANSFORM_FEEDBACK_BUFFER_2_INFO_EXT` = `1000318013`
pub const BindTransformFeedbackBuffer2InfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_BIND_TRANSFORM_FEEDBACK_BUFFER_2_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_MEMORY_MARKER_INFO_AMD` = `1000318014`
pub const MemoryMarkerInfoAmd: Self = Self(sys::VK_STRUCTURE_TYPE_MEMORY_MARKER_INFO_AMD.0);
/// `VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_2_KHR` = `1000318015`
pub const AccelerationStructureCreateInfo2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_2_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT` = `1000320000`
pub const PhysicalDeviceGraphicsPipelineLibraryFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT` = `1000320001`
pub const PhysicalDeviceGraphicsPipelineLibraryPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT` = `1000320002`
pub const GraphicsPipelineLibraryCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD` = `1000321000`
pub const PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAmd: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR` = `1000203000`
pub const PhysicalDeviceFragmentShaderBarycentricFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR` = `1000322000`
pub const PhysicalDeviceFragmentShaderBarycentricPropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR` = `1000323000`
pub const PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES`
pub const PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV` = `1000326000`
pub const PhysicalDeviceFragmentShadingRateEnumsPropertiesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV` = `1000326001`
pub const PhysicalDeviceFragmentShadingRateEnumsFeaturesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV` = `1000326002`
pub const PipelineFragmentShadingRateEnumStateCreateInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV` = `1000327000`
pub const AccelerationStructureGeometryMotionTrianglesDataNv: Self = Self(sys::VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV` = `1000327001`
pub const PhysicalDeviceRayTracingMotionBlurFeaturesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV.0);
/// `VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV` = `1000327002`
pub const AccelerationStructureMotionInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT` = `1000328000`
pub const PhysicalDeviceMeshShaderFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT` = `1000328001`
pub const PhysicalDeviceMeshShaderPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT` = `1000330000`
pub const PhysicalDeviceYcbcr2Plane444FormatsFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT` = `1000332000`
pub const PhysicalDeviceFragmentDensityMap2FeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT` = `1000332001`
pub const PhysicalDeviceFragmentDensityMap2PropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM` = `1000333000`
pub const CopyCommandTransformInfoQcom: Self = Self(sys::VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES`
pub const PhysicalDeviceImageRobustnessFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR` = `1000336000`
pub const PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR` = `VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2`
pub const CopyBufferInfo2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR.0);
/// `VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR` = `VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2`
pub const CopyImageInfo2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR.0);
/// `VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR` = `VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2`
pub const CopyBufferToImageInfo2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR.0);
/// `VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR` = `VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2`
pub const CopyImageToBufferInfo2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR.0);
/// `VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR` = `VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2`
pub const BlitImageInfo2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR.0);
/// `VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR` = `VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2`
pub const ResolveImageInfo2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR.0);
/// `VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR` = `VK_STRUCTURE_TYPE_BUFFER_COPY_2`
pub const BufferCopy2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR.0);
/// `VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR` = `VK_STRUCTURE_TYPE_IMAGE_COPY_2`
pub const ImageCopy2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR.0);
/// `VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR` = `VK_STRUCTURE_TYPE_IMAGE_BLIT_2`
pub const ImageBlit2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR.0);
/// `VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR` = `VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2`
pub const BufferImageCopy2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR.0);
/// `VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR` = `VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2`
pub const ImageResolve2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT` = `1000338000`
pub const PhysicalDeviceImageCompressionControlFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT` = `1000338001`
pub const ImageCompressionControlExt: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT.0);
/// `VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT` = `VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2`
pub const SubresourceLayout2Ext: Self = Self(sys::VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT.0);
/// `VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT` = `VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2`
pub const ImageSubresource2Ext: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT.0);
/// `VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT` = `1000338004`
pub const ImageCompressionPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT` = `1000339000`
pub const PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT` = `1000340000`
pub const PhysicalDevice4444FormatsFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT` = `1000341000`
pub const PhysicalDeviceFaultFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_DEVICE_FAULT_COUNTS_EXT` = `1000341001`
pub const DeviceFaultCountsExt: Self = Self(sys::VK_STRUCTURE_TYPE_DEVICE_FAULT_COUNTS_EXT.0);
/// `VK_STRUCTURE_TYPE_DEVICE_FAULT_INFO_EXT` = `1000341002`
pub const DeviceFaultInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_DEVICE_FAULT_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT`
pub const PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesArm: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT` = `1000344000`
pub const PhysicalDeviceRgba10x6FormatsFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT` = `1000346000`
pub const DirectfbSurfaceCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT`
pub const PhysicalDeviceMutableDescriptorTypeFeaturesValve: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE.0);
/// `VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE` = `VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT`
pub const MutableDescriptorTypeCreateInfoValve: Self = Self(sys::VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT` = `1000352000`
pub const PhysicalDeviceVertexInputDynamicStateFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT` = `1000352001`
pub const VertexInputBindingDescription2Ext: Self = Self(sys::VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT.0);
/// `VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT` = `1000352002`
pub const VertexInputAttributeDescription2Ext: Self = Self(sys::VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT` = `1000353000`
pub const PhysicalDeviceDrmPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT` = `1000354000`
pub const PhysicalDeviceAddressBindingReportFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT` = `1000354001`
pub const DeviceAddressBindingCallbackDataExt: Self = Self(sys::VK_STRUCTURE_TYPE_DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT` = `1000355000`
pub const PhysicalDeviceDepthClipControlFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT` = `1000355001`
pub const PipelineViewportDepthClipControlCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT` = `1000356000`
pub const PhysicalDevicePrimitiveTopologyListRestartFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR` = `VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3`
pub const FormatProperties3Khr: Self = Self(sys::VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_EXT` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_KHR`
pub const PhysicalDevicePresentModeFifoLatestReadyFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA` = `1000364000`
pub const ImportMemoryZirconHandleInfoFuchsia: Self = Self(sys::VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA.0);
/// `VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA` = `1000364001`
pub const MemoryZirconHandlePropertiesFuchsia: Self = Self(sys::VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA.0);
/// `VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA` = `1000364002`
pub const MemoryGetZirconHandleInfoFuchsia: Self = Self(sys::VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA.0);
/// `VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA` = `1000365000`
pub const ImportSemaphoreZirconHandleInfoFuchsia: Self = Self(sys::VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA.0);
/// `VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA` = `1000365001`
pub const SemaphoreGetZirconHandleInfoFuchsia: Self = Self(sys::VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA.0);
/// `VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA` = `1000366000`
pub const BufferCollectionCreateInfoFuchsia: Self = Self(sys::VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA.0);
/// `VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA` = `1000366001`
pub const ImportMemoryBufferCollectionFuchsia: Self = Self(sys::VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA.0);
/// `VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA` = `1000366002`
pub const BufferCollectionImageCreateInfoFuchsia: Self = Self(sys::VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA.0);
/// `VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA` = `1000366003`
pub const BufferCollectionPropertiesFuchsia: Self = Self(sys::VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA.0);
/// `VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA` = `1000366004`
pub const BufferConstraintsInfoFuchsia: Self = Self(sys::VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA.0);
/// `VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA` = `1000366005`
pub const BufferCollectionBufferCreateInfoFuchsia: Self = Self(sys::VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA.0);
/// `VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA` = `1000366006`
pub const ImageConstraintsInfoFuchsia: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA.0);
/// `VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA` = `1000366007`
pub const ImageFormatConstraintsInfoFuchsia: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA.0);
/// `VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA` = `1000366008`
pub const SysmemColorSpaceFuchsia: Self = Self(sys::VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA.0);
/// `VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA` = `1000366009`
pub const BufferCollectionConstraintsInfoFuchsia: Self = Self(sys::VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA.0);
/// `VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI` = `1000369000`
pub const SubpassShadingPipelineCreateInfoHuawei: Self = Self(sys::VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI` = `1000369001`
pub const PhysicalDeviceSubpassShadingFeaturesHuawei: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI` = `1000369002`
pub const PhysicalDeviceSubpassShadingPropertiesHuawei: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI` = `1000370000`
pub const PhysicalDeviceInvocationMaskFeaturesHuawei: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI.0);
/// `VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV` = `1000371000`
pub const MemoryGetRemoteAddressInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV` = `1000371001`
pub const PhysicalDeviceExternalMemoryRdmaFeaturesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_PROPERTIES_IDENTIFIER_EXT` = `1000372000`
pub const PipelinePropertiesIdentifierExt: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_PROPERTIES_IDENTIFIER_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT` = `1000372001`
pub const PhysicalDevicePipelinePropertiesFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_INFO_EXT` = `VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR`
pub const PipelineInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_IMPORT_FENCE_SCI_SYNC_INFO_NV` = `1000373000`
pub const ImportFenceSciSyncInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_IMPORT_FENCE_SCI_SYNC_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_EXPORT_FENCE_SCI_SYNC_INFO_NV` = `1000373001`
pub const ExportFenceSciSyncInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_EXPORT_FENCE_SCI_SYNC_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_FENCE_GET_SCI_SYNC_INFO_NV` = `1000373002`
pub const FenceGetSciSyncInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_FENCE_GET_SCI_SYNC_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_SCI_SYNC_ATTRIBUTES_INFO_NV` = `1000373003`
pub const SciSyncAttributesInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_SCI_SYNC_ATTRIBUTES_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_SCI_SYNC_INFO_NV` = `1000373004`
pub const ImportSemaphoreSciSyncInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_SCI_SYNC_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_SCI_SYNC_INFO_NV` = `1000373005`
pub const ExportSemaphoreSciSyncInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_SCI_SYNC_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_SEMAPHORE_GET_SCI_SYNC_INFO_NV` = `1000373006`
pub const SemaphoreGetSciSyncInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_SEMAPHORE_GET_SCI_SYNC_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_FEATURES_NV` = `1000373007`
pub const PhysicalDeviceExternalSciSyncFeaturesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_FEATURES_NV.0);
/// `VK_STRUCTURE_TYPE_IMPORT_MEMORY_SCI_BUF_INFO_NV` = `1000374000`
pub const ImportMemorySciBufInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_IMPORT_MEMORY_SCI_BUF_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_EXPORT_MEMORY_SCI_BUF_INFO_NV` = `1000374001`
pub const ExportMemorySciBufInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_EXPORT_MEMORY_SCI_BUF_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_MEMORY_GET_SCI_BUF_INFO_NV` = `1000374002`
pub const MemoryGetSciBufInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_MEMORY_GET_SCI_BUF_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_MEMORY_SCI_BUF_PROPERTIES_NV` = `1000374003`
pub const MemorySciBufPropertiesNv: Self = Self(sys::VK_STRUCTURE_TYPE_MEMORY_SCI_BUF_PROPERTIES_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCI_BUF_FEATURES_NV` = `1000374004`
pub const PhysicalDeviceExternalMemorySciBufFeaturesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCI_BUF_FEATURES_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SCI_BUF_FEATURES_NV` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCI_BUF_FEATURES_NV`
pub const PhysicalDeviceExternalSciBufFeaturesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SCI_BUF_FEATURES_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAME_BOUNDARY_FEATURES_EXT` = `1000375000`
pub const PhysicalDeviceFrameBoundaryFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAME_BOUNDARY_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_FRAME_BOUNDARY_EXT` = `1000375001`
pub const FrameBoundaryExt: Self = Self(sys::VK_STRUCTURE_TYPE_FRAME_BOUNDARY_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT` = `1000376000`
pub const PhysicalDeviceMultisampledRenderToSingleSampledFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT` = `1000376001`
pub const SubpassResolvePerformanceQueryExt: Self = Self(sys::VK_STRUCTURE_TYPE_SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT.0);
/// `VK_STRUCTURE_TYPE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT` = `1000376002`
pub const MultisampledRenderToSingleSampledInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT` = `1000377000`
///
/// Not promoted to 1.3
pub const PhysicalDeviceExtendedDynamicState2FeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX` = `1000378000`
pub const ScreenSurfaceCreateInfoQnx: Self = Self(sys::VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT` = `1000381000`
pub const PhysicalDeviceColorWriteEnableFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT` = `1000381001`
pub const PipelineColorWriteCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT` = `1000382000`
pub const PhysicalDevicePrimitivesGeneratedQueryFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR` = `1000386000`
pub const PhysicalDeviceRayTracingMaintenance1FeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_UNTYPED_POINTERS_FEATURES_KHR` = `1000387000`
pub const PhysicalDeviceShaderUntypedPointersFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_UNTYPED_POINTERS_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES`
pub const PhysicalDeviceGlobalPriorityQueryFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT` = `VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES`
pub const QueueFamilyGlobalPriorityPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_RGB_CONVERSION_FEATURES_VALVE` = `1000390000`
pub const PhysicalDeviceVideoEncodeRgbConversionFeaturesValve: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_RGB_CONVERSION_FEATURES_VALVE.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_RGB_CONVERSION_CAPABILITIES_VALVE` = `1000390001`
pub const VideoEncodeRgbConversionCapabilitiesValve: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_RGB_CONVERSION_CAPABILITIES_VALVE.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_PROFILE_RGB_CONVERSION_INFO_VALVE` = `1000390002`
pub const VideoEncodeProfileRgbConversionInfoValve: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_PROFILE_RGB_CONVERSION_INFO_VALVE.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_RGB_CONVERSION_CREATE_INFO_VALVE` = `1000390003`
pub const VideoEncodeSessionRgbConversionCreateInfoValve: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_RGB_CONVERSION_CREATE_INFO_VALVE.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT` = `1000391000`
pub const PhysicalDeviceImageViewMinLodFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT` = `1000391001`
pub const ImageViewMinLodCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT` = `1000392000`
pub const PhysicalDeviceMultiDrawFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT` = `1000392001`
pub const PhysicalDeviceMultiDrawPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT` = `1000393000`
pub const PhysicalDeviceImage2dViewOf3dFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_FEATURES_EXT` = `1000395000`
pub const PhysicalDeviceShaderTileImageFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_PROPERTIES_EXT` = `1000395001`
pub const PhysicalDeviceShaderTileImagePropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_MICROMAP_BUILD_INFO_EXT` = `1000396000`
pub const MicromapBuildInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_MICROMAP_BUILD_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_MICROMAP_VERSION_INFO_EXT` = `1000396001`
pub const MicromapVersionInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_MICROMAP_VERSION_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_COPY_MICROMAP_INFO_EXT` = `1000396002`
pub const CopyMicromapInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_COPY_MICROMAP_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_COPY_MICROMAP_TO_MEMORY_INFO_EXT` = `1000396003`
pub const CopyMicromapToMemoryInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_COPY_MICROMAP_TO_MEMORY_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_COPY_MEMORY_TO_MICROMAP_INFO_EXT` = `1000396004`
pub const CopyMemoryToMicromapInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_COPY_MEMORY_TO_MICROMAP_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT` = `1000396005`
pub const PhysicalDeviceOpacityMicromapFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT` = `1000396006`
pub const PhysicalDeviceOpacityMicromapPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_MICROMAP_CREATE_INFO_EXT` = `1000396007`
pub const MicromapCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_MICROMAP_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_MICROMAP_BUILD_SIZES_INFO_EXT` = `1000396008`
pub const MicromapBuildSizesInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_MICROMAP_BUILD_SIZES_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT` = `1000396009`
pub const AccelerationStructureTrianglesOpacityMicromapExt: Self = Self(sys::VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV` = `1000397000`
pub const PhysicalDeviceDisplacementMicromapFeaturesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV` = `1000397001`
pub const PhysicalDeviceDisplacementMicromapPropertiesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV.0);
/// `VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV` = `1000397002`
pub const AccelerationStructureTrianglesDisplacementMicromapNv: Self = Self(sys::VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI` = `1000404000`
pub const PhysicalDeviceClusterCullingShaderFeaturesHuawei: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI` = `1000404001`
pub const PhysicalDeviceClusterCullingShaderPropertiesHuawei: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_VRS_FEATURES_HUAWEI` = `1000404002`
pub const PhysicalDeviceClusterCullingShaderVrsFeaturesHuawei: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_VRS_FEATURES_HUAWEI.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT` = `1000411000`
pub const PhysicalDeviceBorderColorSwizzleFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT` = `1000411001`
pub const SamplerBorderColorComponentMappingCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT` = `1000412000`
pub const PhysicalDevicePageableDeviceLocalMemoryFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES`
pub const PhysicalDeviceMaintenance4FeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES`
pub const PhysicalDeviceMaintenance4PropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR` = `VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS`
pub const DeviceBufferMemoryRequirementsKhr: Self = Self(sys::VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR.0);
/// `VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR` = `VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS`
pub const DeviceImageMemoryRequirementsKhr: Self = Self(sys::VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM` = `1000415000`
pub const PhysicalDeviceShaderCorePropertiesArm: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES`
pub const PhysicalDeviceShaderSubgroupRotateFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM` = `1000417000`
pub const DeviceQueueShaderCoreControlCreateInfoArm: Self = Self(sys::VK_STRUCTURE_TYPE_DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_FEATURES_ARM` = `1000417001`
pub const PhysicalDeviceSchedulingControlsFeaturesArm: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_FEATURES_ARM.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM` = `1000417002`
pub const PhysicalDeviceSchedulingControlsPropertiesArm: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT` = `1000418000`
pub const PhysicalDeviceImageSlicedViewOf3dFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_IMAGE_VIEW_SLICED_CREATE_INFO_EXT` = `1000418001`
pub const ImageViewSlicedCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_VIEW_SLICED_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE` = `1000420000`
pub const PhysicalDeviceDescriptorSetHostMappingFeaturesValve: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE.0);
/// `VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE` = `1000420001`
pub const DescriptorSetBindingReferenceValve: Self = Self(sys::VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE.0);
/// `VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE` = `1000420002`
pub const DescriptorSetLayoutHostMappingInfoValve: Self = Self(sys::VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_KHR`
pub const PhysicalDeviceDepthClampZeroOneFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT` = `1000422000`
pub const PhysicalDeviceNonSeamlessCubeMapFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_FEATURES_ARM` = `1000424000`
pub const PhysicalDeviceRenderPassStripedFeaturesArm: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_FEATURES_ARM.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_PROPERTIES_ARM` = `1000424001`
pub const PhysicalDeviceRenderPassStripedPropertiesArm: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_PROPERTIES_ARM.0);
/// `VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_BEGIN_INFO_ARM` = `1000424002`
pub const RenderPassStripeBeginInfoArm: Self = Self(sys::VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_BEGIN_INFO_ARM.0);
/// `VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_INFO_ARM` = `1000424003`
pub const RenderPassStripeInfoArm: Self = Self(sys::VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_INFO_ARM.0);
/// `VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_SUBMIT_INFO_ARM` = `1000424004`
pub const RenderPassStripeSubmitInfoArm: Self = Self(sys::VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_SUBMIT_INFO_ARM.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_EXT`
pub const PhysicalDeviceFragmentDensityMapOffsetFeaturesQcom: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_EXT`
pub const PhysicalDeviceFragmentDensityMapOffsetPropertiesQcom: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM.0);
/// `VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM` = `VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_EXT`
pub const SubpassFragmentDensityMapOffsetEndInfoQcom: Self = Self(sys::VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV` = `1000426000`
pub const PhysicalDeviceCopyMemoryIndirectFeaturesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_KHR`
pub const PhysicalDeviceCopyMemoryIndirectPropertiesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_EXT`
pub const PhysicalDeviceMemoryDecompressionFeaturesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_EXT`
pub const PhysicalDeviceMemoryDecompressionPropertiesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV` = `1000428000`
pub const PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV.0);
/// `VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV` = `1000428001`
pub const ComputePipelineIndirectBufferInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_INDIRECT_DEVICE_ADDRESS_INFO_NV` = `1000428002`
pub const PipelineIndirectDeviceAddressInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_INDIRECT_DEVICE_ADDRESS_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_LINEAR_SWEPT_SPHERES_FEATURES_NV` = `1000429008`
pub const PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_LINEAR_SWEPT_SPHERES_FEATURES_NV.0);
/// `VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_LINEAR_SWEPT_SPHERES_DATA_NV` = `1000429009`
pub const AccelerationStructureGeometryLinearSweptSpheresDataNv: Self = Self(sys::VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_LINEAR_SWEPT_SPHERES_DATA_NV.0);
/// `VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_SPHERES_DATA_NV` = `1000429010`
pub const AccelerationStructureGeometrySpheresDataNv: Self = Self(sys::VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_SPHERES_DATA_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV` = `1000430000`
pub const PhysicalDeviceLinearColorAttachmentFeaturesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR` = `1000434000`
pub const PhysicalDeviceShaderMaximalReconvergenceFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_APPLICATION_PARAMETERS_EXT` = `1000435000`
pub const ApplicationParametersExt: Self = Self(sys::VK_STRUCTURE_TYPE_APPLICATION_PARAMETERS_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT` = `1000437000`
pub const PhysicalDeviceImageCompressionControlSwapchainFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM` = `1000440000`
pub const PhysicalDeviceImageProcessingFeaturesQcom: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM` = `1000440001`
pub const PhysicalDeviceImageProcessingPropertiesQcom: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM.0);
/// `VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM` = `1000440002`
pub const ImageViewSampleWeightCreateInfoQcom: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_FEATURES_EXT` = `1000451000`
pub const PhysicalDeviceNestedCommandBufferFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_PROPERTIES_EXT` = `1000451001`
pub const PhysicalDeviceNestedCommandBufferPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_NATIVE_BUFFER_USAGE_OHOS` = `1000452000`
pub const NativeBufferUsageOhos: Self = Self(sys::VK_STRUCTURE_TYPE_NATIVE_BUFFER_USAGE_OHOS.0);
/// `VK_STRUCTURE_TYPE_NATIVE_BUFFER_PROPERTIES_OHOS` = `1000452001`
pub const NativeBufferPropertiesOhos: Self = Self(sys::VK_STRUCTURE_TYPE_NATIVE_BUFFER_PROPERTIES_OHOS.0);
/// `VK_STRUCTURE_TYPE_NATIVE_BUFFER_FORMAT_PROPERTIES_OHOS` = `1000452002`
pub const NativeBufferFormatPropertiesOhos: Self = Self(sys::VK_STRUCTURE_TYPE_NATIVE_BUFFER_FORMAT_PROPERTIES_OHOS.0);
/// `VK_STRUCTURE_TYPE_IMPORT_NATIVE_BUFFER_INFO_OHOS` = `1000452003`
pub const ImportNativeBufferInfoOhos: Self = Self(sys::VK_STRUCTURE_TYPE_IMPORT_NATIVE_BUFFER_INFO_OHOS.0);
/// `VK_STRUCTURE_TYPE_MEMORY_GET_NATIVE_BUFFER_INFO_OHOS` = `1000452004`
pub const MemoryGetNativeBufferInfoOhos: Self = Self(sys::VK_STRUCTURE_TYPE_MEMORY_GET_NATIVE_BUFFER_INFO_OHOS.0);
/// `VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_OHOS` = `1000452005`
pub const ExternalFormatOhos: Self = Self(sys::VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_OHOS.0);
/// `VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXT` = `1000453000`
pub const ExternalMemoryAcquireUnmodifiedExt: Self = Self(sys::VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT` = `1000455000`
pub const PhysicalDeviceExtendedDynamicState3FeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT` = `1000455001`
pub const PhysicalDeviceExtendedDynamicState3PropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT` = `1000458000`
pub const PhysicalDeviceSubpassMergeFeedbackFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT` = `1000458001`
pub const RenderPassCreationControlExt: Self = Self(sys::VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT.0);
/// `VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT` = `1000458002`
pub const RenderPassCreationFeedbackCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT` = `1000458003`
pub const RenderPassSubpassFeedbackCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_INFO_LUNARG` = `1000459000`
pub const DirectDriverLoadingInfoLunarg: Self = Self(sys::VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_INFO_LUNARG.0);
/// `VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG` = `1000459001`
pub const DirectDriverLoadingListLunarg: Self = Self(sys::VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG.0);
/// `VK_STRUCTURE_TYPE_TENSOR_CREATE_INFO_ARM` = `1000460000`
pub const TensorCreateInfoArm: Self = Self(sys::VK_STRUCTURE_TYPE_TENSOR_CREATE_INFO_ARM.0);
/// `VK_STRUCTURE_TYPE_TENSOR_VIEW_CREATE_INFO_ARM` = `1000460001`
pub const TensorViewCreateInfoArm: Self = Self(sys::VK_STRUCTURE_TYPE_TENSOR_VIEW_CREATE_INFO_ARM.0);
/// `VK_STRUCTURE_TYPE_BIND_TENSOR_MEMORY_INFO_ARM` = `1000460002`
pub const BindTensorMemoryInfoArm: Self = Self(sys::VK_STRUCTURE_TYPE_BIND_TENSOR_MEMORY_INFO_ARM.0);
/// `VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_TENSOR_ARM` = `1000460003`
pub const WriteDescriptorSetTensorArm: Self = Self(sys::VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_TENSOR_ARM.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TENSOR_PROPERTIES_ARM` = `1000460004`
pub const PhysicalDeviceTensorPropertiesArm: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TENSOR_PROPERTIES_ARM.0);
/// `VK_STRUCTURE_TYPE_TENSOR_FORMAT_PROPERTIES_ARM` = `1000460005`
pub const TensorFormatPropertiesArm: Self = Self(sys::VK_STRUCTURE_TYPE_TENSOR_FORMAT_PROPERTIES_ARM.0);
/// `VK_STRUCTURE_TYPE_TENSOR_DESCRIPTION_ARM` = `1000460006`
pub const TensorDescriptionArm: Self = Self(sys::VK_STRUCTURE_TYPE_TENSOR_DESCRIPTION_ARM.0);
/// `VK_STRUCTURE_TYPE_TENSOR_MEMORY_REQUIREMENTS_INFO_ARM` = `1000460007`
pub const TensorMemoryRequirementsInfoArm: Self = Self(sys::VK_STRUCTURE_TYPE_TENSOR_MEMORY_REQUIREMENTS_INFO_ARM.0);
/// `VK_STRUCTURE_TYPE_TENSOR_MEMORY_BARRIER_ARM` = `1000460008`
pub const TensorMemoryBarrierArm: Self = Self(sys::VK_STRUCTURE_TYPE_TENSOR_MEMORY_BARRIER_ARM.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TENSOR_FEATURES_ARM` = `1000460009`
pub const PhysicalDeviceTensorFeaturesArm: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TENSOR_FEATURES_ARM.0);
/// `VK_STRUCTURE_TYPE_DEVICE_TENSOR_MEMORY_REQUIREMENTS_ARM` = `1000460010`
pub const DeviceTensorMemoryRequirementsArm: Self = Self(sys::VK_STRUCTURE_TYPE_DEVICE_TENSOR_MEMORY_REQUIREMENTS_ARM.0);
/// `VK_STRUCTURE_TYPE_COPY_TENSOR_INFO_ARM` = `1000460011`
pub const CopyTensorInfoArm: Self = Self(sys::VK_STRUCTURE_TYPE_COPY_TENSOR_INFO_ARM.0);
/// `VK_STRUCTURE_TYPE_TENSOR_COPY_ARM` = `1000460012`
pub const TensorCopyArm: Self = Self(sys::VK_STRUCTURE_TYPE_TENSOR_COPY_ARM.0);
/// `VK_STRUCTURE_TYPE_TENSOR_DEPENDENCY_INFO_ARM` = `1000460013`
pub const TensorDependencyInfoArm: Self = Self(sys::VK_STRUCTURE_TYPE_TENSOR_DEPENDENCY_INFO_ARM.0);
/// `VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_TENSOR_ARM` = `1000460014`
pub const MemoryDedicatedAllocateInfoTensorArm: Self = Self(sys::VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_TENSOR_ARM.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_TENSOR_INFO_ARM` = `1000460015`
pub const PhysicalDeviceExternalTensorInfoArm: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_TENSOR_INFO_ARM.0);
/// `VK_STRUCTURE_TYPE_EXTERNAL_TENSOR_PROPERTIES_ARM` = `1000460016`
pub const ExternalTensorPropertiesArm: Self = Self(sys::VK_STRUCTURE_TYPE_EXTERNAL_TENSOR_PROPERTIES_ARM.0);
/// `VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_TENSOR_CREATE_INFO_ARM` = `1000460017`
pub const ExternalMemoryTensorCreateInfoArm: Self = Self(sys::VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_TENSOR_CREATE_INFO_ARM.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_TENSOR_FEATURES_ARM` = `1000460018`
pub const PhysicalDeviceDescriptorBufferTensorFeaturesArm: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_TENSOR_FEATURES_ARM.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_TENSOR_PROPERTIES_ARM` = `1000460019`
pub const PhysicalDeviceDescriptorBufferTensorPropertiesArm: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_TENSOR_PROPERTIES_ARM.0);
/// `VK_STRUCTURE_TYPE_DESCRIPTOR_GET_TENSOR_INFO_ARM` = `1000460020`
pub const DescriptorGetTensorInfoArm: Self = Self(sys::VK_STRUCTURE_TYPE_DESCRIPTOR_GET_TENSOR_INFO_ARM.0);
/// `VK_STRUCTURE_TYPE_TENSOR_CAPTURE_DESCRIPTOR_DATA_INFO_ARM` = `1000460021`
pub const TensorCaptureDescriptorDataInfoArm: Self = Self(sys::VK_STRUCTURE_TYPE_TENSOR_CAPTURE_DESCRIPTOR_DATA_INFO_ARM.0);
/// `VK_STRUCTURE_TYPE_TENSOR_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_ARM` = `1000460022`
pub const TensorViewCaptureDescriptorDataInfoArm: Self = Self(sys::VK_STRUCTURE_TYPE_TENSOR_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_ARM.0);
/// `VK_STRUCTURE_TYPE_FRAME_BOUNDARY_TENSORS_ARM` = `1000460023`
pub const FrameBoundaryTensorsArm: Self = Self(sys::VK_STRUCTURE_TYPE_FRAME_BOUNDARY_TENSORS_ARM.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT` = `1000462000`
pub const PhysicalDeviceShaderModuleIdentifierFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT` = `1000462001`
pub const PhysicalDeviceShaderModuleIdentifierPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT` = `1000462002`
pub const PipelineShaderStageModuleIdentifierCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_SHADER_MODULE_IDENTIFIER_EXT` = `1000462003`
pub const ShaderModuleIdentifierExt: Self = Self(sys::VK_STRUCTURE_TYPE_SHADER_MODULE_IDENTIFIER_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT` = `1000342000`
pub const PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV` = `1000464000`
pub const PhysicalDeviceOpticalFlowFeaturesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV` = `1000464001`
pub const PhysicalDeviceOpticalFlowPropertiesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV.0);
/// `VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV` = `1000464002`
pub const OpticalFlowImageFormatInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NV` = `1000464003`
pub const OpticalFlowImageFormatPropertiesNv: Self = Self(sys::VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NV.0);
/// `VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_INFO_NV` = `1000464004`
pub const OpticalFlowSessionCreateInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_OPTICAL_FLOW_EXECUTE_INFO_NV` = `1000464005`
pub const OpticalFlowExecuteInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_OPTICAL_FLOW_EXECUTE_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV` = `1000464010`
pub const OpticalFlowSessionCreatePrivateDataInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT` = `1000465000`
pub const PhysicalDeviceLegacyDitheringFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES`
pub const PhysicalDevicePipelineProtectedAccessFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_FEATURES_ANDROID` = `1000468000`
pub const PhysicalDeviceExternalFormatResolveFeaturesAndroid: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_FEATURES_ANDROID.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_PROPERTIES_ANDROID` = `1000468001`
pub const PhysicalDeviceExternalFormatResolvePropertiesAndroid: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_PROPERTIES_ANDROID.0);
/// `VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_RESOLVE_PROPERTIES_ANDROID` = `1000468002`
pub const AndroidHardwareBufferFormatResolvePropertiesAndroid: Self = Self(sys::VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_RESOLVE_PROPERTIES_ANDROID.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES`
pub const PhysicalDeviceMaintenance5FeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES`
pub const PhysicalDeviceMaintenance5PropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_RENDERING_AREA_INFO_KHR` = `VK_STRUCTURE_TYPE_RENDERING_AREA_INFO`
pub const RenderingAreaInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_RENDERING_AREA_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO_KHR` = `VK_STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO`
pub const DeviceImageSubresourceInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_KHR` = `VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2`
pub const SubresourceLayout2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_KHR.0);
/// `VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_KHR` = `VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2`
pub const ImageSubresource2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_KHR.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR` = `VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO`
pub const PipelineCreateFlags2CreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR` = `VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO`
pub const BufferUsageFlags2CreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ANTI_LAG_FEATURES_AMD` = `1000476000`
pub const PhysicalDeviceAntiLagFeaturesAmd: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ANTI_LAG_FEATURES_AMD.0);
/// `VK_STRUCTURE_TYPE_ANTI_LAG_DATA_AMD` = `1000476001`
pub const AntiLagDataAmd: Self = Self(sys::VK_STRUCTURE_TYPE_ANTI_LAG_DATA_AMD.0);
/// `VK_STRUCTURE_TYPE_ANTI_LAG_PRESENTATION_INFO_AMD` = `1000476002`
pub const AntiLagPresentationInfoAmd: Self = Self(sys::VK_STRUCTURE_TYPE_ANTI_LAG_PRESENTATION_INFO_AMD.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DENSE_GEOMETRY_FORMAT_FEATURES_AMDX` = `1000478000`
pub const PhysicalDeviceDenseGeometryFormatFeaturesAmdx: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DENSE_GEOMETRY_FORMAT_FEATURES_AMDX.0);
/// `VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DENSE_GEOMETRY_FORMAT_TRIANGLES_DATA_AMDX` = `1000478001`
pub const AccelerationStructureDenseGeometryFormatTrianglesDataAmdx: Self = Self(sys::VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DENSE_GEOMETRY_FORMAT_TRIANGLES_DATA_AMDX.0);
/// `VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_ID_2_KHR` = `1000479000`
pub const SurfaceCapabilitiesPresentId2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_ID_2_KHR.0);
/// `VK_STRUCTURE_TYPE_PRESENT_ID_2_KHR` = `1000479001`
pub const PresentId2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_PRESENT_ID_2_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_2_FEATURES_KHR` = `1000479002`
pub const PhysicalDevicePresentId2FeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_2_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_WAIT_2_KHR` = `1000480000`
pub const SurfaceCapabilitiesPresentWait2Khr: Self = Self(sys::VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_WAIT_2_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_2_FEATURES_KHR` = `1000480001`
pub const PhysicalDevicePresentWait2FeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_2_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PRESENT_WAIT_2_INFO_KHR` = `1000480002`
pub const PresentWait2InfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PRESENT_WAIT_2_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR` = `1000481000`
pub const PhysicalDeviceRayTracingPositionFetchFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT` = `1000482000`
pub const PhysicalDeviceShaderObjectFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_PROPERTIES_EXT` = `1000482001`
pub const PhysicalDeviceShaderObjectPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_SHADER_CREATE_INFO_EXT` = `1000482002`
pub const ShaderCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_SHADER_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_SHADER_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT` = `VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO`
pub const ShaderRequiredSubgroupSizeCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_SHADER_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_BINARY_FEATURES_KHR` = `1000483000`
pub const PhysicalDevicePipelineBinaryFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_BINARY_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_BINARY_CREATE_INFO_KHR` = `1000483001`
pub const PipelineBinaryCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_BINARY_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_BINARY_INFO_KHR` = `1000483002`
pub const PipelineBinaryInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_BINARY_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_BINARY_KEY_KHR` = `1000483003`
pub const PipelineBinaryKeyKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_BINARY_KEY_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_BINARY_PROPERTIES_KHR` = `1000483004`
pub const PhysicalDevicePipelineBinaryPropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_BINARY_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_RELEASE_CAPTURED_PIPELINE_DATA_INFO_KHR` = `1000483005`
pub const ReleaseCapturedPipelineDataInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_RELEASE_CAPTURED_PIPELINE_DATA_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_BINARY_DATA_INFO_KHR` = `1000483006`
pub const PipelineBinaryDataInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_BINARY_DATA_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_CREATE_INFO_KHR` = `1000483007`
pub const PipelineCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_DEVICE_PIPELINE_BINARY_INTERNAL_CACHE_CONTROL_KHR` = `1000483008`
pub const DevicePipelineBinaryInternalCacheControlKhr: Self = Self(sys::VK_STRUCTURE_TYPE_DEVICE_PIPELINE_BINARY_INTERNAL_CACHE_CONTROL_KHR.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_BINARY_HANDLES_INFO_KHR` = `1000483009`
pub const PipelineBinaryHandlesInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_BINARY_HANDLES_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM` = `1000484000`
pub const PhysicalDeviceTilePropertiesFeaturesQcom: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM.0);
/// `VK_STRUCTURE_TYPE_TILE_PROPERTIES_QCOM` = `1000484001`
pub const TilePropertiesQcom: Self = Self(sys::VK_STRUCTURE_TYPE_TILE_PROPERTIES_QCOM.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC` = `1000485000`
pub const PhysicalDeviceAmigoProfilingFeaturesSec: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC.0);
/// `VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC` = `1000485001`
pub const AmigoProfilingSubmitInfoSec: Self = Self(sys::VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC.0);
/// `VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_KHR` = `1000274000`
pub const SurfacePresentModeKhr: Self = Self(sys::VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_KHR.0);
/// `VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_KHR` = `1000274001`
pub const SurfacePresentScalingCapabilitiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_KHR.0);
/// `VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_KHR` = `1000274002`
pub const SurfacePresentModeCompatibilityKhr: Self = Self(sys::VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_KHR` = `1000275000`
pub const PhysicalDeviceSwapchainMaintenance1FeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_KHR` = `1000275001`
pub const SwapchainPresentFenceInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_KHR` = `1000275002`
pub const SwapchainPresentModesCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_KHR` = `1000275003`
pub const SwapchainPresentModeInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_KHR` = `1000275004`
pub const SwapchainPresentScalingCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_KHR` = `1000275005`
pub const ReleaseSwapchainImagesInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM` = `1000488000`
pub const PhysicalDeviceMultiviewPerViewViewportsFeaturesQcom: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM.0);
/// `VK_STRUCTURE_TYPE_SEMAPHORE_SCI_SYNC_POOL_CREATE_INFO_NV` = `1000489000`
pub const SemaphoreSciSyncPoolCreateInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_SEMAPHORE_SCI_SYNC_POOL_CREATE_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_SEMAPHORE_SCI_SYNC_CREATE_INFO_NV` = `1000489001`
pub const SemaphoreSciSyncCreateInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_SEMAPHORE_SCI_SYNC_CREATE_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_2_FEATURES_NV` = `1000489002`
pub const PhysicalDeviceExternalSciSync2FeaturesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_2_FEATURES_NV.0);
/// `VK_STRUCTURE_TYPE_DEVICE_SEMAPHORE_SCI_SYNC_POOL_RESERVATION_CREATE_INFO_NV` = `1000489003`
pub const DeviceSemaphoreSciSyncPoolReservationCreateInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_DEVICE_SEMAPHORE_SCI_SYNC_POOL_RESERVATION_CREATE_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV` = `1000490000`
pub const PhysicalDeviceRayTracingInvocationReorderFeaturesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV` = `1000490001`
pub const PhysicalDeviceRayTracingInvocationReorderPropertiesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_FEATURES_NV` = `1000491000`
pub const PhysicalDeviceCooperativeVectorFeaturesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_FEATURES_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_PROPERTIES_NV` = `1000491001`
pub const PhysicalDeviceCooperativeVectorPropertiesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_PROPERTIES_NV.0);
/// `VK_STRUCTURE_TYPE_COOPERATIVE_VECTOR_PROPERTIES_NV` = `1000491002`
pub const CooperativeVectorPropertiesNv: Self = Self(sys::VK_STRUCTURE_TYPE_COOPERATIVE_VECTOR_PROPERTIES_NV.0);
/// `VK_STRUCTURE_TYPE_CONVERT_COOPERATIVE_VECTOR_MATRIX_INFO_NV` = `1000491004`
pub const ConvertCooperativeVectorMatrixInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_CONVERT_COOPERATIVE_VECTOR_MATRIX_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_FEATURES_NV` = `1000492000`
pub const PhysicalDeviceExtendedSparseAddressSpaceFeaturesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_FEATURES_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_PROPERTIES_NV` = `1000492001`
pub const PhysicalDeviceExtendedSparseAddressSpacePropertiesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_PROPERTIES_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT` = `1000351000`
pub const PhysicalDeviceMutableDescriptorTypeFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT` = `1000351002`
pub const MutableDescriptorTypeCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_FEATURES_EXT` = `1000495000`
pub const PhysicalDeviceLegacyVertexAttributesFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_PROPERTIES_EXT` = `1000495001`
pub const PhysicalDeviceLegacyVertexAttributesPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_LAYER_SETTINGS_CREATE_INFO_EXT` = `1000496000`
pub const LayerSettingsCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_LAYER_SETTINGS_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM` = `1000497000`
pub const PhysicalDeviceShaderCoreBuiltinsFeaturesArm: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM` = `1000497001`
pub const PhysicalDeviceShaderCoreBuiltinsPropertiesArm: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT` = `1000498000`
pub const PhysicalDevicePipelineLibraryGroupHandlesFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT` = `1000499000`
pub const PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INTERNALLY_SYNCHRONIZED_QUEUES_FEATURES_KHR` = `1000504000`
pub const PhysicalDeviceInternallySynchronizedQueuesFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INTERNALLY_SYNCHRONIZED_QUEUES_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_LATENCY_SLEEP_MODE_INFO_NV` = `1000505000`
pub const LatencySleepModeInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_LATENCY_SLEEP_MODE_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_LATENCY_SLEEP_INFO_NV` = `1000505001`
pub const LatencySleepInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_LATENCY_SLEEP_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_SET_LATENCY_MARKER_INFO_NV` = `1000505002`
pub const SetLatencyMarkerInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_SET_LATENCY_MARKER_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_GET_LATENCY_MARKER_INFO_NV` = `1000505003`
pub const GetLatencyMarkerInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_GET_LATENCY_MARKER_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_LATENCY_TIMINGS_FRAME_REPORT_NV` = `1000505004`
pub const LatencyTimingsFrameReportNv: Self = Self(sys::VK_STRUCTURE_TYPE_LATENCY_TIMINGS_FRAME_REPORT_NV.0);
/// `VK_STRUCTURE_TYPE_LATENCY_SUBMISSION_PRESENT_ID_NV` = `1000505005`
pub const LatencySubmissionPresentIdNv: Self = Self(sys::VK_STRUCTURE_TYPE_LATENCY_SUBMISSION_PRESENT_ID_NV.0);
/// `VK_STRUCTURE_TYPE_OUT_OF_BAND_QUEUE_TYPE_INFO_NV` = `1000505006`
pub const OutOfBandQueueTypeInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_OUT_OF_BAND_QUEUE_TYPE_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_SWAPCHAIN_LATENCY_CREATE_INFO_NV` = `1000505007`
pub const SwapchainLatencyCreateInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_SWAPCHAIN_LATENCY_CREATE_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_LATENCY_SURFACE_CAPABILITIES_NV` = `1000505008`
pub const LatencySurfaceCapabilitiesNv: Self = Self(sys::VK_STRUCTURE_TYPE_LATENCY_SURFACE_CAPABILITIES_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR` = `1000506000`
pub const PhysicalDeviceCooperativeMatrixFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_KHR` = `1000506001`
pub const CooperativeMatrixPropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR` = `1000506002`
pub const PhysicalDeviceCooperativeMatrixPropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_CREATE_INFO_ARM` = `1000507000`
pub const DataGraphPipelineCreateInfoArm: Self = Self(sys::VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_CREATE_INFO_ARM.0);
/// `VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_CREATE_INFO_ARM` = `1000507001`
pub const DataGraphPipelineSessionCreateInfoArm: Self = Self(sys::VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_CREATE_INFO_ARM.0);
/// `VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_RESOURCE_INFO_ARM` = `1000507002`
pub const DataGraphPipelineResourceInfoArm: Self = Self(sys::VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_RESOURCE_INFO_ARM.0);
/// `VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_CONSTANT_ARM` = `1000507003`
pub const DataGraphPipelineConstantArm: Self = Self(sys::VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_CONSTANT_ARM.0);
/// `VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_MEMORY_REQUIREMENTS_INFO_ARM` = `1000507004`
pub const DataGraphPipelineSessionMemoryRequirementsInfoArm: Self = Self(sys::VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_MEMORY_REQUIREMENTS_INFO_ARM.0);
/// `VK_STRUCTURE_TYPE_BIND_DATA_GRAPH_PIPELINE_SESSION_MEMORY_INFO_ARM` = `1000507005`
pub const BindDataGraphPipelineSessionMemoryInfoArm: Self = Self(sys::VK_STRUCTURE_TYPE_BIND_DATA_GRAPH_PIPELINE_SESSION_MEMORY_INFO_ARM.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_FEATURES_ARM` = `1000507006`
pub const PhysicalDeviceDataGraphFeaturesArm: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_FEATURES_ARM.0);
/// `VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SHADER_MODULE_CREATE_INFO_ARM` = `1000507007`
pub const DataGraphPipelineShaderModuleCreateInfoArm: Self = Self(sys::VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SHADER_MODULE_CREATE_INFO_ARM.0);
/// `VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_PROPERTY_QUERY_RESULT_ARM` = `1000507008`
pub const DataGraphPipelinePropertyQueryResultArm: Self = Self(sys::VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_PROPERTY_QUERY_RESULT_ARM.0);
/// `VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_INFO_ARM` = `1000507009`
pub const DataGraphPipelineInfoArm: Self = Self(sys::VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_INFO_ARM.0);
/// `VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_COMPILER_CONTROL_CREATE_INFO_ARM` = `1000507010`
pub const DataGraphPipelineCompilerControlCreateInfoArm: Self = Self(sys::VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_COMPILER_CONTROL_CREATE_INFO_ARM.0);
/// `VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_REQUIREMENTS_INFO_ARM` = `1000507011`
pub const DataGraphPipelineSessionBindPointRequirementsInfoArm: Self = Self(sys::VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_REQUIREMENTS_INFO_ARM.0);
/// `VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_REQUIREMENT_ARM` = `1000507012`
pub const DataGraphPipelineSessionBindPointRequirementArm: Self = Self(sys::VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_REQUIREMENT_ARM.0);
/// `VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_IDENTIFIER_CREATE_INFO_ARM` = `1000507013`
pub const DataGraphPipelineIdentifierCreateInfoArm: Self = Self(sys::VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_IDENTIFIER_CREATE_INFO_ARM.0);
/// `VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_DISPATCH_INFO_ARM` = `1000507014`
pub const DataGraphPipelineDispatchInfoArm: Self = Self(sys::VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_DISPATCH_INFO_ARM.0);
/// `VK_STRUCTURE_TYPE_DATA_GRAPH_PROCESSING_ENGINE_CREATE_INFO_ARM` = `1000507016`
pub const DataGraphProcessingEngineCreateInfoArm: Self = Self(sys::VK_STRUCTURE_TYPE_DATA_GRAPH_PROCESSING_ENGINE_CREATE_INFO_ARM.0);
/// `VK_STRUCTURE_TYPE_QUEUE_FAMILY_DATA_GRAPH_PROCESSING_ENGINE_PROPERTIES_ARM` = `1000507017`
pub const QueueFamilyDataGraphProcessingEnginePropertiesArm: Self = Self(sys::VK_STRUCTURE_TYPE_QUEUE_FAMILY_DATA_GRAPH_PROCESSING_ENGINE_PROPERTIES_ARM.0);
/// `VK_STRUCTURE_TYPE_QUEUE_FAMILY_DATA_GRAPH_PROPERTIES_ARM` = `1000507018`
pub const QueueFamilyDataGraphPropertiesArm: Self = Self(sys::VK_STRUCTURE_TYPE_QUEUE_FAMILY_DATA_GRAPH_PROPERTIES_ARM.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_FAMILY_DATA_GRAPH_PROCESSING_ENGINE_INFO_ARM` = `1000507019`
pub const PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoArm: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_FAMILY_DATA_GRAPH_PROCESSING_ENGINE_INFO_ARM.0);
/// `VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_CONSTANT_TENSOR_SEMI_STRUCTURED_SPARSITY_INFO_ARM` = `1000507015`
pub const DataGraphPipelineConstantTensorSemiStructuredSparsityInfoArm: Self = Self(sys::VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_CONSTANT_TENSOR_SEMI_STRUCTURED_SPARSITY_INFO_ARM.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM` = `1000510000`
pub const PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQcom: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM.0);
/// `VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM` = `1000510001`
pub const MultiviewPerViewRenderAreasRenderPassBeginInfoQcom: Self = Self(sys::VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_KHR` = `1000201000`
pub const PhysicalDeviceComputeShaderDerivativesFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_PROPERTIES_KHR` = `1000511000`
pub const PhysicalDeviceComputeShaderDerivativesPropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_CAPABILITIES_KHR` = `1000512000`
pub const VideoDecodeAv1CapabilitiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_CAPABILITIES_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PICTURE_INFO_KHR` = `1000512001`
pub const VideoDecodeAv1PictureInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PICTURE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PROFILE_INFO_KHR` = `1000512003`
pub const VideoDecodeAv1ProfileInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PROFILE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR` = `1000512004`
pub const VideoDecodeAv1SessionParametersCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_DPB_SLOT_INFO_KHR` = `1000512005`
pub const VideoDecodeAv1DpbSlotInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_DPB_SLOT_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_CAPABILITIES_KHR` = `1000513000`
pub const VideoEncodeAv1CapabilitiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_CAPABILITIES_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR` = `1000513001`
pub const VideoEncodeAv1SessionParametersCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_PICTURE_INFO_KHR` = `1000513002`
pub const VideoEncodeAv1PictureInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_PICTURE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_DPB_SLOT_INFO_KHR` = `1000513003`
pub const VideoEncodeAv1DpbSlotInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_DPB_SLOT_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_AV1_FEATURES_KHR` = `1000513004`
pub const PhysicalDeviceVideoEncodeAv1FeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_AV1_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_PROFILE_INFO_KHR` = `1000513005`
pub const VideoEncodeAv1ProfileInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_PROFILE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_RATE_CONTROL_INFO_KHR` = `1000513006`
pub const VideoEncodeAv1RateControlInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_RATE_CONTROL_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_RATE_CONTROL_LAYER_INFO_KHR` = `1000513007`
pub const VideoEncodeAv1RateControlLayerInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_RATE_CONTROL_LAYER_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_QUALITY_LEVEL_PROPERTIES_KHR` = `1000513008`
pub const VideoEncodeAv1QualityLevelPropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_QUALITY_LEVEL_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_SESSION_CREATE_INFO_KHR` = `1000513009`
pub const VideoEncodeAv1SessionCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_SESSION_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_GOP_REMAINING_FRAME_INFO_KHR` = `1000513010`
pub const VideoEncodeAv1GopRemainingFrameInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_GOP_REMAINING_FRAME_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_DECODE_VP9_FEATURES_KHR` = `1000514000`
pub const PhysicalDeviceVideoDecodeVp9FeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_DECODE_VP9_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_DECODE_VP9_CAPABILITIES_KHR` = `1000514001`
pub const VideoDecodeVp9CapabilitiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_DECODE_VP9_CAPABILITIES_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_DECODE_VP9_PICTURE_INFO_KHR` = `1000514002`
pub const VideoDecodeVp9PictureInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_DECODE_VP9_PICTURE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_DECODE_VP9_PROFILE_INFO_KHR` = `1000514003`
pub const VideoDecodeVp9ProfileInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_DECODE_VP9_PROFILE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_1_FEATURES_KHR` = `1000515000`
pub const PhysicalDeviceVideoMaintenance1FeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_1_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_INLINE_QUERY_INFO_KHR` = `1000515001`
pub const VideoInlineQueryInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_INLINE_QUERY_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV` = `1000516000`
pub const PhysicalDevicePerStageDescriptorSetFeaturesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_FEATURES_QCOM` = `1000518000`
pub const PhysicalDeviceImageProcessing2FeaturesQcom: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_FEATURES_QCOM.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_PROPERTIES_QCOM` = `1000518001`
pub const PhysicalDeviceImageProcessing2PropertiesQcom: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_PROPERTIES_QCOM.0);
/// `VK_STRUCTURE_TYPE_SAMPLER_BLOCK_MATCH_WINDOW_CREATE_INFO_QCOM` = `1000518002`
pub const SamplerBlockMatchWindowCreateInfoQcom: Self = Self(sys::VK_STRUCTURE_TYPE_SAMPLER_BLOCK_MATCH_WINDOW_CREATE_INFO_QCOM.0);
/// `VK_STRUCTURE_TYPE_SAMPLER_CUBIC_WEIGHTS_CREATE_INFO_QCOM` = `1000519000`
pub const SamplerCubicWeightsCreateInfoQcom: Self = Self(sys::VK_STRUCTURE_TYPE_SAMPLER_CUBIC_WEIGHTS_CREATE_INFO_QCOM.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_WEIGHTS_FEATURES_QCOM` = `1000519001`
pub const PhysicalDeviceCubicWeightsFeaturesQcom: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_WEIGHTS_FEATURES_QCOM.0);
/// `VK_STRUCTURE_TYPE_BLIT_IMAGE_CUBIC_WEIGHTS_INFO_QCOM` = `1000519002`
pub const BlitImageCubicWeightsInfoQcom: Self = Self(sys::VK_STRUCTURE_TYPE_BLIT_IMAGE_CUBIC_WEIGHTS_INFO_QCOM.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_DEGAMMA_FEATURES_QCOM` = `1000520000`
pub const PhysicalDeviceYcbcrDegammaFeaturesQcom: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_DEGAMMA_FEATURES_QCOM.0);
/// `VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_YCBCR_DEGAMMA_CREATE_INFO_QCOM` = `1000520001`
pub const SamplerYcbcrConversionYcbcrDegammaCreateInfoQcom: Self = Self(sys::VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_YCBCR_DEGAMMA_CREATE_INFO_QCOM.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_CLAMP_FEATURES_QCOM` = `1000521000`
pub const PhysicalDeviceCubicClampFeaturesQcom: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_CLAMP_FEATURES_QCOM.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_FEATURES_EXT` = `1000524000`
pub const PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES`
pub const PhysicalDeviceVertexAttributeDivisorPropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_KHR` = `VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO`
pub const PipelineVertexInputDivisorStateCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES`
pub const PhysicalDeviceVertexAttributeDivisorFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFIED_IMAGE_LAYOUTS_FEATURES_KHR` = `1000527000`
pub const PhysicalDeviceUnifiedImageLayoutsFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFIED_IMAGE_LAYOUTS_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_ATTACHMENT_FEEDBACK_LOOP_INFO_EXT` = `1000527001`
pub const AttachmentFeedbackLoopInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_ATTACHMENT_FEEDBACK_LOOP_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES`
pub const PhysicalDeviceShaderFloatControls2FeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_SCREEN_BUFFER_PROPERTIES_QNX` = `1000529000`
pub const ScreenBufferPropertiesQnx: Self = Self(sys::VK_STRUCTURE_TYPE_SCREEN_BUFFER_PROPERTIES_QNX.0);
/// `VK_STRUCTURE_TYPE_SCREEN_BUFFER_FORMAT_PROPERTIES_QNX` = `1000529001`
pub const ScreenBufferFormatPropertiesQnx: Self = Self(sys::VK_STRUCTURE_TYPE_SCREEN_BUFFER_FORMAT_PROPERTIES_QNX.0);
/// `VK_STRUCTURE_TYPE_IMPORT_SCREEN_BUFFER_INFO_QNX` = `1000529002`
pub const ImportScreenBufferInfoQnx: Self = Self(sys::VK_STRUCTURE_TYPE_IMPORT_SCREEN_BUFFER_INFO_QNX.0);
/// `VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_QNX` = `1000529003`
pub const ExternalFormatQnx: Self = Self(sys::VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_QNX.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCREEN_BUFFER_FEATURES_QNX` = `1000529004`
pub const PhysicalDeviceExternalMemoryScreenBufferFeaturesQnx: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCREEN_BUFFER_FEATURES_QNX.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT` = `1000530000`
pub const PhysicalDeviceLayeredDriverPropertiesMsft: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES`
pub const PhysicalDeviceIndexTypeUint8FeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES`
pub const PhysicalDeviceLineRasterizationFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR` = `VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO`
pub const PipelineRasterizationLineStateCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES`
pub const PhysicalDeviceLineRasterizationPropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_KHR` = `1000184000`
pub const CalibratedTimestampInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES`
pub const PhysicalDeviceShaderExpectAssumeFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES`
pub const PhysicalDeviceMaintenance6FeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES_KHR` = `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES`
pub const PhysicalDeviceMaintenance6PropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS_KHR` = `VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS`
pub const BindMemoryStatusKhr: Self = Self(sys::VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS_KHR.0);
/// `VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO_KHR` = `VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO`
pub const BindDescriptorSetsInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO_KHR` = `VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO`
pub const PushConstantsInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO_KHR` = `VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO`
pub const PushDescriptorSetInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO_KHR` = `VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO`
pub const PushDescriptorSetWithTemplateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT` = `1000545007`
pub const SetDescriptorBufferOffsetsInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT` = `1000545008`
pub const BindDescriptorBufferEmbeddedSamplersInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV` = `1000546000`
pub const PhysicalDeviceDescriptorPoolOverallocationFeaturesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_MEMORY_HEAP_FEATURES_QCOM` = `1000547000`
pub const PhysicalDeviceTileMemoryHeapFeaturesQcom: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_MEMORY_HEAP_FEATURES_QCOM.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_MEMORY_HEAP_PROPERTIES_QCOM` = `1000547001`
pub const PhysicalDeviceTileMemoryHeapPropertiesQcom: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_MEMORY_HEAP_PROPERTIES_QCOM.0);
/// `VK_STRUCTURE_TYPE_TILE_MEMORY_REQUIREMENTS_QCOM` = `1000547002`
pub const TileMemoryRequirementsQcom: Self = Self(sys::VK_STRUCTURE_TYPE_TILE_MEMORY_REQUIREMENTS_QCOM.0);
/// `VK_STRUCTURE_TYPE_TILE_MEMORY_BIND_INFO_QCOM` = `1000547003`
pub const TileMemoryBindInfoQcom: Self = Self(sys::VK_STRUCTURE_TYPE_TILE_MEMORY_BIND_INFO_QCOM.0);
/// `VK_STRUCTURE_TYPE_TILE_MEMORY_SIZE_INFO_QCOM` = `1000547004`
pub const TileMemorySizeInfoQcom: Self = Self(sys::VK_STRUCTURE_TYPE_TILE_MEMORY_SIZE_INFO_QCOM.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_KHR` = `1000549000`
pub const PhysicalDeviceCopyMemoryIndirectFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_KHR` = `1000426001`
pub const PhysicalDeviceCopyMemoryIndirectPropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_COPY_MEMORY_INDIRECT_INFO_KHR` = `1000549002`
pub const CopyMemoryIndirectInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_COPY_MEMORY_INDIRECT_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INDIRECT_INFO_KHR` = `1000549003`
pub const CopyMemoryToImageIndirectInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INDIRECT_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_EXT` = `1000427000`
pub const PhysicalDeviceMemoryDecompressionFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_EXT` = `1000427001`
pub const PhysicalDeviceMemoryDecompressionPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_DECOMPRESS_MEMORY_INFO_EXT` = `1000550002`
pub const DecompressMemoryInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_DECOMPRESS_MEMORY_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_DISPLAY_SURFACE_STEREO_CREATE_INFO_NV` = `1000551000`
pub const DisplaySurfaceStereoCreateInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_DISPLAY_SURFACE_STEREO_CREATE_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_DISPLAY_MODE_STEREO_PROPERTIES_NV` = `1000551001`
pub const DisplayModeStereoPropertiesNv: Self = Self(sys::VK_STRUCTURE_TYPE_DISPLAY_MODE_STEREO_PROPERTIES_NV.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_INTRA_REFRESH_CAPABILITIES_KHR` = `1000552000`
pub const VideoEncodeIntraRefreshCapabilitiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_INTRA_REFRESH_CAPABILITIES_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_INTRA_REFRESH_CREATE_INFO_KHR` = `1000552001`
pub const VideoEncodeSessionIntraRefreshCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_INTRA_REFRESH_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_INTRA_REFRESH_INFO_KHR` = `1000552002`
pub const VideoEncodeIntraRefreshInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_INTRA_REFRESH_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_REFERENCE_INTRA_REFRESH_INFO_KHR` = `1000552003`
pub const VideoReferenceIntraRefreshInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_REFERENCE_INTRA_REFRESH_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_INTRA_REFRESH_FEATURES_KHR` = `1000552004`
pub const PhysicalDeviceVideoEncodeIntraRefreshFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_INTRA_REFRESH_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUANTIZATION_MAP_CAPABILITIES_KHR` = `1000553000`
pub const VideoEncodeQuantizationMapCapabilitiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUANTIZATION_MAP_CAPABILITIES_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_FORMAT_QUANTIZATION_MAP_PROPERTIES_KHR` = `1000553001`
pub const VideoFormatQuantizationMapPropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_FORMAT_QUANTIZATION_MAP_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUANTIZATION_MAP_INFO_KHR` = `1000553002`
pub const VideoEncodeQuantizationMapInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUANTIZATION_MAP_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUANTIZATION_MAP_SESSION_PARAMETERS_CREATE_INFO_KHR` = `1000553005`
pub const VideoEncodeQuantizationMapSessionParametersCreateInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUANTIZATION_MAP_SESSION_PARAMETERS_CREATE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_QUANTIZATION_MAP_FEATURES_KHR` = `1000553009`
pub const PhysicalDeviceVideoEncodeQuantizationMapFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_QUANTIZATION_MAP_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_QUANTIZATION_MAP_CAPABILITIES_KHR` = `1000553003`
pub const VideoEncodeH264QuantizationMapCapabilitiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_QUANTIZATION_MAP_CAPABILITIES_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_QUANTIZATION_MAP_CAPABILITIES_KHR` = `1000553004`
pub const VideoEncodeH265QuantizationMapCapabilitiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_QUANTIZATION_MAP_CAPABILITIES_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_FORMAT_H265_QUANTIZATION_MAP_PROPERTIES_KHR` = `1000553006`
pub const VideoFormatH265QuantizationMapPropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_FORMAT_H265_QUANTIZATION_MAP_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_QUANTIZATION_MAP_CAPABILITIES_KHR` = `1000553007`
pub const VideoEncodeAv1QuantizationMapCapabilitiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_QUANTIZATION_MAP_CAPABILITIES_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_FORMAT_AV1_QUANTIZATION_MAP_PROPERTIES_KHR` = `1000553008`
pub const VideoFormatAv1QuantizationMapPropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_FORMAT_AV1_QUANTIZATION_MAP_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAW_ACCESS_CHAINS_FEATURES_NV` = `1000555000`
pub const PhysicalDeviceRawAccessChainsFeaturesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAW_ACCESS_CHAINS_FEATURES_NV.0);
/// `VK_STRUCTURE_TYPE_EXTERNAL_COMPUTE_QUEUE_DEVICE_CREATE_INFO_NV` = `1000556000`
pub const ExternalComputeQueueDeviceCreateInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_EXTERNAL_COMPUTE_QUEUE_DEVICE_CREATE_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_EXTERNAL_COMPUTE_QUEUE_CREATE_INFO_NV` = `1000556001`
pub const ExternalComputeQueueCreateInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_EXTERNAL_COMPUTE_QUEUE_CREATE_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_EXTERNAL_COMPUTE_QUEUE_DATA_PARAMS_NV` = `1000556002`
pub const ExternalComputeQueueDataParamsNv: Self = Self(sys::VK_STRUCTURE_TYPE_EXTERNAL_COMPUTE_QUEUE_DATA_PARAMS_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_COMPUTE_QUEUE_PROPERTIES_NV` = `1000556003`
pub const PhysicalDeviceExternalComputeQueuePropertiesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_COMPUTE_QUEUE_PROPERTIES_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_RELAXED_EXTENDED_INSTRUCTION_FEATURES_KHR` = `1000558000`
pub const PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_RELAXED_EXTENDED_INSTRUCTION_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMMAND_BUFFER_INHERITANCE_FEATURES_NV` = `1000559000`
pub const PhysicalDeviceCommandBufferInheritanceFeaturesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMMAND_BUFFER_INHERITANCE_FEATURES_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_7_FEATURES_KHR` = `1000562000`
pub const PhysicalDeviceMaintenance7FeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_7_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_7_PROPERTIES_KHR` = `1000562001`
pub const PhysicalDeviceMaintenance7PropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_7_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_LIST_KHR` = `1000562002`
pub const PhysicalDeviceLayeredApiPropertiesListKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_LIST_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_KHR` = `1000562003`
pub const PhysicalDeviceLayeredApiPropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_VULKAN_PROPERTIES_KHR` = `1000562004`
pub const PhysicalDeviceLayeredApiVulkanPropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_VULKAN_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV` = `1000563000`
pub const PhysicalDeviceShaderAtomicFloat16VectorFeaturesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_REPLICATED_COMPOSITES_FEATURES_EXT` = `1000564000`
pub const PhysicalDeviceShaderReplicatedCompositesFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_REPLICATED_COMPOSITES_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT8_FEATURES_EXT` = `1000567000`
pub const PhysicalDeviceShaderFloat8FeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT8_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV` = `1000568000`
pub const PhysicalDeviceRayTracingValidationFeaturesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_FEATURES_NV` = `1000569000`
pub const PhysicalDeviceClusterAccelerationStructureFeaturesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_FEATURES_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_PROPERTIES_NV` = `1000569001`
pub const PhysicalDeviceClusterAccelerationStructurePropertiesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_PROPERTIES_NV.0);
/// `VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_CLUSTERS_BOTTOM_LEVEL_INPUT_NV` = `1000569002`
pub const ClusterAccelerationStructureClustersBottomLevelInputNv: Self = Self(sys::VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_CLUSTERS_BOTTOM_LEVEL_INPUT_NV.0);
/// `VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_TRIANGLE_CLUSTER_INPUT_NV` = `1000569003`
pub const ClusterAccelerationStructureTriangleClusterInputNv: Self = Self(sys::VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_TRIANGLE_CLUSTER_INPUT_NV.0);
/// `VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_MOVE_OBJECTS_INPUT_NV` = `1000569004`
pub const ClusterAccelerationStructureMoveObjectsInputNv: Self = Self(sys::VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_MOVE_OBJECTS_INPUT_NV.0);
/// `VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_INPUT_INFO_NV` = `1000569005`
pub const ClusterAccelerationStructureInputInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_INPUT_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_COMMANDS_INFO_NV` = `1000569006`
pub const ClusterAccelerationStructureCommandsInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_COMMANDS_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CLUSTER_ACCELERATION_STRUCTURE_CREATE_INFO_NV` = `1000569007`
pub const RayTracingPipelineClusterAccelerationStructureCreateInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CLUSTER_ACCELERATION_STRUCTURE_CREATE_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_FEATURES_NV` = `1000570000`
pub const PhysicalDevicePartitionedAccelerationStructureFeaturesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_FEATURES_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_PROPERTIES_NV` = `1000570001`
pub const PhysicalDevicePartitionedAccelerationStructurePropertiesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_PROPERTIES_NV.0);
/// `VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_PARTITIONED_ACCELERATION_STRUCTURE_NV` = `1000570002`
pub const WriteDescriptorSetPartitionedAccelerationStructureNv: Self = Self(sys::VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_PARTITIONED_ACCELERATION_STRUCTURE_NV.0);
/// `VK_STRUCTURE_TYPE_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCES_INPUT_NV` = `1000570003`
pub const PartitionedAccelerationStructureInstancesInputNv: Self = Self(sys::VK_STRUCTURE_TYPE_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCES_INPUT_NV.0);
/// `VK_STRUCTURE_TYPE_BUILD_PARTITIONED_ACCELERATION_STRUCTURE_INFO_NV` = `1000570004`
pub const BuildPartitionedAccelerationStructureInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_BUILD_PARTITIONED_ACCELERATION_STRUCTURE_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_PARTITIONED_ACCELERATION_STRUCTURE_FLAGS_NV` = `1000570005`
pub const PartitionedAccelerationStructureFlagsNv: Self = Self(sys::VK_STRUCTURE_TYPE_PARTITIONED_ACCELERATION_STRUCTURE_FLAGS_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_EXT` = `1000572000`
pub const PhysicalDeviceDeviceGeneratedCommandsFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_EXT` = `1000572001`
pub const PhysicalDeviceDeviceGeneratedCommandsPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_EXT` = `1000572002`
pub const GeneratedCommandsMemoryRequirementsInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_INDIRECT_EXECUTION_SET_CREATE_INFO_EXT` = `1000572003`
pub const IndirectExecutionSetCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_INDIRECT_EXECUTION_SET_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_EXT` = `1000572004`
pub const GeneratedCommandsInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_EXT` = `1000572006`
pub const IndirectCommandsLayoutCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_EXT` = `1000572007`
pub const IndirectCommandsLayoutTokenExt: Self = Self(sys::VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_EXT.0);
/// `VK_STRUCTURE_TYPE_WRITE_INDIRECT_EXECUTION_SET_PIPELINE_EXT` = `1000572008`
pub const WriteIndirectExecutionSetPipelineExt: Self = Self(sys::VK_STRUCTURE_TYPE_WRITE_INDIRECT_EXECUTION_SET_PIPELINE_EXT.0);
/// `VK_STRUCTURE_TYPE_WRITE_INDIRECT_EXECUTION_SET_SHADER_EXT` = `1000572009`
pub const WriteIndirectExecutionSetShaderExt: Self = Self(sys::VK_STRUCTURE_TYPE_WRITE_INDIRECT_EXECUTION_SET_SHADER_EXT.0);
/// `VK_STRUCTURE_TYPE_INDIRECT_EXECUTION_SET_PIPELINE_INFO_EXT` = `1000572010`
pub const IndirectExecutionSetPipelineInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_INDIRECT_EXECUTION_SET_PIPELINE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_INDIRECT_EXECUTION_SET_SHADER_INFO_EXT` = `1000572011`
pub const IndirectExecutionSetShaderInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_INDIRECT_EXECUTION_SET_SHADER_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_INDIRECT_EXECUTION_SET_SHADER_LAYOUT_INFO_EXT` = `1000572012`
pub const IndirectExecutionSetShaderLayoutInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_INDIRECT_EXECUTION_SET_SHADER_LAYOUT_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_GENERATED_COMMANDS_PIPELINE_INFO_EXT` = `1000572013`
pub const GeneratedCommandsPipelineInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_GENERATED_COMMANDS_PIPELINE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_GENERATED_COMMANDS_SHADER_INFO_EXT` = `1000572014`
pub const GeneratedCommandsShaderInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_GENERATED_COMMANDS_SHADER_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_8_FEATURES_KHR` = `1000574000`
pub const PhysicalDeviceMaintenance8FeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_8_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_MEMORY_BARRIER_ACCESS_FLAGS_3_KHR` = `1000574002`
pub const MemoryBarrierAccessFlags3Khr: Self = Self(sys::VK_STRUCTURE_TYPE_MEMORY_BARRIER_ACCESS_FLAGS_3_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_FEATURES_MESA` = `1000575000`
pub const PhysicalDeviceImageAlignmentControlFeaturesMesa: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_FEATURES_MESA.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_PROPERTIES_MESA` = `1000575001`
pub const PhysicalDeviceImageAlignmentControlPropertiesMesa: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_PROPERTIES_MESA.0);
/// `VK_STRUCTURE_TYPE_IMAGE_ALIGNMENT_CONTROL_CREATE_INFO_MESA` = `1000575002`
pub const ImageAlignmentControlCreateInfoMesa: Self = Self(sys::VK_STRUCTURE_TYPE_IMAGE_ALIGNMENT_CONTROL_CREATE_INFO_MESA.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FMA_FEATURES_KHR` = `1000579000`
pub const PhysicalDeviceShaderFmaFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FMA_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PUSH_CONSTANT_BANK_INFO_NV` = `1000580000`
pub const PushConstantBankInfoNv: Self = Self(sys::VK_STRUCTURE_TYPE_PUSH_CONSTANT_BANK_INFO_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_CONSTANT_BANK_FEATURES_NV` = `1000580001`
pub const PhysicalDevicePushConstantBankFeaturesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_CONSTANT_BANK_FEATURES_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_CONSTANT_BANK_PROPERTIES_NV` = `1000580002`
pub const PhysicalDevicePushConstantBankPropertiesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_CONSTANT_BANK_PROPERTIES_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_EXT` = `1000581000`
pub const PhysicalDeviceRayTracingInvocationReorderFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_EXT` = `1000581001`
pub const PhysicalDeviceRayTracingInvocationReorderPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_CONTROL_FEATURES_EXT` = `1000582000`
pub const PhysicalDeviceDepthClampControlFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_CONTROL_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLAMP_CONTROL_CREATE_INFO_EXT` = `1000582001`
pub const PipelineViewportDepthClampControlCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLAMP_CONTROL_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_9_FEATURES_KHR` = `1000584000`
pub const PhysicalDeviceMaintenance9FeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_9_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_9_PROPERTIES_KHR` = `1000584001`
pub const PhysicalDeviceMaintenance9PropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_9_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_QUEUE_FAMILY_OWNERSHIP_TRANSFER_PROPERTIES_KHR` = `1000584002`
pub const QueueFamilyOwnershipTransferPropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_QUEUE_FAMILY_OWNERSHIP_TRANSFER_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_2_FEATURES_KHR` = `1000586000`
pub const PhysicalDeviceVideoMaintenance2FeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_2_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_INLINE_SESSION_PARAMETERS_INFO_KHR` = `1000586001`
pub const VideoDecodeH264InlineSessionParametersInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_INLINE_SESSION_PARAMETERS_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_INLINE_SESSION_PARAMETERS_INFO_KHR` = `1000586002`
pub const VideoDecodeH265InlineSessionParametersInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_INLINE_SESSION_PARAMETERS_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_INLINE_SESSION_PARAMETERS_INFO_KHR` = `1000586003`
pub const VideoDecodeAv1InlineSessionParametersInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_INLINE_SESSION_PARAMETERS_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_SURFACE_CREATE_INFO_OHOS` = `1000685000`
pub const SurfaceCreateInfoOhos: Self = Self(sys::VK_STRUCTURE_TYPE_SURFACE_CREATE_INFO_OHOS.0);
/// `VK_STRUCTURE_TYPE_NATIVE_BUFFER_OHOS` = `1000453001`
pub const NativeBufferOhos: Self = Self(sys::VK_STRUCTURE_TYPE_NATIVE_BUFFER_OHOS.0);
/// `VK_STRUCTURE_TYPE_SWAPCHAIN_IMAGE_CREATE_INFO_OHOS` = `1000453002`
pub const SwapchainImageCreateInfoOhos: Self = Self(sys::VK_STRUCTURE_TYPE_SWAPCHAIN_IMAGE_CREATE_INFO_OHOS.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENTATION_PROPERTIES_OHOS` = `1000453003`
pub const PhysicalDevicePresentationPropertiesOhos: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENTATION_PROPERTIES_OHOS.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HDR_VIVID_FEATURES_HUAWEI` = `1000590000`
pub const PhysicalDeviceHdrVividFeaturesHuawei: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HDR_VIVID_FEATURES_HUAWEI.0);
/// `VK_STRUCTURE_TYPE_HDR_VIVID_DYNAMIC_METADATA_HUAWEI` = `1000590001`
pub const HdrVividDynamicMetadataHuawei: Self = Self(sys::VK_STRUCTURE_TYPE_HDR_VIVID_DYNAMIC_METADATA_HUAWEI.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_FEATURES_NV` = `1000593000`
pub const PhysicalDeviceCooperativeMatrix2FeaturesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_FEATURES_NV.0);
/// `VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_FLEXIBLE_DIMENSIONS_PROPERTIES_NV` = `1000593001`
pub const CooperativeMatrixFlexibleDimensionsPropertiesNv: Self = Self(sys::VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_FLEXIBLE_DIMENSIONS_PROPERTIES_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_PROPERTIES_NV` = `1000593002`
pub const PhysicalDeviceCooperativeMatrix2PropertiesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_PROPERTIES_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_OPACITY_MICROMAP_FEATURES_ARM` = `1000596000`
pub const PhysicalDevicePipelineOpacityMicromapFeaturesArm: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_OPACITY_MICROMAP_FEATURES_ARM.0);
/// `VK_STRUCTURE_TYPE_IMPORT_MEMORY_METAL_HANDLE_INFO_EXT` = `1000602000`
pub const ImportMemoryMetalHandleInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_IMPORT_MEMORY_METAL_HANDLE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_MEMORY_METAL_HANDLE_PROPERTIES_EXT` = `1000602001`
pub const MemoryMetalHandlePropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_MEMORY_METAL_HANDLE_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_MEMORY_GET_METAL_HANDLE_INFO_EXT` = `1000602002`
pub const MemoryGetMetalHandleInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_MEMORY_GET_METAL_HANDLE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_KHR` = `1000421000`
pub const PhysicalDeviceDepthClampZeroOneFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_COUNTERS_BY_REGION_FEATURES_ARM` = `1000605000`
pub const PhysicalDevicePerformanceCountersByRegionFeaturesArm: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_COUNTERS_BY_REGION_FEATURES_ARM.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_COUNTERS_BY_REGION_PROPERTIES_ARM` = `1000605001`
pub const PhysicalDevicePerformanceCountersByRegionPropertiesArm: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_COUNTERS_BY_REGION_PROPERTIES_ARM.0);
/// `VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_ARM` = `1000605002`
pub const PerformanceCounterArm: Self = Self(sys::VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_ARM.0);
/// `VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_ARM` = `1000605003`
pub const PerformanceCounterDescriptionArm: Self = Self(sys::VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_ARM.0);
/// `VK_STRUCTURE_TYPE_RENDER_PASS_PERFORMANCE_COUNTERS_BY_REGION_BEGIN_INFO_ARM` = `1000605004`
pub const RenderPassPerformanceCountersByRegionBeginInfoArm: Self = Self(sys::VK_STRUCTURE_TYPE_RENDER_PASS_PERFORMANCE_COUNTERS_BY_REGION_BEGIN_INFO_ARM.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INSTRUMENTATION_FEATURES_ARM` = `1000607000`
pub const PhysicalDeviceShaderInstrumentationFeaturesArm: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INSTRUMENTATION_FEATURES_ARM.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INSTRUMENTATION_PROPERTIES_ARM` = `1000607001`
pub const PhysicalDeviceShaderInstrumentationPropertiesArm: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INSTRUMENTATION_PROPERTIES_ARM.0);
/// `VK_STRUCTURE_TYPE_SHADER_INSTRUMENTATION_CREATE_INFO_ARM` = `1000607002`
pub const ShaderInstrumentationCreateInfoArm: Self = Self(sys::VK_STRUCTURE_TYPE_SHADER_INSTRUMENTATION_CREATE_INFO_ARM.0);
/// `VK_STRUCTURE_TYPE_SHADER_INSTRUMENTATION_METRIC_DESCRIPTION_ARM` = `1000607003`
pub const ShaderInstrumentationMetricDescriptionArm: Self = Self(sys::VK_STRUCTURE_TYPE_SHADER_INSTRUMENTATION_METRIC_DESCRIPTION_ARM.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_ROBUSTNESS_FEATURES_EXT` = `1000608000`
pub const PhysicalDeviceVertexAttributeRobustnessFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_ROBUSTNESS_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FORMAT_PACK_FEATURES_ARM` = `1000609000`
pub const PhysicalDeviceFormatPackFeaturesArm: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FORMAT_PACK_FEATURES_ARM.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_LAYERED_FEATURES_VALVE` = `1000611000`
pub const PhysicalDeviceFragmentDensityMapLayeredFeaturesValve: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_LAYERED_FEATURES_VALVE.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_LAYERED_PROPERTIES_VALVE` = `1000611001`
pub const PhysicalDeviceFragmentDensityMapLayeredPropertiesValve: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_LAYERED_PROPERTIES_VALVE.0);
/// `VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_DENSITY_MAP_LAYERED_CREATE_INFO_VALVE` = `1000611002`
pub const PipelineFragmentDensityMapLayeredCreateInfoValve: Self = Self(sys::VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_DENSITY_MAP_LAYERED_CREATE_INFO_VALVE.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_KHR` = `1000286000`
pub const PhysicalDeviceRobustness2FeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_KHR` = `1000286001`
pub const PhysicalDeviceRobustness2PropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_SET_PRESENT_CONFIG_NV` = `1000613000`
pub const SetPresentConfigNv: Self = Self(sys::VK_STRUCTURE_TYPE_SET_PRESENT_CONFIG_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_METERING_FEATURES_NV` = `1000613001`
pub const PhysicalDevicePresentMeteringFeaturesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_METERING_FEATURES_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_EXT` = `1000425000`
pub const PhysicalDeviceFragmentDensityMapOffsetFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_EXT` = `1000425001`
pub const PhysicalDeviceFragmentDensityMapOffsetPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_EXT` = `1000425002`
pub const RenderPassFragmentDensityMapOffsetEndInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_RENDERING_END_INFO_EXT` = `VK_STRUCTURE_TYPE_RENDERING_END_INFO_KHR`
pub const RenderingEndInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_RENDERING_END_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_DEVICE_MEMORY_FEATURES_EXT` = `1000620000`
pub const PhysicalDeviceZeroInitializeDeviceMemoryFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_DEVICE_MEMORY_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_KHR` = `1000361000`
pub const PhysicalDevicePresentModeFifoLatestReadyFeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_64_BIT_INDEXING_FEATURES_EXT` = `1000627000`
pub const PhysicalDeviceShader64IndexingFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_64_BIT_INDEXING_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_RESOLVE_FEATURES_EXT` = `1000628000`
pub const PhysicalDeviceCustomResolveFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_RESOLVE_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_BEGIN_CUSTOM_RESOLVE_INFO_EXT` = `1000628001`
pub const BeginCustomResolveInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_BEGIN_CUSTOM_RESOLVE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_CUSTOM_RESOLVE_CREATE_INFO_EXT` = `1000628002`
pub const CustomResolveCreateInfoExt: Self = Self(sys::VK_STRUCTURE_TYPE_CUSTOM_RESOLVE_CREATE_INFO_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_MODEL_FEATURES_QCOM` = `1000629000`
pub const PhysicalDeviceDataGraphModelFeaturesQcom: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_MODEL_FEATURES_QCOM.0);
/// `VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_BUILTIN_MODEL_CREATE_INFO_QCOM` = `1000629001`
pub const DataGraphPipelineBuiltinModelCreateInfoQcom: Self = Self(sys::VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_BUILTIN_MODEL_CREATE_INFO_QCOM.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_10_FEATURES_KHR` = `1000630000`
pub const PhysicalDeviceMaintenance10FeaturesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_10_FEATURES_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_10_PROPERTIES_KHR` = `1000630001`
pub const PhysicalDeviceMaintenance10PropertiesKhr: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_10_PROPERTIES_KHR.0);
/// `VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_FLAGS_INFO_KHR` = `1000630002`
pub const RenderingAttachmentFlagsInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_FLAGS_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_RENDERING_END_INFO_KHR` = `1000619003`
pub const RenderingEndInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_RENDERING_END_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_RESOLVE_IMAGE_MODE_INFO_KHR` = `1000630004`
pub const ResolveImageModeInfoKhr: Self = Self(sys::VK_STRUCTURE_TYPE_RESOLVE_IMAGE_MODE_INFO_KHR.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_FEATURES_EXT` = `1000635000`
pub const PhysicalDeviceShaderLongVectorFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_PROPERTIES_EXT` = `1000635001`
pub const PhysicalDeviceShaderLongVectorPropertiesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_PROPERTIES_EXT.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CACHE_INCREMENTAL_MODE_FEATURES_SEC` = `1000637000`
pub const PhysicalDevicePipelineCacheIncrementalModeFeaturesSec: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CACHE_INCREMENTAL_MODE_FEATURES_SEC.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_UNIFORM_BUFFER_UNSIZED_ARRAY_FEATURES_EXT` = `1000642000`
pub const PhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_UNIFORM_BUFFER_UNSIZED_ARRAY_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_COMPUTE_OCCUPANCY_PRIORITY_PARAMETERS_NV` = `1000645000`
pub const ComputeOccupancyPriorityParametersNv: Self = Self(sys::VK_STRUCTURE_TYPE_COMPUTE_OCCUPANCY_PRIORITY_PARAMETERS_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_OCCUPANCY_PRIORITY_FEATURES_NV` = `1000645001`
pub const PhysicalDeviceComputeOccupancyPriorityFeaturesNv: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_OCCUPANCY_PRIORITY_FEATURES_NV.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_PARTITIONED_FEATURES_EXT` = `1000662000`
pub const PhysicalDeviceShaderSubgroupPartitionedFeaturesExt: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_PARTITIONED_FEATURES_EXT.0);
/// `VK_STRUCTURE_TYPE_UBM_SURFACE_CREATE_INFO_SEC` = `1000664000`
pub const UbmSurfaceCreateInfoSec: Self = Self(sys::VK_STRUCTURE_TYPE_UBM_SURFACE_CREATE_INFO_SEC.0);
/// `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MIXED_FLOAT_DOT_PRODUCT_FEATURES_VALVE` = `1000673000`
pub const PhysicalDeviceShaderMixedFloatDotProductFeaturesValve: Self = Self(sys::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MIXED_FLOAT_DOT_PRODUCT_FEATURES_VALVE.0);
}
impl_enum_display!(StructureType = VkStructureType { ApplicationInfo, InstanceCreateInfo, DeviceQueueCreateInfo, DeviceCreateInfo, SubmitInfo, MemoryAllocateInfo, MappedMemoryRange, BindSparseInfo, FenceCreateInfo, SemaphoreCreateInfo, EventCreateInfo, QueryPoolCreateInfo, BufferCreateInfo, BufferViewCreateInfo, ImageCreateInfo, ImageViewCreateInfo, ShaderModuleCreateInfo, PipelineCacheCreateInfo, PipelineShaderStageCreateInfo, PipelineVertexInputStateCreateInfo, PipelineInputAssemblyStateCreateInfo, PipelineTessellationStateCreateInfo, PipelineViewportStateCreateInfo, PipelineRasterizationStateCreateInfo, PipelineMultisampleStateCreateInfo, PipelineDepthStencilStateCreateInfo, PipelineColorBlendStateCreateInfo, PipelineDynamicStateCreateInfo, GraphicsPipelineCreateInfo, ComputePipelineCreateInfo, PipelineLayoutCreateInfo, SamplerCreateInfo, DescriptorSetLayoutCreateInfo, DescriptorPoolCreateInfo, DescriptorSetAllocateInfo, WriteDescriptorSet, CopyDescriptorSet, FramebufferCreateInfo, RenderPassCreateInfo, CommandPoolCreateInfo, CommandBufferAllocateInfo, CommandBufferInheritanceInfo, CommandBufferBeginInfo, RenderPassBeginInfo, BufferMemoryBarrier, ImageMemoryBarrier, MemoryBarrier, LoaderInstanceCreateInfo, LoaderDeviceCreateInfo, BindBufferMemoryInfo, BindImageMemoryInfo, MemoryDedicatedRequirements, MemoryDedicatedAllocateInfo, MemoryAllocateFlagsInfo, DeviceGroupCommandBufferBeginInfo, DeviceGroupSubmitInfo, DeviceGroupBindSparseInfo, BindBufferMemoryDeviceGroupInfo, BindImageMemoryDeviceGroupInfo, PhysicalDeviceGroupProperties, DeviceGroupDeviceCreateInfo, BufferMemoryRequirementsInfo2, ImageMemoryRequirementsInfo2, ImageSparseMemoryRequirementsInfo2, MemoryRequirements2, SparseImageMemoryRequirements2, PhysicalDeviceFeatures2, PhysicalDeviceProperties2, FormatProperties2, ImageFormatProperties2, PhysicalDeviceImageFormatInfo2, QueueFamilyProperties2, PhysicalDeviceMemoryProperties2, SparseImageFormatProperties2, PhysicalDeviceSparseImageFormatInfo2, ImageViewUsageCreateInfo, ProtectedSubmitInfo, PhysicalDeviceProtectedMemoryFeatures, PhysicalDeviceProtectedMemoryProperties, DeviceQueueInfo2, PhysicalDeviceExternalImageFormatInfo, ExternalImageFormatProperties, PhysicalDeviceExternalBufferInfo, ExternalBufferProperties, PhysicalDeviceIdProperties, ExternalMemoryBufferCreateInfo, ExternalMemoryImageCreateInfo, ExportMemoryAllocateInfo, PhysicalDeviceExternalFenceInfo, ExternalFenceProperties, ExportFenceCreateInfo, ExportSemaphoreCreateInfo, PhysicalDeviceExternalSemaphoreInfo, ExternalSemaphoreProperties, PhysicalDeviceSubgroupProperties, PhysicalDevice16bitStorageFeatures, PhysicalDeviceVariablePointersFeatures, PhysicalDeviceVariablePointerFeatures, DescriptorUpdateTemplateCreateInfo, PhysicalDeviceMaintenance3Properties, DescriptorSetLayoutSupport, SamplerYcbcrConversionCreateInfo, SamplerYcbcrConversionInfo, BindImagePlaneMemoryInfo, ImagePlaneMemoryRequirementsInfo, PhysicalDeviceSamplerYcbcrConversionFeatures, SamplerYcbcrConversionImageFormatProperties, DeviceGroupRenderPassBeginInfo, PhysicalDevicePointClippingProperties, RenderPassInputAttachmentAspectCreateInfo, PipelineTessellationDomainOriginStateCreateInfo, RenderPassMultiviewCreateInfo, PhysicalDeviceMultiviewFeatures, PhysicalDeviceMultiviewProperties, PhysicalDeviceShaderDrawParametersFeatures, PhysicalDeviceShaderDrawParameterFeatures, PhysicalDeviceDriverProperties, PhysicalDeviceVulkan11Features, PhysicalDeviceVulkan11Properties, PhysicalDeviceVulkan12Features, PhysicalDeviceVulkan12Properties, ImageFormatListCreateInfo, PhysicalDeviceVulkanMemoryModelFeatures, PhysicalDeviceHostQueryResetFeatures, PhysicalDeviceTimelineSemaphoreFeatures, PhysicalDeviceTimelineSemaphoreProperties, SemaphoreTypeCreateInfo, TimelineSemaphoreSubmitInfo, SemaphoreWaitInfo, SemaphoreSignalInfo, PhysicalDeviceBufferDeviceAddressFeatures, BufferDeviceAddressInfo, BufferOpaqueCaptureAddressCreateInfo, MemoryOpaqueCaptureAddressAllocateInfo, DeviceMemoryOpaqueCaptureAddressInfo, PhysicalDevice8bitStorageFeatures, PhysicalDeviceShaderAtomicInt64Features, PhysicalDeviceShaderFloat16Int8Features, PhysicalDeviceFloatControlsProperties, DescriptorSetLayoutBindingFlagsCreateInfo, PhysicalDeviceDescriptorIndexingFeatures, PhysicalDeviceDescriptorIndexingProperties, DescriptorSetVariableDescriptorCountAllocateInfo, DescriptorSetVariableDescriptorCountLayoutSupport, PhysicalDeviceScalarBlockLayoutFeatures, PhysicalDeviceSamplerFilterMinmaxProperties, SamplerReductionModeCreateInfo, PhysicalDeviceUniformBufferStandardLayoutFeatures, PhysicalDeviceShaderSubgroupExtendedTypesFeatures, AttachmentDescription2, AttachmentReference2, SubpassDescription2, SubpassDependency2, RenderPassCreateInfo2, SubpassBeginInfo, SubpassEndInfo, PhysicalDeviceDepthStencilResolveProperties, SubpassDescriptionDepthStencilResolve, ImageStencilUsageCreateInfo, PhysicalDeviceImagelessFramebufferFeatures, FramebufferAttachmentsCreateInfo, FramebufferAttachmentImageInfo, RenderPassAttachmentBeginInfo, PhysicalDeviceSeparateDepthStencilLayoutsFeatures, AttachmentReferenceStencilLayout, AttachmentDescriptionStencilLayout, PhysicalDeviceVulkan13Features, PhysicalDeviceVulkan13Properties, PhysicalDeviceToolProperties, PhysicalDevicePrivateDataFeatures, DevicePrivateDataCreateInfo, PrivateDataSlotCreateInfo, MemoryBarrier2, BufferMemoryBarrier2, ImageMemoryBarrier2, DependencyInfo, SubmitInfo2, SemaphoreSubmitInfo, CommandBufferSubmitInfo, PhysicalDeviceSynchronization2Features, CopyBufferInfo2, CopyImageInfo2, CopyBufferToImageInfo2, CopyImageToBufferInfo2, BufferCopy2, ImageCopy2, BufferImageCopy2, PhysicalDeviceTextureCompressionAstcHdrFeatures, FormatProperties3, PhysicalDeviceMaintenance4Features, PhysicalDeviceMaintenance4Properties, DeviceBufferMemoryRequirements, DeviceImageMemoryRequirements, PipelineCreationFeedbackCreateInfo, PhysicalDeviceShaderTerminateInvocationFeatures, PhysicalDeviceShaderDemoteToHelperInvocationFeatures, PhysicalDevicePipelineCreationCacheControlFeatures, PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures, PhysicalDeviceImageRobustnessFeatures, PhysicalDeviceSubgroupSizeControlProperties, PipelineShaderStageRequiredSubgroupSizeCreateInfo, PhysicalDeviceSubgroupSizeControlFeatures, PhysicalDeviceInlineUniformBlockFeatures, PhysicalDeviceInlineUniformBlockProperties, WriteDescriptorSetInlineUniformBlock, DescriptorPoolInlineUniformBlockCreateInfo, PhysicalDeviceShaderIntegerDotProductFeatures, PhysicalDeviceShaderIntegerDotProductProperties, PhysicalDeviceTexelBufferAlignmentProperties, BlitImageInfo2, ResolveImageInfo2, ImageBlit2, ImageResolve2, RenderingInfo, RenderingAttachmentInfo, PipelineRenderingCreateInfo, PhysicalDeviceDynamicRenderingFeatures, CommandBufferInheritanceRenderingInfo, PhysicalDeviceVulkan14Features, PhysicalDeviceVulkan14Properties, DeviceQueueGlobalPriorityCreateInfo, PhysicalDeviceGlobalPriorityQueryFeatures, QueueFamilyGlobalPriorityProperties, PhysicalDeviceIndexTypeUint8Features, MemoryMapInfo, MemoryUnmapInfo, PhysicalDeviceMaintenance5Features, PhysicalDeviceMaintenance5Properties, DeviceImageSubresourceInfo, SubresourceLayout2, ImageSubresource2, BufferUsageFlags2CreateInfo, PhysicalDeviceMaintenance6Features, PhysicalDeviceMaintenance6Properties, BindMemoryStatus, PhysicalDeviceHostImageCopyFeatures, PhysicalDeviceHostImageCopyProperties, MemoryToImageCopy, ImageToMemoryCopy, CopyImageToMemoryInfo, CopyMemoryToImageInfo, HostImageLayoutTransitionInfo, CopyImageToImageInfo, SubresourceHostMemcpySize, HostImageCopyDevicePerformanceQuery, PhysicalDeviceShaderSubgroupRotateFeatures, PhysicalDeviceShaderFloatControls2Features, PhysicalDeviceShaderExpectAssumeFeatures, PipelineCreateFlags2CreateInfo, PhysicalDevicePushDescriptorProperties, BindDescriptorSetsInfo, PushConstantsInfo, PushDescriptorSetInfo, PushDescriptorSetWithTemplateInfo, PhysicalDevicePipelineProtectedAccessFeatures, PipelineRobustnessCreateInfo, PhysicalDevicePipelineRobustnessFeatures, PhysicalDevicePipelineRobustnessProperties, PhysicalDeviceLineRasterizationFeatures, PipelineRasterizationLineStateCreateInfo, PhysicalDeviceLineRasterizationProperties, PhysicalDeviceVertexAttributeDivisorProperties, PipelineVertexInputDivisorStateCreateInfo, PhysicalDeviceVertexAttributeDivisorFeatures, RenderingAreaInfo, PhysicalDeviceDynamicRenderingLocalReadFeatures, RenderingAttachmentLocationInfo, RenderingInputAttachmentIndexInfo, PhysicalDeviceVulkanSc10Features, PhysicalDeviceVulkanSc10Properties, DeviceObjectReservationCreateInfo, CommandPoolMemoryReservationCreateInfo, CommandPoolMemoryConsumption, PipelinePoolSize, FaultData, FaultCallbackInfo, PipelineOfflineCreateInfo, SwapchainCreateInfoKhr, PresentInfoKhr, DeviceGroupPresentCapabilitiesKhr, ImageSwapchainCreateInfoKhr, BindImageMemorySwapchainInfoKhr, AcquireNextImageInfoKhr, DeviceGroupPresentInfoKhr, DeviceGroupSwapchainCreateInfoKhr, DisplayModeCreateInfoKhr, DisplaySurfaceCreateInfoKhr, DisplayPresentInfoKhr, XlibSurfaceCreateInfoKhr, XcbSurfaceCreateInfoKhr, WaylandSurfaceCreateInfoKhr, AndroidSurfaceCreateInfoKhr, Win32SurfaceCreateInfoKhr, NativeBufferAndroid, SwapchainImageCreateInfoAndroid, PhysicalDevicePresentationPropertiesAndroid, DebugReportCallbackCreateInfoExt, DebugReportCreateInfoExt, PipelineRasterizationStateRasterizationOrderAmd, DebugMarkerObjectNameInfoExt, DebugMarkerObjectTagInfoExt, DebugMarkerMarkerInfoExt, VideoProfileInfoKhr, VideoCapabilitiesKhr, VideoPictureResourceInfoKhr, VideoSessionMemoryRequirementsKhr, BindVideoSessionMemoryInfoKhr, VideoSessionCreateInfoKhr, VideoSessionParametersCreateInfoKhr, VideoSessionParametersUpdateInfoKhr, VideoBeginCodingInfoKhr, VideoEndCodingInfoKhr, VideoCodingControlInfoKhr, VideoReferenceSlotInfoKhr, QueueFamilyVideoPropertiesKhr, VideoProfileListInfoKhr, PhysicalDeviceVideoFormatInfoKhr, VideoFormatPropertiesKhr, QueueFamilyQueryResultStatusPropertiesKhr, VideoDecodeInfoKhr, VideoDecodeCapabilitiesKhr, VideoDecodeUsageInfoKhr, DedicatedAllocationImageCreateInfoNv, DedicatedAllocationBufferCreateInfoNv, DedicatedAllocationMemoryAllocateInfoNv, PhysicalDeviceTransformFeedbackFeaturesExt, PhysicalDeviceTransformFeedbackPropertiesExt, PipelineRasterizationStateStreamCreateInfoExt, CuModuleCreateInfoNvx, CuFunctionCreateInfoNvx, CuLaunchInfoNvx, CuModuleTexturingModeCreateInfoNvx, ImageViewHandleInfoNvx, ImageViewAddressPropertiesNvx, VideoEncodeH264CapabilitiesKhr, VideoEncodeH264SessionParametersCreateInfoKhr, VideoEncodeH264SessionParametersAddInfoKhr, VideoEncodeH264PictureInfoKhr, VideoEncodeH264DpbSlotInfoKhr, VideoEncodeH264NaluSliceInfoKhr, VideoEncodeH264GopRemainingFrameInfoKhr, VideoEncodeH264ProfileInfoKhr, VideoEncodeH264RateControlInfoKhr, VideoEncodeH264RateControlLayerInfoKhr, VideoEncodeH264SessionCreateInfoKhr, VideoEncodeH264QualityLevelPropertiesKhr, VideoEncodeH264SessionParametersGetInfoKhr, VideoEncodeH264SessionParametersFeedbackInfoKhr, VideoEncodeH265CapabilitiesKhr, VideoEncodeH265SessionParametersCreateInfoKhr, VideoEncodeH265SessionParametersAddInfoKhr, VideoEncodeH265PictureInfoKhr, VideoEncodeH265DpbSlotInfoKhr, VideoEncodeH265NaluSliceSegmentInfoKhr, VideoEncodeH265GopRemainingFrameInfoKhr, VideoEncodeH265ProfileInfoKhr, VideoEncodeH265RateControlInfoKhr, VideoEncodeH265RateControlLayerInfoKhr, VideoEncodeH265SessionCreateInfoKhr, VideoEncodeH265QualityLevelPropertiesKhr, VideoEncodeH265SessionParametersGetInfoKhr, VideoEncodeH265SessionParametersFeedbackInfoKhr, VideoDecodeH264CapabilitiesKhr, VideoDecodeH264PictureInfoKhr, VideoDecodeH264ProfileInfoKhr, VideoDecodeH264SessionParametersCreateInfoKhr, VideoDecodeH264SessionParametersAddInfoKhr, VideoDecodeH264DpbSlotInfoKhr, TextureLodGatherFormatPropertiesAmd, RenderingInfoKhr, RenderingAttachmentInfoKhr, PipelineRenderingCreateInfoKhr, PhysicalDeviceDynamicRenderingFeaturesKhr, CommandBufferInheritanceRenderingInfoKhr, StreamDescriptorSurfaceCreateInfoGgp, PhysicalDeviceCornerSampledImageFeaturesNv, PrivateVendorInfoPlaceholderOffset0Nv, RenderPassMultiviewCreateInfoKhr, PhysicalDeviceMultiviewFeaturesKhr, PhysicalDeviceMultiviewPropertiesKhr, ExternalMemoryImageCreateInfoNv, ExportMemoryAllocateInfoNv, ImportMemoryWin32HandleInfoNv, ExportMemoryWin32HandleInfoNv, Win32KeyedMutexAcquireReleaseInfoNv, PhysicalDeviceFeatures2Khr, PhysicalDeviceProperties2Khr, FormatProperties2Khr, ImageFormatProperties2Khr, PhysicalDeviceImageFormatInfo2Khr, QueueFamilyProperties2Khr, PhysicalDeviceMemoryProperties2Khr, SparseImageFormatProperties2Khr, PhysicalDeviceSparseImageFormatInfo2Khr, MemoryAllocateFlagsInfoKhr, DeviceGroupRenderPassBeginInfoKhr, DeviceGroupCommandBufferBeginInfoKhr, DeviceGroupSubmitInfoKhr, DeviceGroupBindSparseInfoKhr, BindBufferMemoryDeviceGroupInfoKhr, BindImageMemoryDeviceGroupInfoKhr, ValidationFlagsExt, ViSurfaceCreateInfoNn, PhysicalDeviceTextureCompressionAstcHdrFeaturesExt, ImageViewAstcDecodeModeExt, PhysicalDeviceAstcDecodeFeaturesExt, PipelineRobustnessCreateInfoExt, PhysicalDevicePipelineRobustnessFeaturesExt, PhysicalDevicePipelineRobustnessPropertiesExt, PhysicalDeviceGroupPropertiesKhr, DeviceGroupDeviceCreateInfoKhr, PhysicalDeviceExternalImageFormatInfoKhr, ExternalImageFormatPropertiesKhr, PhysicalDeviceExternalBufferInfoKhr, ExternalBufferPropertiesKhr, PhysicalDeviceIdPropertiesKhr, ExternalMemoryBufferCreateInfoKhr, ExternalMemoryImageCreateInfoKhr, ExportMemoryAllocateInfoKhr, ImportMemoryWin32HandleInfoKhr, ExportMemoryWin32HandleInfoKhr, MemoryWin32HandlePropertiesKhr, MemoryGetWin32HandleInfoKhr, ImportMemoryFdInfoKhr, MemoryFdPropertiesKhr, MemoryGetFdInfoKhr, Win32KeyedMutexAcquireReleaseInfoKhr, PhysicalDeviceExternalSemaphoreInfoKhr, ExternalSemaphorePropertiesKhr, ExportSemaphoreCreateInfoKhr, ImportSemaphoreWin32HandleInfoKhr, ExportSemaphoreWin32HandleInfoKhr, D3d12FenceSubmitInfoKhr, SemaphoreGetWin32HandleInfoKhr, ImportSemaphoreFdInfoKhr, SemaphoreGetFdInfoKhr, PhysicalDevicePushDescriptorPropertiesKhr, CommandBufferInheritanceConditionalRenderingInfoExt, PhysicalDeviceConditionalRenderingFeaturesExt, ConditionalRenderingBeginInfoExt, PhysicalDeviceShaderFloat16Int8FeaturesKhr, PhysicalDeviceFloat16Int8FeaturesKhr, PhysicalDevice16bitStorageFeaturesKhr, PresentRegionsKhr, DescriptorUpdateTemplateCreateInfoKhr, PipelineViewportWScalingStateCreateInfoNv, SurfaceCapabilities2Ext, DisplayPowerInfoExt, DeviceEventInfoExt, DisplayEventInfoExt, SwapchainCounterCreateInfoExt, PresentTimesInfoGoogle, PhysicalDeviceMultiviewPerViewAttributesPropertiesNvx, MultiviewPerViewAttributesInfoNvx, PipelineViewportSwizzleStateCreateInfoNv, PhysicalDeviceDiscardRectanglePropertiesExt, PipelineDiscardRectangleStateCreateInfoExt, PhysicalDeviceConservativeRasterizationPropertiesExt, PipelineRasterizationConservativeStateCreateInfoExt, PhysicalDeviceDepthClipEnableFeaturesExt, PipelineRasterizationDepthClipStateCreateInfoExt, HdrMetadataExt, PhysicalDeviceImagelessFramebufferFeaturesKhr, FramebufferAttachmentsCreateInfoKhr, FramebufferAttachmentImageInfoKhr, RenderPassAttachmentBeginInfoKhr, AttachmentDescription2Khr, AttachmentReference2Khr, SubpassDescription2Khr, SubpassDependency2Khr, RenderPassCreateInfo2Khr, SubpassBeginInfoKhr, SubpassEndInfoKhr, PhysicalDeviceRelaxedLineRasterizationFeaturesImg, SharedPresentSurfaceCapabilitiesKhr, PhysicalDeviceExternalFenceInfoKhr, ExternalFencePropertiesKhr, ExportFenceCreateInfoKhr, ImportFenceWin32HandleInfoKhr, ExportFenceWin32HandleInfoKhr, FenceGetWin32HandleInfoKhr, ImportFenceFdInfoKhr, FenceGetFdInfoKhr, PhysicalDevicePerformanceQueryFeaturesKhr, PhysicalDevicePerformanceQueryPropertiesKhr, QueryPoolPerformanceCreateInfoKhr, PerformanceQuerySubmitInfoKhr, AcquireProfilingLockInfoKhr, PerformanceCounterKhr, PerformanceCounterDescriptionKhr, PerformanceQueryReservationInfoKhr, PhysicalDevicePointClippingPropertiesKhr, RenderPassInputAttachmentAspectCreateInfoKhr, ImageViewUsageCreateInfoKhr, PipelineTessellationDomainOriginStateCreateInfoKhr, PhysicalDeviceSurfaceInfo2Khr, SurfaceCapabilities2Khr, SurfaceFormat2Khr, PhysicalDeviceVariablePointersFeaturesKhr, PhysicalDeviceVariablePointerFeaturesKhr, DisplayProperties2Khr, DisplayPlaneProperties2Khr, DisplayModeProperties2Khr, DisplayPlaneInfo2Khr, DisplayPlaneCapabilities2Khr, IosSurfaceCreateInfoMvk, MacosSurfaceCreateInfoMvk, MemoryDedicatedRequirementsKhr, MemoryDedicatedAllocateInfoKhr, DebugUtilsObjectNameInfoExt, DebugUtilsObjectTagInfoExt, DebugUtilsLabelExt, DebugUtilsMessengerCallbackDataExt, DebugUtilsMessengerCreateInfoExt, AndroidHardwareBufferUsageAndroid, AndroidHardwareBufferPropertiesAndroid, AndroidHardwareBufferFormatPropertiesAndroid, ImportAndroidHardwareBufferInfoAndroid, MemoryGetAndroidHardwareBufferInfoAndroid, ExternalFormatAndroid, AndroidHardwareBufferFormatProperties2Android, PhysicalDeviceSamplerFilterMinmaxPropertiesExt, SamplerReductionModeCreateInfoExt, PhysicalDeviceShaderEnqueueFeaturesAmdx, PhysicalDeviceShaderEnqueuePropertiesAmdx, ExecutionGraphPipelineScratchSizeAmdx, ExecutionGraphPipelineCreateInfoAmdx, PipelineShaderStageNodeCreateInfoAmdx, TexelBufferDescriptorInfoExt, ImageDescriptorInfoExt, ResourceDescriptorInfoExt, BindHeapInfoExt, PushDataInfoExt, DescriptorSetAndBindingMappingExt, ShaderDescriptorSetAndBindingMappingInfoExt, OpaqueCaptureDataCreateInfoExt, PhysicalDeviceDescriptorHeapPropertiesExt, PhysicalDeviceDescriptorHeapFeaturesExt, CommandBufferInheritanceDescriptorHeapInfoExt, SamplerCustomBorderColorIndexCreateInfoExt, IndirectCommandsLayoutPushDataTokenNv, SubsampledImageFormatPropertiesExt, PhysicalDeviceDescriptorHeapTensorPropertiesArm, AttachmentSampleCountInfoAmd, PhysicalDeviceInlineUniformBlockFeaturesExt, PhysicalDeviceInlineUniformBlockPropertiesExt, WriteDescriptorSetInlineUniformBlockExt, DescriptorPoolInlineUniformBlockCreateInfoExt, PhysicalDeviceShaderBfloat16FeaturesKhr, SampleLocationsInfoExt, RenderPassSampleLocationsBeginInfoExt, PipelineSampleLocationsStateCreateInfoExt, PhysicalDeviceSampleLocationsPropertiesExt, MultisamplePropertiesExt, BufferMemoryRequirementsInfo2Khr, ImageMemoryRequirementsInfo2Khr, ImageSparseMemoryRequirementsInfo2Khr, MemoryRequirements2Khr, SparseImageMemoryRequirements2Khr, ImageFormatListCreateInfoKhr, PhysicalDeviceBlendOperationAdvancedFeaturesExt, PhysicalDeviceBlendOperationAdvancedPropertiesExt, PipelineColorBlendAdvancedStateCreateInfoExt, PipelineCoverageToColorStateCreateInfoNv, WriteDescriptorSetAccelerationStructureKhr, AccelerationStructureBuildGeometryInfoKhr, AccelerationStructureDeviceAddressInfoKhr, AccelerationStructureGeometryAabbsDataKhr, AccelerationStructureGeometryInstancesDataKhr, AccelerationStructureGeometryTrianglesDataKhr, AccelerationStructureGeometryKhr, AccelerationStructureVersionInfoKhr, CopyAccelerationStructureInfoKhr, CopyAccelerationStructureToMemoryInfoKhr, CopyMemoryToAccelerationStructureInfoKhr, PhysicalDeviceAccelerationStructureFeaturesKhr, PhysicalDeviceAccelerationStructurePropertiesKhr, AccelerationStructureCreateInfoKhr, AccelerationStructureBuildSizesInfoKhr, PhysicalDeviceRayTracingPipelineFeaturesKhr, PhysicalDeviceRayTracingPipelinePropertiesKhr, RayTracingPipelineCreateInfoKhr, RayTracingShaderGroupCreateInfoKhr, RayTracingPipelineInterfaceCreateInfoKhr, PhysicalDeviceRayQueryFeaturesKhr, PipelineCoverageModulationStateCreateInfoNv, AttachmentSampleCountInfoNv, PhysicalDeviceShaderSmBuiltinsFeaturesNv, PhysicalDeviceShaderSmBuiltinsPropertiesNv, SamplerYcbcrConversionCreateInfoKhr, SamplerYcbcrConversionInfoKhr, BindImagePlaneMemoryInfoKhr, ImagePlaneMemoryRequirementsInfoKhr, PhysicalDeviceSamplerYcbcrConversionFeaturesKhr, SamplerYcbcrConversionImageFormatPropertiesKhr, BindBufferMemoryInfoKhr, BindImageMemoryInfoKhr, DrmFormatModifierPropertiesListExt, PhysicalDeviceImageDrmFormatModifierInfoExt, ImageDrmFormatModifierListCreateInfoExt, ImageDrmFormatModifierExplicitCreateInfoExt, ImageDrmFormatModifierPropertiesExt, DrmFormatModifierPropertiesList2Ext, ValidationCacheCreateInfoExt, ShaderModuleValidationCacheCreateInfoExt, DescriptorSetLayoutBindingFlagsCreateInfoExt, PhysicalDeviceDescriptorIndexingFeaturesExt, PhysicalDeviceDescriptorIndexingPropertiesExt, DescriptorSetVariableDescriptorCountAllocateInfoExt, DescriptorSetVariableDescriptorCountLayoutSupportExt, PhysicalDevicePortabilitySubsetFeaturesKhr, PhysicalDevicePortabilitySubsetPropertiesKhr, PipelineViewportShadingRateImageStateCreateInfoNv, PhysicalDeviceShadingRateImageFeaturesNv, PhysicalDeviceShadingRateImagePropertiesNv, PipelineViewportCoarseSampleOrderStateCreateInfoNv, RayTracingPipelineCreateInfoNv, AccelerationStructureCreateInfoNv, GeometryNv, GeometryTrianglesNv, GeometryAabbNv, BindAccelerationStructureMemoryInfoNv, WriteDescriptorSetAccelerationStructureNv, AccelerationStructureMemoryRequirementsInfoNv, PhysicalDeviceRayTracingPropertiesNv, RayTracingShaderGroupCreateInfoNv, AccelerationStructureInfoNv, PhysicalDeviceRepresentativeFragmentTestFeaturesNv, PipelineRepresentativeFragmentTestStateCreateInfoNv, PhysicalDeviceMaintenance3PropertiesKhr, DescriptorSetLayoutSupportKhr, PhysicalDeviceImageViewImageFormatInfoExt, FilterCubicImageViewImageFormatPropertiesExt, PhysicalDeviceCooperativeMatrixConversionFeaturesQcom, DeviceQueueGlobalPriorityCreateInfoExt, PhysicalDeviceShaderSubgroupExtendedTypesFeaturesKhr, PhysicalDevice8bitStorageFeaturesKhr, ImportMemoryHostPointerInfoExt, MemoryHostPointerPropertiesExt, PhysicalDeviceExternalMemoryHostPropertiesExt, PhysicalDeviceShaderAtomicInt64FeaturesKhr, PhysicalDeviceShaderClockFeaturesKhr, PipelineCompilerControlCreateInfoAmd, CalibratedTimestampInfoExt, PhysicalDeviceShaderCorePropertiesAmd, VideoDecodeH265CapabilitiesKhr, VideoDecodeH265SessionParametersCreateInfoKhr, VideoDecodeH265SessionParametersAddInfoKhr, VideoDecodeH265ProfileInfoKhr, VideoDecodeH265PictureInfoKhr, VideoDecodeH265DpbSlotInfoKhr, DeviceQueueGlobalPriorityCreateInfoKhr, PhysicalDeviceGlobalPriorityQueryFeaturesKhr, QueueFamilyGlobalPriorityPropertiesKhr, DeviceMemoryOverallocationCreateInfoAmd, PhysicalDeviceVertexAttributeDivisorPropertiesExt, PipelineVertexInputDivisorStateCreateInfoExt, PhysicalDeviceVertexAttributeDivisorFeaturesExt, PresentFrameTokenGgp, PipelineCreationFeedbackCreateInfoExt, PhysicalDeviceDriverPropertiesKhr, PhysicalDeviceFloatControlsPropertiesKhr, PhysicalDeviceDepthStencilResolvePropertiesKhr, SubpassDescriptionDepthStencilResolveKhr, PhysicalDeviceComputeShaderDerivativesFeaturesNv, PhysicalDeviceMeshShaderFeaturesNv, PhysicalDeviceMeshShaderPropertiesNv, PhysicalDeviceFragmentShaderBarycentricFeaturesNv, PhysicalDeviceShaderImageFootprintFeaturesNv, PipelineViewportExclusiveScissorStateCreateInfoNv, PhysicalDeviceExclusiveScissorFeaturesNv, CheckpointDataNv, QueueFamilyCheckpointPropertiesNv, QueueFamilyCheckpointProperties2Nv, CheckpointData2Nv, PhysicalDeviceTimelineSemaphoreFeaturesKhr, PhysicalDeviceTimelineSemaphorePropertiesKhr, SemaphoreTypeCreateInfoKhr, TimelineSemaphoreSubmitInfoKhr, SemaphoreWaitInfoKhr, SemaphoreSignalInfoKhr, PhysicalDevicePresentTimingFeaturesExt, SwapchainTimingPropertiesExt, SwapchainTimeDomainPropertiesExt, PresentTimingsInfoExt, PresentTimingInfoExt, PastPresentationTimingInfoExt, PastPresentationTimingPropertiesExt, PastPresentationTimingExt, PresentTimingSurfaceCapabilitiesExt, SwapchainCalibratedTimestampInfoExt, PhysicalDeviceShaderIntegerFunctions2FeaturesIntel, QueryPoolPerformanceQueryCreateInfoIntel, QueryPoolCreateInfoIntel, InitializePerformanceApiInfoIntel, PerformanceMarkerInfoIntel, PerformanceStreamMarkerInfoIntel, PerformanceOverrideInfoIntel, PerformanceConfigurationAcquireInfoIntel, PhysicalDeviceVulkanMemoryModelFeaturesKhr, PhysicalDevicePciBusInfoPropertiesExt, DisplayNativeHdrSurfaceCapabilitiesAmd, SwapchainDisplayNativeHdrCreateInfoAmd, ImagepipeSurfaceCreateInfoFuchsia, PhysicalDeviceShaderTerminateInvocationFeaturesKhr, MetalSurfaceCreateInfoExt, PhysicalDeviceFragmentDensityMapFeaturesExt, PhysicalDeviceFragmentDensityMapPropertiesExt, RenderPassFragmentDensityMapCreateInfoExt, RenderingFragmentDensityMapAttachmentInfoExt, PhysicalDeviceScalarBlockLayoutFeaturesExt, PhysicalDeviceSubgroupSizeControlPropertiesExt, PipelineShaderStageRequiredSubgroupSizeCreateInfoExt, PhysicalDeviceSubgroupSizeControlFeaturesExt, FragmentShadingRateAttachmentInfoKhr, PipelineFragmentShadingRateStateCreateInfoKhr, PhysicalDeviceFragmentShadingRatePropertiesKhr, PhysicalDeviceFragmentShadingRateFeaturesKhr, PhysicalDeviceFragmentShadingRateKhr, RenderingFragmentShadingRateAttachmentInfoKhr, PhysicalDeviceShaderCoreProperties2Amd, PhysicalDeviceCoherentMemoryFeaturesAmd, PhysicalDeviceDynamicRenderingLocalReadFeaturesKhr, RenderingAttachmentLocationInfoKhr, RenderingInputAttachmentIndexInfoKhr, PhysicalDeviceShaderImageAtomicInt64FeaturesExt, PhysicalDeviceShaderQuadControlFeaturesKhr, PhysicalDeviceMemoryBudgetPropertiesExt, PhysicalDeviceMemoryPriorityFeaturesExt, MemoryPriorityAllocateInfoExt, SurfaceProtectedCapabilitiesKhr, PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNv, PhysicalDeviceSeparateDepthStencilLayoutsFeaturesKhr, AttachmentReferenceStencilLayoutKhr, AttachmentDescriptionStencilLayoutKhr, PhysicalDeviceBufferDeviceAddressFeaturesExt, PhysicalDeviceBufferAddressFeaturesExt, BufferDeviceAddressInfoExt, BufferDeviceAddressCreateInfoExt, PhysicalDeviceToolPropertiesExt, ImageStencilUsageCreateInfoExt, ValidationFeaturesExt, PhysicalDevicePresentWaitFeaturesKhr, PhysicalDeviceCooperativeMatrixFeaturesNv, CooperativeMatrixPropertiesNv, PhysicalDeviceCooperativeMatrixPropertiesNv, PhysicalDeviceCoverageReductionModeFeaturesNv, PipelineCoverageReductionStateCreateInfoNv, FramebufferMixedSamplesCombinationNv, PhysicalDeviceFragmentShaderInterlockFeaturesExt, PhysicalDeviceYcbcrImageArraysFeaturesExt, PhysicalDeviceUniformBufferStandardLayoutFeaturesKhr, PhysicalDeviceProvokingVertexFeaturesExt, PipelineRasterizationProvokingVertexStateCreateInfoExt, PhysicalDeviceProvokingVertexPropertiesExt, SurfaceFullScreenExclusiveInfoExt, SurfaceCapabilitiesFullScreenExclusiveExt, SurfaceFullScreenExclusiveWin32InfoExt, HeadlessSurfaceCreateInfoExt, PhysicalDeviceBufferDeviceAddressFeaturesKhr, BufferDeviceAddressInfoKhr, BufferOpaqueCaptureAddressCreateInfoKhr, MemoryOpaqueCaptureAddressAllocateInfoKhr, DeviceMemoryOpaqueCaptureAddressInfoKhr, PhysicalDeviceLineRasterizationFeaturesExt, PipelineRasterizationLineStateCreateInfoExt, PhysicalDeviceLineRasterizationPropertiesExt, PhysicalDeviceShaderAtomicFloatFeaturesExt, PhysicalDeviceHostQueryResetFeaturesExt, PhysicalDeviceIndexTypeUint8FeaturesExt, PhysicalDeviceExtendedDynamicStateFeaturesExt, PhysicalDevicePipelineExecutablePropertiesFeaturesKhr, PipelineInfoKhr, PipelineExecutablePropertiesKhr, PipelineExecutableInfoKhr, PipelineExecutableStatisticKhr, PipelineExecutableInternalRepresentationKhr, PhysicalDeviceHostImageCopyFeaturesExt, PhysicalDeviceHostImageCopyPropertiesExt, MemoryToImageCopyExt, ImageToMemoryCopyExt, CopyImageToMemoryInfoExt, CopyMemoryToImageInfoExt, HostImageLayoutTransitionInfoExt, CopyImageToImageInfoExt, SubresourceHostMemcpySizeExt, HostImageCopyDevicePerformanceQueryExt, MemoryMapInfoKhr, MemoryUnmapInfoKhr, PhysicalDeviceMapMemoryPlacedFeaturesExt, PhysicalDeviceMapMemoryPlacedPropertiesExt, MemoryMapPlacedInfoExt, PhysicalDeviceShaderAtomicFloat2FeaturesExt, SurfacePresentModeExt, SurfacePresentScalingCapabilitiesExt, SurfacePresentModeCompatibilityExt, PhysicalDeviceSwapchainMaintenance1FeaturesExt, SwapchainPresentFenceInfoExt, SwapchainPresentModesCreateInfoExt, SwapchainPresentModeInfoExt, SwapchainPresentScalingCreateInfoExt, ReleaseSwapchainImagesInfoExt, PhysicalDeviceShaderDemoteToHelperInvocationFeaturesExt, PhysicalDeviceDeviceGeneratedCommandsPropertiesNv, GraphicsShaderGroupCreateInfoNv, GraphicsPipelineShaderGroupsCreateInfoNv, IndirectCommandsLayoutTokenNv, IndirectCommandsLayoutCreateInfoNv, GeneratedCommandsInfoNv, GeneratedCommandsMemoryRequirementsInfoNv, PhysicalDeviceDeviceGeneratedCommandsFeaturesNv, PhysicalDeviceInheritedViewportScissorFeaturesNv, CommandBufferInheritanceViewportScissorInfoNv, PhysicalDeviceShaderIntegerDotProductFeaturesKhr, PhysicalDeviceShaderIntegerDotProductPropertiesKhr, PhysicalDeviceTexelBufferAlignmentFeaturesExt, PhysicalDeviceTexelBufferAlignmentPropertiesExt, CommandBufferInheritanceRenderPassTransformInfoQcom, RenderPassTransformBeginInfoQcom, PhysicalDeviceDepthBiasControlFeaturesExt, DepthBiasInfoExt, DepthBiasRepresentationInfoExt, PhysicalDeviceDeviceMemoryReportFeaturesExt, DeviceDeviceMemoryReportCreateInfoExt, DeviceMemoryReportCallbackDataExt, PhysicalDeviceRobustness2FeaturesExt, PhysicalDeviceRobustness2PropertiesExt, SamplerCustomBorderColorCreateInfoExt, PhysicalDeviceCustomBorderColorPropertiesExt, PhysicalDeviceCustomBorderColorFeaturesExt, PhysicalDeviceTextureCompressionAstc3dFeaturesExt, PipelineLibraryCreateInfoKhr, PhysicalDevicePresentBarrierFeaturesNv, SurfaceCapabilitiesPresentBarrierNv, SwapchainPresentBarrierCreateInfoNv, PresentIdKhr, PhysicalDevicePresentIdFeaturesKhr, PhysicalDevicePrivateDataFeaturesExt, DevicePrivateDataCreateInfoExt, PrivateDataSlotCreateInfoExt, PhysicalDevicePipelineCreationCacheControlFeaturesExt, VideoEncodeInfoKhr, VideoEncodeRateControlInfoKhr, VideoEncodeRateControlLayerInfoKhr, VideoEncodeCapabilitiesKhr, VideoEncodeUsageInfoKhr, QueryPoolVideoEncodeFeedbackCreateInfoKhr, PhysicalDeviceVideoEncodeQualityLevelInfoKhr, VideoEncodeQualityLevelPropertiesKhr, VideoEncodeQualityLevelInfoKhr, VideoEncodeSessionParametersGetInfoKhr, VideoEncodeSessionParametersFeedbackInfoKhr, PhysicalDeviceDiagnosticsConfigFeaturesNv, DeviceDiagnosticsConfigCreateInfoNv, CudaModuleCreateInfoNv, CudaFunctionCreateInfoNv, CudaLaunchInfoNv, PhysicalDeviceCudaKernelLaunchFeaturesNv, PhysicalDeviceCudaKernelLaunchPropertiesNv, RefreshObjectListKhr, PhysicalDeviceTileShadingFeaturesQcom, PhysicalDeviceTileShadingPropertiesQcom, RenderPassTileShadingCreateInfoQcom, PerTileBeginInfoQcom, PerTileEndInfoQcom, DispatchTileInfoQcom, QueryLowLatencySupportNv, ExportMetalObjectCreateInfoExt, ExportMetalObjectsInfoExt, ExportMetalDeviceInfoExt, ExportMetalCommandQueueInfoExt, ExportMetalBufferInfoExt, ImportMetalBufferInfoExt, ExportMetalTextureInfoExt, ImportMetalTextureInfoExt, ExportMetalIoSurfaceInfoExt, ImportMetalIoSurfaceInfoExt, ExportMetalSharedEventInfoExt, ImportMetalSharedEventInfoExt, MemoryBarrier2Khr, BufferMemoryBarrier2Khr, ImageMemoryBarrier2Khr, DependencyInfoKhr, SubmitInfo2Khr, SemaphoreSubmitInfoKhr, CommandBufferSubmitInfoKhr, PhysicalDeviceSynchronization2FeaturesKhr, PhysicalDeviceDescriptorBufferPropertiesExt, PhysicalDeviceDescriptorBufferDensityMapPropertiesExt, PhysicalDeviceDescriptorBufferFeaturesExt, DescriptorAddressInfoExt, DescriptorGetInfoExt, BufferCaptureDescriptorDataInfoExt, ImageCaptureDescriptorDataInfoExt, ImageViewCaptureDescriptorDataInfoExt, SamplerCaptureDescriptorDataInfoExt, OpaqueCaptureDescriptorDataCreateInfoExt, DescriptorBufferBindingInfoExt, DescriptorBufferBindingPushDescriptorBufferHandleExt, AccelerationStructureCaptureDescriptorDataInfoExt, DeviceMemoryCopyKhr, CopyDeviceMemoryInfoKhr, DeviceMemoryImageCopyKhr, CopyDeviceMemoryImageInfoKhr, MemoryRangeBarriersInfoKhr, MemoryRangeBarrierKhr, PhysicalDeviceDeviceAddressCommandsFeaturesKhr, BindIndexBuffer3InfoKhr, BindVertexBuffer3InfoKhr, DrawIndirect2InfoKhr, DrawIndirectCount2InfoKhr, DispatchIndirect2InfoKhr, ConditionalRenderingBeginInfo2Ext, BindTransformFeedbackBuffer2InfoExt, MemoryMarkerInfoAmd, AccelerationStructureCreateInfo2Khr, PhysicalDeviceGraphicsPipelineLibraryFeaturesExt, PhysicalDeviceGraphicsPipelineLibraryPropertiesExt, GraphicsPipelineLibraryCreateInfoExt, PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAmd, PhysicalDeviceFragmentShaderBarycentricFeaturesKhr, PhysicalDeviceFragmentShaderBarycentricPropertiesKhr, PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKhr, PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKhr, PhysicalDeviceFragmentShadingRateEnumsPropertiesNv, PhysicalDeviceFragmentShadingRateEnumsFeaturesNv, PipelineFragmentShadingRateEnumStateCreateInfoNv, AccelerationStructureGeometryMotionTrianglesDataNv, PhysicalDeviceRayTracingMotionBlurFeaturesNv, AccelerationStructureMotionInfoNv, PhysicalDeviceMeshShaderFeaturesExt, PhysicalDeviceMeshShaderPropertiesExt, PhysicalDeviceYcbcr2Plane444FormatsFeaturesExt, PhysicalDeviceFragmentDensityMap2FeaturesExt, PhysicalDeviceFragmentDensityMap2PropertiesExt, CopyCommandTransformInfoQcom, PhysicalDeviceImageRobustnessFeaturesExt, PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKhr, CopyBufferInfo2Khr, CopyImageInfo2Khr, CopyBufferToImageInfo2Khr, CopyImageToBufferInfo2Khr, BlitImageInfo2Khr, ResolveImageInfo2Khr, BufferCopy2Khr, ImageCopy2Khr, ImageBlit2Khr, BufferImageCopy2Khr, ImageResolve2Khr, PhysicalDeviceImageCompressionControlFeaturesExt, ImageCompressionControlExt, SubresourceLayout2Ext, ImageSubresource2Ext, ImageCompressionPropertiesExt, PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesExt, PhysicalDevice4444FormatsFeaturesExt, PhysicalDeviceFaultFeaturesExt, DeviceFaultCountsExt, DeviceFaultInfoExt, PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesArm, PhysicalDeviceRgba10x6FormatsFeaturesExt, DirectfbSurfaceCreateInfoExt, PhysicalDeviceMutableDescriptorTypeFeaturesValve, MutableDescriptorTypeCreateInfoValve, PhysicalDeviceVertexInputDynamicStateFeaturesExt, VertexInputBindingDescription2Ext, VertexInputAttributeDescription2Ext, PhysicalDeviceDrmPropertiesExt, PhysicalDeviceAddressBindingReportFeaturesExt, DeviceAddressBindingCallbackDataExt, PhysicalDeviceDepthClipControlFeaturesExt, PipelineViewportDepthClipControlCreateInfoExt, PhysicalDevicePrimitiveTopologyListRestartFeaturesExt, FormatProperties3Khr, PhysicalDevicePresentModeFifoLatestReadyFeaturesExt, ImportMemoryZirconHandleInfoFuchsia, MemoryZirconHandlePropertiesFuchsia, MemoryGetZirconHandleInfoFuchsia, ImportSemaphoreZirconHandleInfoFuchsia, SemaphoreGetZirconHandleInfoFuchsia, BufferCollectionCreateInfoFuchsia, ImportMemoryBufferCollectionFuchsia, BufferCollectionImageCreateInfoFuchsia, BufferCollectionPropertiesFuchsia, BufferConstraintsInfoFuchsia, BufferCollectionBufferCreateInfoFuchsia, ImageConstraintsInfoFuchsia, ImageFormatConstraintsInfoFuchsia, SysmemColorSpaceFuchsia, BufferCollectionConstraintsInfoFuchsia, SubpassShadingPipelineCreateInfoHuawei, PhysicalDeviceSubpassShadingFeaturesHuawei, PhysicalDeviceSubpassShadingPropertiesHuawei, PhysicalDeviceInvocationMaskFeaturesHuawei, MemoryGetRemoteAddressInfoNv, PhysicalDeviceExternalMemoryRdmaFeaturesNv, PipelinePropertiesIdentifierExt, PhysicalDevicePipelinePropertiesFeaturesExt, PipelineInfoExt, ImportFenceSciSyncInfoNv, ExportFenceSciSyncInfoNv, FenceGetSciSyncInfoNv, SciSyncAttributesInfoNv, ImportSemaphoreSciSyncInfoNv, ExportSemaphoreSciSyncInfoNv, SemaphoreGetSciSyncInfoNv, PhysicalDeviceExternalSciSyncFeaturesNv, ImportMemorySciBufInfoNv, ExportMemorySciBufInfoNv, MemoryGetSciBufInfoNv, MemorySciBufPropertiesNv, PhysicalDeviceExternalMemorySciBufFeaturesNv, PhysicalDeviceExternalSciBufFeaturesNv, PhysicalDeviceFrameBoundaryFeaturesExt, FrameBoundaryExt, PhysicalDeviceMultisampledRenderToSingleSampledFeaturesExt, SubpassResolvePerformanceQueryExt, MultisampledRenderToSingleSampledInfoExt, PhysicalDeviceExtendedDynamicState2FeaturesExt, ScreenSurfaceCreateInfoQnx, PhysicalDeviceColorWriteEnableFeaturesExt, PipelineColorWriteCreateInfoExt, PhysicalDevicePrimitivesGeneratedQueryFeaturesExt, PhysicalDeviceRayTracingMaintenance1FeaturesKhr, PhysicalDeviceShaderUntypedPointersFeaturesKhr, PhysicalDeviceGlobalPriorityQueryFeaturesExt, QueueFamilyGlobalPriorityPropertiesExt, PhysicalDeviceVideoEncodeRgbConversionFeaturesValve, VideoEncodeRgbConversionCapabilitiesValve, VideoEncodeProfileRgbConversionInfoValve, VideoEncodeSessionRgbConversionCreateInfoValve, PhysicalDeviceImageViewMinLodFeaturesExt, ImageViewMinLodCreateInfoExt, PhysicalDeviceMultiDrawFeaturesExt, PhysicalDeviceMultiDrawPropertiesExt, PhysicalDeviceImage2dViewOf3dFeaturesExt, PhysicalDeviceShaderTileImageFeaturesExt, PhysicalDeviceShaderTileImagePropertiesExt, MicromapBuildInfoExt, MicromapVersionInfoExt, CopyMicromapInfoExt, CopyMicromapToMemoryInfoExt, CopyMemoryToMicromapInfoExt, PhysicalDeviceOpacityMicromapFeaturesExt, PhysicalDeviceOpacityMicromapPropertiesExt, MicromapCreateInfoExt, MicromapBuildSizesInfoExt, AccelerationStructureTrianglesOpacityMicromapExt, PhysicalDeviceDisplacementMicromapFeaturesNv, PhysicalDeviceDisplacementMicromapPropertiesNv, AccelerationStructureTrianglesDisplacementMicromapNv, PhysicalDeviceClusterCullingShaderFeaturesHuawei, PhysicalDeviceClusterCullingShaderPropertiesHuawei, PhysicalDeviceClusterCullingShaderVrsFeaturesHuawei, PhysicalDeviceBorderColorSwizzleFeaturesExt, SamplerBorderColorComponentMappingCreateInfoExt, PhysicalDevicePageableDeviceLocalMemoryFeaturesExt, PhysicalDeviceMaintenance4FeaturesKhr, PhysicalDeviceMaintenance4PropertiesKhr, DeviceBufferMemoryRequirementsKhr, DeviceImageMemoryRequirementsKhr, PhysicalDeviceShaderCorePropertiesArm, PhysicalDeviceShaderSubgroupRotateFeaturesKhr, DeviceQueueShaderCoreControlCreateInfoArm, PhysicalDeviceSchedulingControlsFeaturesArm, PhysicalDeviceSchedulingControlsPropertiesArm, PhysicalDeviceImageSlicedViewOf3dFeaturesExt, ImageViewSlicedCreateInfoExt, PhysicalDeviceDescriptorSetHostMappingFeaturesValve, DescriptorSetBindingReferenceValve, DescriptorSetLayoutHostMappingInfoValve, PhysicalDeviceDepthClampZeroOneFeaturesExt, PhysicalDeviceNonSeamlessCubeMapFeaturesExt, PhysicalDeviceRenderPassStripedFeaturesArm, PhysicalDeviceRenderPassStripedPropertiesArm, RenderPassStripeBeginInfoArm, RenderPassStripeInfoArm, RenderPassStripeSubmitInfoArm, PhysicalDeviceFragmentDensityMapOffsetFeaturesQcom, PhysicalDeviceFragmentDensityMapOffsetPropertiesQcom, SubpassFragmentDensityMapOffsetEndInfoQcom, PhysicalDeviceCopyMemoryIndirectFeaturesNv, PhysicalDeviceCopyMemoryIndirectPropertiesNv, PhysicalDeviceMemoryDecompressionFeaturesNv, PhysicalDeviceMemoryDecompressionPropertiesNv, PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNv, ComputePipelineIndirectBufferInfoNv, PipelineIndirectDeviceAddressInfoNv, PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNv, AccelerationStructureGeometryLinearSweptSpheresDataNv, AccelerationStructureGeometrySpheresDataNv, PhysicalDeviceLinearColorAttachmentFeaturesNv, PhysicalDeviceShaderMaximalReconvergenceFeaturesKhr, ApplicationParametersExt, PhysicalDeviceImageCompressionControlSwapchainFeaturesExt, PhysicalDeviceImageProcessingFeaturesQcom, PhysicalDeviceImageProcessingPropertiesQcom, ImageViewSampleWeightCreateInfoQcom, PhysicalDeviceNestedCommandBufferFeaturesExt, PhysicalDeviceNestedCommandBufferPropertiesExt, NativeBufferUsageOhos, NativeBufferPropertiesOhos, NativeBufferFormatPropertiesOhos, ImportNativeBufferInfoOhos, MemoryGetNativeBufferInfoOhos, ExternalFormatOhos, ExternalMemoryAcquireUnmodifiedExt, PhysicalDeviceExtendedDynamicState3FeaturesExt, PhysicalDeviceExtendedDynamicState3PropertiesExt, PhysicalDeviceSubpassMergeFeedbackFeaturesExt, RenderPassCreationControlExt, RenderPassCreationFeedbackCreateInfoExt, RenderPassSubpassFeedbackCreateInfoExt, DirectDriverLoadingInfoLunarg, DirectDriverLoadingListLunarg, TensorCreateInfoArm, TensorViewCreateInfoArm, BindTensorMemoryInfoArm, WriteDescriptorSetTensorArm, PhysicalDeviceTensorPropertiesArm, TensorFormatPropertiesArm, TensorDescriptionArm, TensorMemoryRequirementsInfoArm, TensorMemoryBarrierArm, PhysicalDeviceTensorFeaturesArm, DeviceTensorMemoryRequirementsArm, CopyTensorInfoArm, TensorCopyArm, TensorDependencyInfoArm, MemoryDedicatedAllocateInfoTensorArm, PhysicalDeviceExternalTensorInfoArm, ExternalTensorPropertiesArm, ExternalMemoryTensorCreateInfoArm, PhysicalDeviceDescriptorBufferTensorFeaturesArm, PhysicalDeviceDescriptorBufferTensorPropertiesArm, DescriptorGetTensorInfoArm, TensorCaptureDescriptorDataInfoArm, TensorViewCaptureDescriptorDataInfoArm, FrameBoundaryTensorsArm, PhysicalDeviceShaderModuleIdentifierFeaturesExt, PhysicalDeviceShaderModuleIdentifierPropertiesExt, PipelineShaderStageModuleIdentifierCreateInfoExt, ShaderModuleIdentifierExt, PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesExt, PhysicalDeviceOpticalFlowFeaturesNv, PhysicalDeviceOpticalFlowPropertiesNv, OpticalFlowImageFormatInfoNv, OpticalFlowImageFormatPropertiesNv, OpticalFlowSessionCreateInfoNv, OpticalFlowExecuteInfoNv, OpticalFlowSessionCreatePrivateDataInfoNv, PhysicalDeviceLegacyDitheringFeaturesExt, PhysicalDevicePipelineProtectedAccessFeaturesExt, PhysicalDeviceExternalFormatResolveFeaturesAndroid, PhysicalDeviceExternalFormatResolvePropertiesAndroid, AndroidHardwareBufferFormatResolvePropertiesAndroid, PhysicalDeviceMaintenance5FeaturesKhr, PhysicalDeviceMaintenance5PropertiesKhr, RenderingAreaInfoKhr, DeviceImageSubresourceInfoKhr, SubresourceLayout2Khr, ImageSubresource2Khr, PipelineCreateFlags2CreateInfoKhr, BufferUsageFlags2CreateInfoKhr, PhysicalDeviceAntiLagFeaturesAmd, AntiLagDataAmd, AntiLagPresentationInfoAmd, PhysicalDeviceDenseGeometryFormatFeaturesAmdx, AccelerationStructureDenseGeometryFormatTrianglesDataAmdx, SurfaceCapabilitiesPresentId2Khr, PresentId2Khr, PhysicalDevicePresentId2FeaturesKhr, SurfaceCapabilitiesPresentWait2Khr, PhysicalDevicePresentWait2FeaturesKhr, PresentWait2InfoKhr, PhysicalDeviceRayTracingPositionFetchFeaturesKhr, PhysicalDeviceShaderObjectFeaturesExt, PhysicalDeviceShaderObjectPropertiesExt, ShaderCreateInfoExt, ShaderRequiredSubgroupSizeCreateInfoExt, PhysicalDevicePipelineBinaryFeaturesKhr, PipelineBinaryCreateInfoKhr, PipelineBinaryInfoKhr, PipelineBinaryKeyKhr, PhysicalDevicePipelineBinaryPropertiesKhr, ReleaseCapturedPipelineDataInfoKhr, PipelineBinaryDataInfoKhr, PipelineCreateInfoKhr, DevicePipelineBinaryInternalCacheControlKhr, PipelineBinaryHandlesInfoKhr, PhysicalDeviceTilePropertiesFeaturesQcom, TilePropertiesQcom, PhysicalDeviceAmigoProfilingFeaturesSec, AmigoProfilingSubmitInfoSec, SurfacePresentModeKhr, SurfacePresentScalingCapabilitiesKhr, SurfacePresentModeCompatibilityKhr, PhysicalDeviceSwapchainMaintenance1FeaturesKhr, SwapchainPresentFenceInfoKhr, SwapchainPresentModesCreateInfoKhr, SwapchainPresentModeInfoKhr, SwapchainPresentScalingCreateInfoKhr, ReleaseSwapchainImagesInfoKhr, PhysicalDeviceMultiviewPerViewViewportsFeaturesQcom, SemaphoreSciSyncPoolCreateInfoNv, SemaphoreSciSyncCreateInfoNv, PhysicalDeviceExternalSciSync2FeaturesNv, DeviceSemaphoreSciSyncPoolReservationCreateInfoNv, PhysicalDeviceRayTracingInvocationReorderFeaturesNv, PhysicalDeviceRayTracingInvocationReorderPropertiesNv, PhysicalDeviceCooperativeVectorFeaturesNv, PhysicalDeviceCooperativeVectorPropertiesNv, CooperativeVectorPropertiesNv, ConvertCooperativeVectorMatrixInfoNv, PhysicalDeviceExtendedSparseAddressSpaceFeaturesNv, PhysicalDeviceExtendedSparseAddressSpacePropertiesNv, PhysicalDeviceMutableDescriptorTypeFeaturesExt, MutableDescriptorTypeCreateInfoExt, PhysicalDeviceLegacyVertexAttributesFeaturesExt, PhysicalDeviceLegacyVertexAttributesPropertiesExt, LayerSettingsCreateInfoExt, PhysicalDeviceShaderCoreBuiltinsFeaturesArm, PhysicalDeviceShaderCoreBuiltinsPropertiesArm, PhysicalDevicePipelineLibraryGroupHandlesFeaturesExt, PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesExt, PhysicalDeviceInternallySynchronizedQueuesFeaturesKhr, LatencySleepModeInfoNv, LatencySleepInfoNv, SetLatencyMarkerInfoNv, GetLatencyMarkerInfoNv, LatencyTimingsFrameReportNv, LatencySubmissionPresentIdNv, OutOfBandQueueTypeInfoNv, SwapchainLatencyCreateInfoNv, LatencySurfaceCapabilitiesNv, PhysicalDeviceCooperativeMatrixFeaturesKhr, CooperativeMatrixPropertiesKhr, PhysicalDeviceCooperativeMatrixPropertiesKhr, DataGraphPipelineCreateInfoArm, DataGraphPipelineSessionCreateInfoArm, DataGraphPipelineResourceInfoArm, DataGraphPipelineConstantArm, DataGraphPipelineSessionMemoryRequirementsInfoArm, BindDataGraphPipelineSessionMemoryInfoArm, PhysicalDeviceDataGraphFeaturesArm, DataGraphPipelineShaderModuleCreateInfoArm, DataGraphPipelinePropertyQueryResultArm, DataGraphPipelineInfoArm, DataGraphPipelineCompilerControlCreateInfoArm, DataGraphPipelineSessionBindPointRequirementsInfoArm, DataGraphPipelineSessionBindPointRequirementArm, DataGraphPipelineIdentifierCreateInfoArm, DataGraphPipelineDispatchInfoArm, DataGraphProcessingEngineCreateInfoArm, QueueFamilyDataGraphProcessingEnginePropertiesArm, QueueFamilyDataGraphPropertiesArm, PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoArm, DataGraphPipelineConstantTensorSemiStructuredSparsityInfoArm, PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQcom, MultiviewPerViewRenderAreasRenderPassBeginInfoQcom, PhysicalDeviceComputeShaderDerivativesFeaturesKhr, PhysicalDeviceComputeShaderDerivativesPropertiesKhr, VideoDecodeAv1CapabilitiesKhr, VideoDecodeAv1PictureInfoKhr, VideoDecodeAv1ProfileInfoKhr, VideoDecodeAv1SessionParametersCreateInfoKhr, VideoDecodeAv1DpbSlotInfoKhr, VideoEncodeAv1CapabilitiesKhr, VideoEncodeAv1SessionParametersCreateInfoKhr, VideoEncodeAv1PictureInfoKhr, VideoEncodeAv1DpbSlotInfoKhr, PhysicalDeviceVideoEncodeAv1FeaturesKhr, VideoEncodeAv1ProfileInfoKhr, VideoEncodeAv1RateControlInfoKhr, VideoEncodeAv1RateControlLayerInfoKhr, VideoEncodeAv1QualityLevelPropertiesKhr, VideoEncodeAv1SessionCreateInfoKhr, VideoEncodeAv1GopRemainingFrameInfoKhr, PhysicalDeviceVideoDecodeVp9FeaturesKhr, VideoDecodeVp9CapabilitiesKhr, VideoDecodeVp9PictureInfoKhr, VideoDecodeVp9ProfileInfoKhr, PhysicalDeviceVideoMaintenance1FeaturesKhr, VideoInlineQueryInfoKhr, PhysicalDevicePerStageDescriptorSetFeaturesNv, PhysicalDeviceImageProcessing2FeaturesQcom, PhysicalDeviceImageProcessing2PropertiesQcom, SamplerBlockMatchWindowCreateInfoQcom, SamplerCubicWeightsCreateInfoQcom, PhysicalDeviceCubicWeightsFeaturesQcom, BlitImageCubicWeightsInfoQcom, PhysicalDeviceYcbcrDegammaFeaturesQcom, SamplerYcbcrConversionYcbcrDegammaCreateInfoQcom, PhysicalDeviceCubicClampFeaturesQcom, PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesExt, PhysicalDeviceVertexAttributeDivisorPropertiesKhr, PipelineVertexInputDivisorStateCreateInfoKhr, PhysicalDeviceVertexAttributeDivisorFeaturesKhr, PhysicalDeviceUnifiedImageLayoutsFeaturesKhr, AttachmentFeedbackLoopInfoExt, PhysicalDeviceShaderFloatControls2FeaturesKhr, ScreenBufferPropertiesQnx, ScreenBufferFormatPropertiesQnx, ImportScreenBufferInfoQnx, ExternalFormatQnx, PhysicalDeviceExternalMemoryScreenBufferFeaturesQnx, PhysicalDeviceLayeredDriverPropertiesMsft, PhysicalDeviceIndexTypeUint8FeaturesKhr, PhysicalDeviceLineRasterizationFeaturesKhr, PipelineRasterizationLineStateCreateInfoKhr, PhysicalDeviceLineRasterizationPropertiesKhr, CalibratedTimestampInfoKhr, PhysicalDeviceShaderExpectAssumeFeaturesKhr, PhysicalDeviceMaintenance6FeaturesKhr, PhysicalDeviceMaintenance6PropertiesKhr, BindMemoryStatusKhr, BindDescriptorSetsInfoKhr, PushConstantsInfoKhr, PushDescriptorSetInfoKhr, PushDescriptorSetWithTemplateInfoKhr, SetDescriptorBufferOffsetsInfoExt, BindDescriptorBufferEmbeddedSamplersInfoExt, PhysicalDeviceDescriptorPoolOverallocationFeaturesNv, PhysicalDeviceTileMemoryHeapFeaturesQcom, PhysicalDeviceTileMemoryHeapPropertiesQcom, TileMemoryRequirementsQcom, TileMemoryBindInfoQcom, TileMemorySizeInfoQcom, PhysicalDeviceCopyMemoryIndirectFeaturesKhr, PhysicalDeviceCopyMemoryIndirectPropertiesKhr, CopyMemoryIndirectInfoKhr, CopyMemoryToImageIndirectInfoKhr, PhysicalDeviceMemoryDecompressionFeaturesExt, PhysicalDeviceMemoryDecompressionPropertiesExt, DecompressMemoryInfoExt, DisplaySurfaceStereoCreateInfoNv, DisplayModeStereoPropertiesNv, VideoEncodeIntraRefreshCapabilitiesKhr, VideoEncodeSessionIntraRefreshCreateInfoKhr, VideoEncodeIntraRefreshInfoKhr, VideoReferenceIntraRefreshInfoKhr, PhysicalDeviceVideoEncodeIntraRefreshFeaturesKhr, VideoEncodeQuantizationMapCapabilitiesKhr, VideoFormatQuantizationMapPropertiesKhr, VideoEncodeQuantizationMapInfoKhr, VideoEncodeQuantizationMapSessionParametersCreateInfoKhr, PhysicalDeviceVideoEncodeQuantizationMapFeaturesKhr, VideoEncodeH264QuantizationMapCapabilitiesKhr, VideoEncodeH265QuantizationMapCapabilitiesKhr, VideoFormatH265QuantizationMapPropertiesKhr, VideoEncodeAv1QuantizationMapCapabilitiesKhr, VideoFormatAv1QuantizationMapPropertiesKhr, PhysicalDeviceRawAccessChainsFeaturesNv, ExternalComputeQueueDeviceCreateInfoNv, ExternalComputeQueueCreateInfoNv, ExternalComputeQueueDataParamsNv, PhysicalDeviceExternalComputeQueuePropertiesNv, PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKhr, PhysicalDeviceCommandBufferInheritanceFeaturesNv, PhysicalDeviceMaintenance7FeaturesKhr, PhysicalDeviceMaintenance7PropertiesKhr, PhysicalDeviceLayeredApiPropertiesListKhr, PhysicalDeviceLayeredApiPropertiesKhr, PhysicalDeviceLayeredApiVulkanPropertiesKhr, PhysicalDeviceShaderAtomicFloat16VectorFeaturesNv, PhysicalDeviceShaderReplicatedCompositesFeaturesExt, PhysicalDeviceShaderFloat8FeaturesExt, PhysicalDeviceRayTracingValidationFeaturesNv, PhysicalDeviceClusterAccelerationStructureFeaturesNv, PhysicalDeviceClusterAccelerationStructurePropertiesNv, ClusterAccelerationStructureClustersBottomLevelInputNv, ClusterAccelerationStructureTriangleClusterInputNv, ClusterAccelerationStructureMoveObjectsInputNv, ClusterAccelerationStructureInputInfoNv, ClusterAccelerationStructureCommandsInfoNv, RayTracingPipelineClusterAccelerationStructureCreateInfoNv, PhysicalDevicePartitionedAccelerationStructureFeaturesNv, PhysicalDevicePartitionedAccelerationStructurePropertiesNv, WriteDescriptorSetPartitionedAccelerationStructureNv, PartitionedAccelerationStructureInstancesInputNv, BuildPartitionedAccelerationStructureInfoNv, PartitionedAccelerationStructureFlagsNv, PhysicalDeviceDeviceGeneratedCommandsFeaturesExt, PhysicalDeviceDeviceGeneratedCommandsPropertiesExt, GeneratedCommandsMemoryRequirementsInfoExt, IndirectExecutionSetCreateInfoExt, GeneratedCommandsInfoExt, IndirectCommandsLayoutCreateInfoExt, IndirectCommandsLayoutTokenExt, WriteIndirectExecutionSetPipelineExt, WriteIndirectExecutionSetShaderExt, IndirectExecutionSetPipelineInfoExt, IndirectExecutionSetShaderInfoExt, IndirectExecutionSetShaderLayoutInfoExt, GeneratedCommandsPipelineInfoExt, GeneratedCommandsShaderInfoExt, PhysicalDeviceMaintenance8FeaturesKhr, MemoryBarrierAccessFlags3Khr, PhysicalDeviceImageAlignmentControlFeaturesMesa, PhysicalDeviceImageAlignmentControlPropertiesMesa, ImageAlignmentControlCreateInfoMesa, PhysicalDeviceShaderFmaFeaturesKhr, PushConstantBankInfoNv, PhysicalDevicePushConstantBankFeaturesNv, PhysicalDevicePushConstantBankPropertiesNv, PhysicalDeviceRayTracingInvocationReorderFeaturesExt, PhysicalDeviceRayTracingInvocationReorderPropertiesExt, PhysicalDeviceDepthClampControlFeaturesExt, PipelineViewportDepthClampControlCreateInfoExt, PhysicalDeviceMaintenance9FeaturesKhr, PhysicalDeviceMaintenance9PropertiesKhr, QueueFamilyOwnershipTransferPropertiesKhr, PhysicalDeviceVideoMaintenance2FeaturesKhr, VideoDecodeH264InlineSessionParametersInfoKhr, VideoDecodeH265InlineSessionParametersInfoKhr, VideoDecodeAv1InlineSessionParametersInfoKhr, SurfaceCreateInfoOhos, NativeBufferOhos, SwapchainImageCreateInfoOhos, PhysicalDevicePresentationPropertiesOhos, PhysicalDeviceHdrVividFeaturesHuawei, HdrVividDynamicMetadataHuawei, PhysicalDeviceCooperativeMatrix2FeaturesNv, CooperativeMatrixFlexibleDimensionsPropertiesNv, PhysicalDeviceCooperativeMatrix2PropertiesNv, PhysicalDevicePipelineOpacityMicromapFeaturesArm, ImportMemoryMetalHandleInfoExt, MemoryMetalHandlePropertiesExt, MemoryGetMetalHandleInfoExt, PhysicalDeviceDepthClampZeroOneFeaturesKhr, PhysicalDevicePerformanceCountersByRegionFeaturesArm, PhysicalDevicePerformanceCountersByRegionPropertiesArm, PerformanceCounterArm, PerformanceCounterDescriptionArm, RenderPassPerformanceCountersByRegionBeginInfoArm, PhysicalDeviceShaderInstrumentationFeaturesArm, PhysicalDeviceShaderInstrumentationPropertiesArm, ShaderInstrumentationCreateInfoArm, ShaderInstrumentationMetricDescriptionArm, PhysicalDeviceVertexAttributeRobustnessFeaturesExt, PhysicalDeviceFormatPackFeaturesArm, PhysicalDeviceFragmentDensityMapLayeredFeaturesValve, PhysicalDeviceFragmentDensityMapLayeredPropertiesValve, PipelineFragmentDensityMapLayeredCreateInfoValve, PhysicalDeviceRobustness2FeaturesKhr, PhysicalDeviceRobustness2PropertiesKhr, SetPresentConfigNv, PhysicalDevicePresentMeteringFeaturesNv, PhysicalDeviceFragmentDensityMapOffsetFeaturesExt, PhysicalDeviceFragmentDensityMapOffsetPropertiesExt, RenderPassFragmentDensityMapOffsetEndInfoExt, RenderingEndInfoExt, PhysicalDeviceZeroInitializeDeviceMemoryFeaturesExt, PhysicalDevicePresentModeFifoLatestReadyFeaturesKhr, PhysicalDeviceShader64IndexingFeaturesExt, PhysicalDeviceCustomResolveFeaturesExt, BeginCustomResolveInfoExt, CustomResolveCreateInfoExt, PhysicalDeviceDataGraphModelFeaturesQcom, DataGraphPipelineBuiltinModelCreateInfoQcom, PhysicalDeviceMaintenance10FeaturesKhr, PhysicalDeviceMaintenance10PropertiesKhr, RenderingAttachmentFlagsInfoKhr, RenderingEndInfoKhr, ResolveImageModeInfoKhr, PhysicalDeviceShaderLongVectorFeaturesExt, PhysicalDeviceShaderLongVectorPropertiesExt, PhysicalDevicePipelineCacheIncrementalModeFeaturesSec, PhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesExt, ComputeOccupancyPriorityParametersNv, PhysicalDeviceComputeOccupancyPriorityFeaturesNv, PhysicalDeviceShaderSubgroupPartitionedFeaturesExt, UbmSurfaceCreateInfoSec, PhysicalDeviceShaderMixedFloatDotProductFeaturesValve });
/// `VkSubgroupFeatureFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct SubgroupFeatureFlags(pub i32);
flags!(SubgroupFeatureFlags);
from_into_transparent!(SubgroupFeatureFlags : i32);
from_by_transmute!(SubgroupFeatureFlags => sys::VkSubgroupFeatureFlags);
from_by_transmute!(sys::VkSubgroupFeatureFlags => SubgroupFeatureFlags);
impl_to_sys!(SubgroupFeatureFlags => sys::VkSubgroupFeatureFlags);
impl_enum!(SubgroupFeatureFlags => sys::VkSubgroupFeatureFlags);
impl SubgroupFeatureFlags {
/// `VK_SUBGROUP_FEATURE_BASIC_BIT` = `1 << 0`
///
/// Basic subgroup operations
pub const Basic: Self = Self(sys::VK_SUBGROUP_FEATURE_BASIC_BIT.0);
/// `VK_SUBGROUP_FEATURE_VOTE_BIT` = `1 << 1`
///
/// Vote subgroup operations
pub const Vote: Self = Self(sys::VK_SUBGROUP_FEATURE_VOTE_BIT.0);
/// `VK_SUBGROUP_FEATURE_ARITHMETIC_BIT` = `1 << 2`
///
/// Arithmetic subgroup operations
pub const Arithmetic: Self = Self(sys::VK_SUBGROUP_FEATURE_ARITHMETIC_BIT.0);
/// `VK_SUBGROUP_FEATURE_BALLOT_BIT` = `1 << 3`
///
/// Ballot subgroup operations
pub const Ballot: Self = Self(sys::VK_SUBGROUP_FEATURE_BALLOT_BIT.0);
/// `VK_SUBGROUP_FEATURE_SHUFFLE_BIT` = `1 << 4`
///
/// Shuffle subgroup operations
pub const Shuffle: Self = Self(sys::VK_SUBGROUP_FEATURE_SHUFFLE_BIT.0);
/// `VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT` = `1 << 5`
///
/// Shuffle relative subgroup operations
pub const ShuffleRelative: Self = Self(sys::VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT.0);
/// `VK_SUBGROUP_FEATURE_CLUSTERED_BIT` = `1 << 6`
///
/// Clustered subgroup operations
pub const Clustered: Self = Self(sys::VK_SUBGROUP_FEATURE_CLUSTERED_BIT.0);
/// `VK_SUBGROUP_FEATURE_QUAD_BIT` = `1 << 7`
///
/// Quad subgroup operations
pub const Quad: Self = Self(sys::VK_SUBGROUP_FEATURE_QUAD_BIT.0);
/// `VK_SUBGROUP_FEATURE_ROTATE_BIT` = `1 << 9`
pub const Rotate: Self = Self(sys::VK_SUBGROUP_FEATURE_ROTATE_BIT.0);
/// `VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT` = `1 << 10`
pub const RotateClustered: Self = Self(sys::VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT.0);
/// `VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV` = `VK_SUBGROUP_FEATURE_PARTITIONED_BIT_EXT`
pub const PartitionedNv: Self = Self(sys::VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV.0);
/// `VK_SUBGROUP_FEATURE_ROTATE_BIT_KHR` = `VK_SUBGROUP_FEATURE_ROTATE_BIT`
pub const RotateKhr: Self = Self(sys::VK_SUBGROUP_FEATURE_ROTATE_BIT_KHR.0);
/// `VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT_KHR` = `VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT`
pub const RotateClusteredKhr: Self = Self(sys::VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT_KHR.0);
/// `VK_SUBGROUP_FEATURE_PARTITIONED_BIT_EXT` = `1 << 8`
pub const PartitionedExt: Self = Self(sys::VK_SUBGROUP_FEATURE_PARTITIONED_BIT_EXT.0);
}
impl_flags_display!(SubgroupFeatureFlags = VkSubgroupFeatureFlags { Basic, Vote, Arithmetic, Ballot, Shuffle, ShuffleRelative, Clustered, Quad, Rotate, RotateClustered, PartitionedNv, RotateKhr, RotateClusteredKhr, PartitionedExt });
/// `VkSubmitFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct SubmitFlags(pub i32);
flags!(SubmitFlags);
from_into_transparent!(SubmitFlags : i32);
from_by_transmute!(SubmitFlags => sys::VkSubmitFlags);
from_by_transmute!(sys::VkSubmitFlags => SubmitFlags);
impl_to_sys!(SubmitFlags => sys::VkSubmitFlags);
impl_enum!(SubmitFlags => sys::VkSubmitFlags);
impl SubmitFlags {
/// `VK_SUBMIT_PROTECTED_BIT` = `1 << 0`
pub const Protected: Self = Self(sys::VK_SUBMIT_PROTECTED_BIT.0);
/// `VK_SUBMIT_PROTECTED_BIT_KHR` = `VK_SUBMIT_PROTECTED_BIT`
pub const ProtectedKhr: Self = Self(sys::VK_SUBMIT_PROTECTED_BIT_KHR.0);
}
impl_flags_display!(SubmitFlags = VkSubmitFlags { Protected, ProtectedKhr });
/// `VkSubmitFlagsKHR` = `VkSubmitFlags`
pub type SubmitFlagsKHR = SubmitFlags;
/// `VkSubpassContents`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct SubpassContents(pub i32);
from_into_transparent!(SubpassContents : i32);
from_by_transmute!(SubpassContents => sys::VkSubpassContents);
from_by_transmute!(sys::VkSubpassContents => SubpassContents);
impl_to_sys!(SubpassContents => sys::VkSubpassContents);
impl_enum!(SubpassContents => sys::VkSubpassContents);
impl SubpassContents {
/// `VK_SUBPASS_CONTENTS_INLINE` = `0`
pub const Inline: Self = Self(sys::VK_SUBPASS_CONTENTS_INLINE.0);
/// `VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS` = `1`
pub const SecondaryCommandBuffers: Self = Self(sys::VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS.0);
/// `VK_SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_EXT` = `VK_SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_KHR`
pub const InlineAndSecondaryCommandBuffersExt: Self = Self(sys::VK_SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_EXT.0);
/// `VK_SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_KHR` = `1000451000`
pub const InlineAndSecondaryCommandBuffersKhr: Self = Self(sys::VK_SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_KHR.0);
}
impl_enum_display!(SubpassContents = VkSubpassContents { Inline, SecondaryCommandBuffers, InlineAndSecondaryCommandBuffersExt, InlineAndSecondaryCommandBuffersKhr });
/// `VkSubpassDescriptionFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct SubpassDescriptionFlags(pub i32);
flags!(SubpassDescriptionFlags);
from_into_transparent!(SubpassDescriptionFlags : i32);
from_by_transmute!(SubpassDescriptionFlags => sys::VkSubpassDescriptionFlags);
from_by_transmute!(sys::VkSubpassDescriptionFlags => SubpassDescriptionFlags);
impl_to_sys!(SubpassDescriptionFlags => sys::VkSubpassDescriptionFlags);
impl_enum!(SubpassDescriptionFlags => sys::VkSubpassDescriptionFlags);
impl SubpassDescriptionFlags {
/// `VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX` = `1 << 0`
pub const PerViewAttributesNvx: Self = Self(sys::VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX.0);
/// `VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX` = `1 << 1`
pub const PerViewPositionXOnlyNvx: Self = Self(sys::VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX.0);
/// `VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM` = `VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_EXT`
pub const FragmentRegionQcom: Self = Self(sys::VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM.0);
/// `VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM` = `VK_SUBPASS_DESCRIPTION_CUSTOM_RESOLVE_BIT_EXT`
pub const ShaderResolveQcom: Self = Self(sys::VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM.0);
/// `VK_SUBPASS_DESCRIPTION_TILE_SHADING_APRON_BIT_QCOM` = `1 << 8`
pub const TileShadingApronQcom: Self = Self(sys::VK_SUBPASS_DESCRIPTION_TILE_SHADING_APRON_BIT_QCOM.0);
/// `VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM` = `VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT`
pub const RasterizationOrderAttachmentColorAccessArm: Self = Self(sys::VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM.0);
/// `VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM` = `VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT`
pub const RasterizationOrderAttachmentDepthAccessArm: Self = Self(sys::VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM.0);
/// `VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM` = `VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT`
pub const RasterizationOrderAttachmentStencilAccessArm: Self = Self(sys::VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM.0);
/// `VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT` = `1 << 4`
pub const RasterizationOrderAttachmentColorAccessExt: Self = Self(sys::VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT.0);
/// `VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT` = `1 << 5`
pub const RasterizationOrderAttachmentDepthAccessExt: Self = Self(sys::VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT.0);
/// `VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT` = `1 << 6`
pub const RasterizationOrderAttachmentStencilAccessExt: Self = Self(sys::VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT.0);
/// `VK_SUBPASS_DESCRIPTION_ENABLE_LEGACY_DITHERING_BIT_EXT` = `1 << 7`
pub const EnableLegacyDitheringExt: Self = Self(sys::VK_SUBPASS_DESCRIPTION_ENABLE_LEGACY_DITHERING_BIT_EXT.0);
/// `VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_EXT` = `1 << 2`
pub const FragmentRegionExt: Self = Self(sys::VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_EXT.0);
/// `VK_SUBPASS_DESCRIPTION_CUSTOM_RESOLVE_BIT_EXT` = `1 << 3`
pub const CustomResolveExt: Self = Self(sys::VK_SUBPASS_DESCRIPTION_CUSTOM_RESOLVE_BIT_EXT.0);
}
impl_flags_display!(SubpassDescriptionFlags = VkSubpassDescriptionFlags { PerViewAttributesNvx, PerViewPositionXOnlyNvx, FragmentRegionQcom, ShaderResolveQcom, TileShadingApronQcom, RasterizationOrderAttachmentColorAccessArm, RasterizationOrderAttachmentDepthAccessArm, RasterizationOrderAttachmentStencilAccessArm, RasterizationOrderAttachmentColorAccessExt, RasterizationOrderAttachmentDepthAccessExt, RasterizationOrderAttachmentStencilAccessExt, EnableLegacyDitheringExt, FragmentRegionExt, CustomResolveExt });
/// `VkSubpassMergeStatusEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct SubpassMergeStatusEXT(pub i32);
from_into_transparent!(SubpassMergeStatusEXT : i32);
from_by_transmute!(SubpassMergeStatusEXT => sys::VkSubpassMergeStatusEXT);
from_by_transmute!(sys::VkSubpassMergeStatusEXT => SubpassMergeStatusEXT);
impl_to_sys!(SubpassMergeStatusEXT => sys::VkSubpassMergeStatusEXT);
impl_enum!(SubpassMergeStatusEXT => sys::VkSubpassMergeStatusEXT);
impl SubpassMergeStatusEXT {
/// `VK_SUBPASS_MERGE_STATUS_MERGED_EXT` = `0`
pub const MergedExt: Self = Self(sys::VK_SUBPASS_MERGE_STATUS_MERGED_EXT.0);
/// `VK_SUBPASS_MERGE_STATUS_DISALLOWED_EXT` = `1`
pub const DisallowedExt: Self = Self(sys::VK_SUBPASS_MERGE_STATUS_DISALLOWED_EXT.0);
/// `VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SIDE_EFFECTS_EXT` = `2`
pub const NotMergedSideEffectsExt: Self = Self(sys::VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SIDE_EFFECTS_EXT.0);
/// `VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SAMPLES_MISMATCH_EXT` = `3`
pub const NotMergedSamplesMismatchExt: Self = Self(sys::VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SAMPLES_MISMATCH_EXT.0);
/// `VK_SUBPASS_MERGE_STATUS_NOT_MERGED_VIEWS_MISMATCH_EXT` = `4`
pub const NotMergedViewsMismatchExt: Self = Self(sys::VK_SUBPASS_MERGE_STATUS_NOT_MERGED_VIEWS_MISMATCH_EXT.0);
/// `VK_SUBPASS_MERGE_STATUS_NOT_MERGED_ALIASING_EXT` = `5`
pub const NotMergedAliasingExt: Self = Self(sys::VK_SUBPASS_MERGE_STATUS_NOT_MERGED_ALIASING_EXT.0);
/// `VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPENDENCIES_EXT` = `6`
pub const NotMergedDependenciesExt: Self = Self(sys::VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPENDENCIES_EXT.0);
/// `VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INCOMPATIBLE_INPUT_ATTACHMENT_EXT` = `7`
pub const NotMergedIncompatibleInputAttachmentExt: Self = Self(sys::VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INCOMPATIBLE_INPUT_ATTACHMENT_EXT.0);
/// `VK_SUBPASS_MERGE_STATUS_NOT_MERGED_TOO_MANY_ATTACHMENTS_EXT` = `8`
pub const NotMergedTooManyAttachmentsExt: Self = Self(sys::VK_SUBPASS_MERGE_STATUS_NOT_MERGED_TOO_MANY_ATTACHMENTS_EXT.0);
/// `VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INSUFFICIENT_STORAGE_EXT` = `9`
pub const NotMergedInsufficientStorageExt: Self = Self(sys::VK_SUBPASS_MERGE_STATUS_NOT_MERGED_INSUFFICIENT_STORAGE_EXT.0);
/// `VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPTH_STENCIL_COUNT_EXT` = `10`
pub const NotMergedDepthStencilCountExt: Self = Self(sys::VK_SUBPASS_MERGE_STATUS_NOT_MERGED_DEPTH_STENCIL_COUNT_EXT.0);
/// `VK_SUBPASS_MERGE_STATUS_NOT_MERGED_RESOLVE_ATTACHMENT_REUSE_EXT` = `11`
pub const NotMergedResolveAttachmentReuseExt: Self = Self(sys::VK_SUBPASS_MERGE_STATUS_NOT_MERGED_RESOLVE_ATTACHMENT_REUSE_EXT.0);
/// `VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SINGLE_SUBPASS_EXT` = `12`
pub const NotMergedSingleSubpassExt: Self = Self(sys::VK_SUBPASS_MERGE_STATUS_NOT_MERGED_SINGLE_SUBPASS_EXT.0);
/// `VK_SUBPASS_MERGE_STATUS_NOT_MERGED_UNSPECIFIED_EXT` = `13`
pub const NotMergedUnspecifiedExt: Self = Self(sys::VK_SUBPASS_MERGE_STATUS_NOT_MERGED_UNSPECIFIED_EXT.0);
}
impl_enum_display!(SubpassMergeStatusEXT = VkSubpassMergeStatusEXT { MergedExt, DisallowedExt, NotMergedSideEffectsExt, NotMergedSamplesMismatchExt, NotMergedViewsMismatchExt, NotMergedAliasingExt, NotMergedDependenciesExt, NotMergedIncompatibleInputAttachmentExt, NotMergedTooManyAttachmentsExt, NotMergedInsufficientStorageExt, NotMergedDepthStencilCountExt, NotMergedResolveAttachmentReuseExt, NotMergedSingleSubpassExt, NotMergedUnspecifiedExt });
/// `VkSurfaceCounterFlagsEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct SurfaceCounterFlagsEXT(pub i32);
flags!(SurfaceCounterFlagsEXT);
from_into_transparent!(SurfaceCounterFlagsEXT : i32);
from_by_transmute!(SurfaceCounterFlagsEXT => sys::VkSurfaceCounterFlagsEXT);
from_by_transmute!(sys::VkSurfaceCounterFlagsEXT => SurfaceCounterFlagsEXT);
impl_to_sys!(SurfaceCounterFlagsEXT => sys::VkSurfaceCounterFlagsEXT);
impl_enum!(SurfaceCounterFlagsEXT => sys::VkSurfaceCounterFlagsEXT);
impl SurfaceCounterFlagsEXT {
/// `VK_SURFACE_COUNTER_VBLANK_BIT_EXT` = `1 << 0`
pub const VblankExt: Self = Self(sys::VK_SURFACE_COUNTER_VBLANK_BIT_EXT.0);
}
impl_flags_display!(SurfaceCounterFlagsEXT = VkSurfaceCounterFlagsEXT { VblankExt });
/// `VkSurfaceCreateFlagsOHOS`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct SurfaceCreateFlagsOHOS(pub i32);
flags!(SurfaceCreateFlagsOHOS);
from_into_transparent!(SurfaceCreateFlagsOHOS : i32);
from_by_transmute!(SurfaceCreateFlagsOHOS => sys::VkSurfaceCreateFlagsOHOS);
from_by_transmute!(sys::VkSurfaceCreateFlagsOHOS => SurfaceCreateFlagsOHOS);
impl_to_sys!(SurfaceCreateFlagsOHOS => sys::VkSurfaceCreateFlagsOHOS);
impl_enum!(SurfaceCreateFlagsOHOS => sys::VkSurfaceCreateFlagsOHOS);
impl_flags_display!(SurfaceCreateFlagsOHOS = VkSurfaceCreateFlagsOHOS { });
/// `VkSurfaceTransformFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct SurfaceTransformFlagsKHR(pub i32);
flags!(SurfaceTransformFlagsKHR);
from_into_transparent!(SurfaceTransformFlagsKHR : i32);
from_by_transmute!(SurfaceTransformFlagsKHR => sys::VkSurfaceTransformFlagsKHR);
from_by_transmute!(sys::VkSurfaceTransformFlagsKHR => SurfaceTransformFlagsKHR);
impl_to_sys!(SurfaceTransformFlagsKHR => sys::VkSurfaceTransformFlagsKHR);
impl_enum!(SurfaceTransformFlagsKHR => sys::VkSurfaceTransformFlagsKHR);
impl SurfaceTransformFlagsKHR {
/// `VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR` = `1 << 0`
pub const IdentityKhr: Self = Self(sys::VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR.0);
/// `VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR` = `1 << 1`
pub const Rotate90Khr: Self = Self(sys::VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR.0);
/// `VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR` = `1 << 2`
pub const Rotate180Khr: Self = Self(sys::VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR.0);
/// `VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR` = `1 << 3`
pub const Rotate270Khr: Self = Self(sys::VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR.0);
/// `VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR` = `1 << 4`
pub const HorizontalMirrorKhr: Self = Self(sys::VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR.0);
/// `VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR` = `1 << 5`
pub const HorizontalMirrorRotate90Khr: Self = Self(sys::VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR.0);
/// `VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR` = `1 << 6`
pub const HorizontalMirrorRotate180Khr: Self = Self(sys::VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR.0);
/// `VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR` = `1 << 7`
pub const HorizontalMirrorRotate270Khr: Self = Self(sys::VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR.0);
/// `VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR` = `1 << 8`
pub const InheritKhr: Self = Self(sys::VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR.0);
}
impl_flags_display!(SurfaceTransformFlagsKHR = VkSurfaceTransformFlagsKHR { IdentityKhr, Rotate90Khr, Rotate180Khr, Rotate270Khr, HorizontalMirrorKhr, HorizontalMirrorRotate90Khr, HorizontalMirrorRotate180Khr, HorizontalMirrorRotate270Khr, InheritKhr });
/// `VkSwapchainCreateFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct SwapchainCreateFlagsKHR(pub i32);
flags!(SwapchainCreateFlagsKHR);
from_into_transparent!(SwapchainCreateFlagsKHR : i32);
from_by_transmute!(SwapchainCreateFlagsKHR => sys::VkSwapchainCreateFlagsKHR);
from_by_transmute!(sys::VkSwapchainCreateFlagsKHR => SwapchainCreateFlagsKHR);
impl_to_sys!(SwapchainCreateFlagsKHR => sys::VkSwapchainCreateFlagsKHR);
impl_enum!(SwapchainCreateFlagsKHR => sys::VkSwapchainCreateFlagsKHR);
impl SwapchainCreateFlagsKHR {
/// `VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR` = `1 << 0`
///
/// Allow images with VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT
pub const SplitInstanceBindRegionsKhr: Self = Self(sys::VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR.0);
/// `VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR` = `1 << 1`
///
/// Swapchain is protected
pub const ProtectedKhr: Self = Self(sys::VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR.0);
/// `VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR` = `1 << 2`
pub const MutableFormatKhr: Self = Self(sys::VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR.0);
/// `VK_SWAPCHAIN_CREATE_PRESENT_TIMING_BIT_EXT` = `1 << 9`
pub const PresentTimingExt: Self = Self(sys::VK_SWAPCHAIN_CREATE_PRESENT_TIMING_BIT_EXT.0);
/// `VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_EXT` = `VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_KHR`
pub const DeferredMemoryAllocationExt: Self = Self(sys::VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_EXT.0);
/// `VK_SWAPCHAIN_CREATE_RESERVED_5_BIT_EXT` = `1 << 5`
pub const Reserved5Ext: Self = Self(sys::VK_SWAPCHAIN_CREATE_RESERVED_5_BIT_EXT.0);
/// `VK_SWAPCHAIN_CREATE_RESERVED_4_BIT_EXT` = `1 << 4`
pub const Reserved4Ext: Self = Self(sys::VK_SWAPCHAIN_CREATE_RESERVED_4_BIT_EXT.0);
/// `VK_SWAPCHAIN_CREATE_PRESENT_ID_2_BIT_KHR` = `1 << 6`
///
/// Allow use of VK_KHR_present_id2 with this swapchain
pub const PresentId2Khr: Self = Self(sys::VK_SWAPCHAIN_CREATE_PRESENT_ID_2_BIT_KHR.0);
/// `VK_SWAPCHAIN_CREATE_PRESENT_WAIT_2_BIT_KHR` = `1 << 7`
///
/// Allow use of VK_KHR_present_wait2 with this swapchain
pub const PresentWait2Khr: Self = Self(sys::VK_SWAPCHAIN_CREATE_PRESENT_WAIT_2_BIT_KHR.0);
/// `VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_KHR` = `1 << 3`
pub const DeferredMemoryAllocationKhr: Self = Self(sys::VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_KHR.0);
/// `VK_SWAPCHAIN_CREATE_RESERVED_8_BIT_EXT` = `1 << 8`
pub const Reserved8Ext: Self = Self(sys::VK_SWAPCHAIN_CREATE_RESERVED_8_BIT_EXT.0);
}
impl_flags_display!(SwapchainCreateFlagsKHR = VkSwapchainCreateFlagsKHR { SplitInstanceBindRegionsKhr, ProtectedKhr, MutableFormatKhr, PresentTimingExt, DeferredMemoryAllocationExt, Reserved5Ext, Reserved4Ext, PresentId2Khr, PresentWait2Khr, DeferredMemoryAllocationKhr, Reserved8Ext });
/// `VkSwapchainImageUsageFlagsANDROID`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct SwapchainImageUsageFlagsANDROID(pub i32);
flags!(SwapchainImageUsageFlagsANDROID);
from_into_transparent!(SwapchainImageUsageFlagsANDROID : i32);
from_by_transmute!(SwapchainImageUsageFlagsANDROID => sys::VkSwapchainImageUsageFlagsANDROID);
from_by_transmute!(sys::VkSwapchainImageUsageFlagsANDROID => SwapchainImageUsageFlagsANDROID);
impl_to_sys!(SwapchainImageUsageFlagsANDROID => sys::VkSwapchainImageUsageFlagsANDROID);
impl_enum!(SwapchainImageUsageFlagsANDROID => sys::VkSwapchainImageUsageFlagsANDROID);
impl SwapchainImageUsageFlagsANDROID {
/// `VK_SWAPCHAIN_IMAGE_USAGE_SHARED_BIT_ANDROID` = `1 << 0`
pub const SharedAndroid: Self = Self(sys::VK_SWAPCHAIN_IMAGE_USAGE_SHARED_BIT_ANDROID.0);
}
impl_flags_display!(SwapchainImageUsageFlagsANDROID = VkSwapchainImageUsageFlagsANDROID { SharedAndroid });
/// `VkSwapchainImageUsageFlagsOHOS`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct SwapchainImageUsageFlagsOHOS(pub i32);
flags!(SwapchainImageUsageFlagsOHOS);
from_into_transparent!(SwapchainImageUsageFlagsOHOS : i32);
from_by_transmute!(SwapchainImageUsageFlagsOHOS => sys::VkSwapchainImageUsageFlagsOHOS);
from_by_transmute!(sys::VkSwapchainImageUsageFlagsOHOS => SwapchainImageUsageFlagsOHOS);
impl_to_sys!(SwapchainImageUsageFlagsOHOS => sys::VkSwapchainImageUsageFlagsOHOS);
impl_enum!(SwapchainImageUsageFlagsOHOS => sys::VkSwapchainImageUsageFlagsOHOS);
impl SwapchainImageUsageFlagsOHOS {
/// `VK_SWAPCHAIN_IMAGE_USAGE_SHARED_BIT_OHOS` = `1 << 0`
pub const SharedOhos: Self = Self(sys::VK_SWAPCHAIN_IMAGE_USAGE_SHARED_BIT_OHOS.0);
}
impl_flags_display!(SwapchainImageUsageFlagsOHOS = VkSwapchainImageUsageFlagsOHOS { SharedOhos });
/// `VkSystemAllocationScope`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct SystemAllocationScope(pub i32);
from_into_transparent!(SystemAllocationScope : i32);
from_by_transmute!(SystemAllocationScope => sys::VkSystemAllocationScope);
from_by_transmute!(sys::VkSystemAllocationScope => SystemAllocationScope);
impl_to_sys!(SystemAllocationScope => sys::VkSystemAllocationScope);
impl_enum!(SystemAllocationScope => sys::VkSystemAllocationScope);
impl SystemAllocationScope {
/// `VK_SYSTEM_ALLOCATION_SCOPE_COMMAND` = `0`
pub const Command: Self = Self(sys::VK_SYSTEM_ALLOCATION_SCOPE_COMMAND.0);
/// `VK_SYSTEM_ALLOCATION_SCOPE_OBJECT` = `1`
pub const Object: Self = Self(sys::VK_SYSTEM_ALLOCATION_SCOPE_OBJECT.0);
/// `VK_SYSTEM_ALLOCATION_SCOPE_CACHE` = `2`
pub const Cache: Self = Self(sys::VK_SYSTEM_ALLOCATION_SCOPE_CACHE.0);
/// `VK_SYSTEM_ALLOCATION_SCOPE_DEVICE` = `3`
pub const Device: Self = Self(sys::VK_SYSTEM_ALLOCATION_SCOPE_DEVICE.0);
/// `VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE` = `4`
pub const Instance: Self = Self(sys::VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE.0);
}
impl_enum_display!(SystemAllocationScope = VkSystemAllocationScope { Command, Object, Cache, Device, Instance });
/// `VkTensorCreateFlagsARM`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct TensorCreateFlagsARM(pub i64);
flags!(TensorCreateFlagsARM);
from_into_transparent!(TensorCreateFlagsARM : i64);
from_by_transmute!(TensorCreateFlagsARM => sys::VkTensorCreateFlagsARM);
from_by_transmute!(sys::VkTensorCreateFlagsARM => TensorCreateFlagsARM);
impl_to_sys!(TensorCreateFlagsARM => sys::VkTensorCreateFlagsARM);
impl_enum!(TensorCreateFlagsARM => sys::VkTensorCreateFlagsARM);
impl TensorCreateFlagsARM {
/// `VK_TENSOR_CREATE_MUTABLE_FORMAT_BIT_ARM` = `1 << 0`
pub const MutableFormatArm: Self = Self(sys::VK_TENSOR_CREATE_MUTABLE_FORMAT_BIT_ARM.0);
/// `VK_TENSOR_CREATE_PROTECTED_BIT_ARM` = `1 << 1`
pub const ProtectedArm: Self = Self(sys::VK_TENSOR_CREATE_PROTECTED_BIT_ARM.0);
/// `VK_TENSOR_CREATE_DESCRIPTOR_HEAP_CAPTURE_REPLAY_BIT_ARM` = `1 << 3`
pub const DescriptorHeapCaptureReplayArm: Self = Self(sys::VK_TENSOR_CREATE_DESCRIPTOR_HEAP_CAPTURE_REPLAY_BIT_ARM.0);
/// `VK_TENSOR_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_ARM` = `1 << 2`
pub const DescriptorBufferCaptureReplayArm: Self = Self(sys::VK_TENSOR_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_ARM.0);
}
impl_flags_display!(TensorCreateFlagsARM = VkTensorCreateFlagsARM { MutableFormatArm, ProtectedArm, DescriptorHeapCaptureReplayArm, DescriptorBufferCaptureReplayArm });
/// `VkTensorTilingARM`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct TensorTilingARM(pub i32);
from_into_transparent!(TensorTilingARM : i32);
from_by_transmute!(TensorTilingARM => sys::VkTensorTilingARM);
from_by_transmute!(sys::VkTensorTilingARM => TensorTilingARM);
impl_to_sys!(TensorTilingARM => sys::VkTensorTilingARM);
impl_enum!(TensorTilingARM => sys::VkTensorTilingARM);
impl TensorTilingARM {
/// `VK_TENSOR_TILING_OPTIMAL_ARM` = `0`
pub const OptimalArm: Self = Self(sys::VK_TENSOR_TILING_OPTIMAL_ARM.0);
/// `VK_TENSOR_TILING_LINEAR_ARM` = `1`
pub const LinearArm: Self = Self(sys::VK_TENSOR_TILING_LINEAR_ARM.0);
}
impl_enum_display!(TensorTilingARM = VkTensorTilingARM { OptimalArm, LinearArm });
/// `VkTensorUsageFlagsARM`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct TensorUsageFlagsARM(pub i64);
flags!(TensorUsageFlagsARM);
from_into_transparent!(TensorUsageFlagsARM : i64);
from_by_transmute!(TensorUsageFlagsARM => sys::VkTensorUsageFlagsARM);
from_by_transmute!(sys::VkTensorUsageFlagsARM => TensorUsageFlagsARM);
impl_to_sys!(TensorUsageFlagsARM => sys::VkTensorUsageFlagsARM);
impl_enum!(TensorUsageFlagsARM => sys::VkTensorUsageFlagsARM);
impl TensorUsageFlagsARM {
/// `VK_TENSOR_USAGE_SHADER_BIT_ARM` = `1 << 1`
///
/// Tensor written/read through shader descriptor
pub const ShaderArm: Self = Self(sys::VK_TENSOR_USAGE_SHADER_BIT_ARM.0);
/// `VK_TENSOR_USAGE_TRANSFER_SRC_BIT_ARM` = `1 << 2`
///
/// Tensor can be src of a transfer operation
pub const TransferSrcArm: Self = Self(sys::VK_TENSOR_USAGE_TRANSFER_SRC_BIT_ARM.0);
/// `VK_TENSOR_USAGE_TRANSFER_DST_BIT_ARM` = `1 << 3`
///
/// Tensor can be dst of a transfer operation
pub const TransferDstArm: Self = Self(sys::VK_TENSOR_USAGE_TRANSFER_DST_BIT_ARM.0);
/// `VK_TENSOR_USAGE_IMAGE_ALIASING_BIT_ARM` = `1 << 4`
///
/// Tensor can be aliased with an image
pub const ImageAliasingArm: Self = Self(sys::VK_TENSOR_USAGE_IMAGE_ALIASING_BIT_ARM.0);
/// `VK_TENSOR_USAGE_DATA_GRAPH_BIT_ARM` = `1 << 5`
pub const DataGraphArm: Self = Self(sys::VK_TENSOR_USAGE_DATA_GRAPH_BIT_ARM.0);
}
impl_flags_display!(TensorUsageFlagsARM = VkTensorUsageFlagsARM { ShaderArm, TransferSrcArm, TransferDstArm, ImageAliasingArm, DataGraphArm });
/// `VkTensorViewCreateFlagsARM`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct TensorViewCreateFlagsARM(pub i64);
flags!(TensorViewCreateFlagsARM);
from_into_transparent!(TensorViewCreateFlagsARM : i64);
from_by_transmute!(TensorViewCreateFlagsARM => sys::VkTensorViewCreateFlagsARM);
from_by_transmute!(sys::VkTensorViewCreateFlagsARM => TensorViewCreateFlagsARM);
impl_to_sys!(TensorViewCreateFlagsARM => sys::VkTensorViewCreateFlagsARM);
impl_enum!(TensorViewCreateFlagsARM => sys::VkTensorViewCreateFlagsARM);
impl TensorViewCreateFlagsARM {
/// `VK_TENSOR_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_ARM` = `1 << 0`
pub const DescriptorBufferCaptureReplayArm: Self = Self(sys::VK_TENSOR_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_ARM.0);
}
impl_flags_display!(TensorViewCreateFlagsARM = VkTensorViewCreateFlagsARM { DescriptorBufferCaptureReplayArm });
/// `VkTessellationDomainOrigin`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct TessellationDomainOrigin(pub i32);
from_into_transparent!(TessellationDomainOrigin : i32);
from_by_transmute!(TessellationDomainOrigin => sys::VkTessellationDomainOrigin);
from_by_transmute!(sys::VkTessellationDomainOrigin => TessellationDomainOrigin);
impl_to_sys!(TessellationDomainOrigin => sys::VkTessellationDomainOrigin);
impl_enum!(TessellationDomainOrigin => sys::VkTessellationDomainOrigin);
impl TessellationDomainOrigin {
/// `VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT` = `0`
pub const UpperLeft: Self = Self(sys::VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT.0);
/// `VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT` = `1`
pub const LowerLeft: Self = Self(sys::VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT.0);
/// `VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR` = `VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT`
pub const UpperLeftKhr: Self = Self(sys::VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT_KHR.0);
/// `VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR` = `VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT`
pub const LowerLeftKhr: Self = Self(sys::VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT_KHR.0);
}
impl_enum_display!(TessellationDomainOrigin = VkTessellationDomainOrigin { UpperLeft, LowerLeft, UpperLeftKhr, LowerLeftKhr });
/// `VkTessellationDomainOriginKHR` = `VkTessellationDomainOrigin`
pub type TessellationDomainOriginKHR = TessellationDomainOrigin;
/// `VkTileShadingRenderPassFlagsQCOM`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct TileShadingRenderPassFlagsQCOM(pub i32);
flags!(TileShadingRenderPassFlagsQCOM);
from_into_transparent!(TileShadingRenderPassFlagsQCOM : i32);
from_by_transmute!(TileShadingRenderPassFlagsQCOM => sys::VkTileShadingRenderPassFlagsQCOM);
from_by_transmute!(sys::VkTileShadingRenderPassFlagsQCOM => TileShadingRenderPassFlagsQCOM);
impl_to_sys!(TileShadingRenderPassFlagsQCOM => sys::VkTileShadingRenderPassFlagsQCOM);
impl_enum!(TileShadingRenderPassFlagsQCOM => sys::VkTileShadingRenderPassFlagsQCOM);
impl TileShadingRenderPassFlagsQCOM {
/// `VK_TILE_SHADING_RENDER_PASS_ENABLE_BIT_QCOM` = `1 << 0`
pub const EnableQcom: Self = Self(sys::VK_TILE_SHADING_RENDER_PASS_ENABLE_BIT_QCOM.0);
/// `VK_TILE_SHADING_RENDER_PASS_PER_TILE_EXECUTION_BIT_QCOM` = `1 << 1`
pub const PerTileExecutionQcom: Self = Self(sys::VK_TILE_SHADING_RENDER_PASS_PER_TILE_EXECUTION_BIT_QCOM.0);
}
impl_flags_display!(TileShadingRenderPassFlagsQCOM = VkTileShadingRenderPassFlagsQCOM { EnableQcom, PerTileExecutionQcom });
/// `VkTimeDomainEXT` = `VkTimeDomainKHR`
pub type TimeDomainEXT = TimeDomainKHR;
/// `VkTimeDomainKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct TimeDomainKHR(pub i32);
from_into_transparent!(TimeDomainKHR : i32);
from_by_transmute!(TimeDomainKHR => sys::VkTimeDomainKHR);
from_by_transmute!(sys::VkTimeDomainKHR => TimeDomainKHR);
impl_to_sys!(TimeDomainKHR => sys::VkTimeDomainKHR);
impl_enum!(TimeDomainKHR => sys::VkTimeDomainKHR);
impl TimeDomainKHR {
/// `VK_TIME_DOMAIN_DEVICE_KHR` = `0`
pub const DeviceKhr: Self = Self(sys::VK_TIME_DOMAIN_DEVICE_KHR.0);
/// `VK_TIME_DOMAIN_CLOCK_MONOTONIC_KHR` = `1`
pub const ClockMonotonicKhr: Self = Self(sys::VK_TIME_DOMAIN_CLOCK_MONOTONIC_KHR.0);
/// `VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_KHR` = `2`
pub const ClockMonotonicRawKhr: Self = Self(sys::VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_KHR.0);
/// `VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_KHR` = `3`
pub const QueryPerformanceCounterKhr: Self = Self(sys::VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_KHR.0);
/// `VK_TIME_DOMAIN_DEVICE_EXT` = `VK_TIME_DOMAIN_DEVICE_KHR`
pub const DeviceExt: Self = Self(sys::VK_TIME_DOMAIN_DEVICE_EXT.0);
/// `VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT` = `VK_TIME_DOMAIN_CLOCK_MONOTONIC_KHR`
pub const ClockMonotonicExt: Self = Self(sys::VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT.0);
/// `VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT` = `VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_KHR`
pub const ClockMonotonicRawExt: Self = Self(sys::VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT.0);
/// `VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT` = `VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_KHR`
pub const QueryPerformanceCounterExt: Self = Self(sys::VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT.0);
/// `VK_TIME_DOMAIN_PRESENT_STAGE_LOCAL_EXT` = `1000208000`
pub const PresentStageLocalExt: Self = Self(sys::VK_TIME_DOMAIN_PRESENT_STAGE_LOCAL_EXT.0);
/// `VK_TIME_DOMAIN_SWAPCHAIN_LOCAL_EXT` = `1000208001`
pub const SwapchainLocalExt: Self = Self(sys::VK_TIME_DOMAIN_SWAPCHAIN_LOCAL_EXT.0);
}
impl_enum_display!(TimeDomainKHR = VkTimeDomainKHR { DeviceKhr, ClockMonotonicKhr, ClockMonotonicRawKhr, QueryPerformanceCounterKhr, DeviceExt, ClockMonotonicExt, ClockMonotonicRawExt, QueryPerformanceCounterExt, PresentStageLocalExt, SwapchainLocalExt });
/// `VkToolPurposeFlags`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ToolPurposeFlags(pub i32);
flags!(ToolPurposeFlags);
from_into_transparent!(ToolPurposeFlags : i32);
from_by_transmute!(ToolPurposeFlags => sys::VkToolPurposeFlags);
from_by_transmute!(sys::VkToolPurposeFlags => ToolPurposeFlags);
impl_to_sys!(ToolPurposeFlags => sys::VkToolPurposeFlags);
impl_enum!(ToolPurposeFlags => sys::VkToolPurposeFlags);
impl ToolPurposeFlags {
/// `VK_TOOL_PURPOSE_VALIDATION_BIT` = `1 << 0`
pub const Validation: Self = Self(sys::VK_TOOL_PURPOSE_VALIDATION_BIT.0);
/// `VK_TOOL_PURPOSE_PROFILING_BIT` = `1 << 1`
pub const Profiling: Self = Self(sys::VK_TOOL_PURPOSE_PROFILING_BIT.0);
/// `VK_TOOL_PURPOSE_TRACING_BIT` = `1 << 2`
pub const Tracing: Self = Self(sys::VK_TOOL_PURPOSE_TRACING_BIT.0);
/// `VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT` = `1 << 3`
pub const AdditionalFeatures: Self = Self(sys::VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT.0);
/// `VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT` = `1 << 4`
pub const ModifyingFeatures: Self = Self(sys::VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT.0);
/// `VK_TOOL_PURPOSE_VALIDATION_BIT_EXT` = `VK_TOOL_PURPOSE_VALIDATION_BIT`
pub const ValidationExt: Self = Self(sys::VK_TOOL_PURPOSE_VALIDATION_BIT_EXT.0);
/// `VK_TOOL_PURPOSE_PROFILING_BIT_EXT` = `VK_TOOL_PURPOSE_PROFILING_BIT`
pub const ProfilingExt: Self = Self(sys::VK_TOOL_PURPOSE_PROFILING_BIT_EXT.0);
/// `VK_TOOL_PURPOSE_TRACING_BIT_EXT` = `VK_TOOL_PURPOSE_TRACING_BIT`
pub const TracingExt: Self = Self(sys::VK_TOOL_PURPOSE_TRACING_BIT_EXT.0);
/// `VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT` = `VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT`
pub const AdditionalFeaturesExt: Self = Self(sys::VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT.0);
/// `VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT` = `VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT`
pub const ModifyingFeaturesExt: Self = Self(sys::VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT.0);
/// `VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT` = `1 << 5`
pub const DebugReportingExt: Self = Self(sys::VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT.0);
/// `VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT` = `1 << 6`
pub const DebugMarkersExt: Self = Self(sys::VK_TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT.0);
}
impl_flags_display!(ToolPurposeFlags = VkToolPurposeFlags { Validation, Profiling, Tracing, AdditionalFeatures, ModifyingFeatures, ValidationExt, ProfilingExt, TracingExt, AdditionalFeaturesExt, ModifyingFeaturesExt, DebugReportingExt, DebugMarkersExt });
/// `VkToolPurposeFlagsEXT` = `VkToolPurposeFlags`
pub type ToolPurposeFlagsEXT = ToolPurposeFlags;
/// `VkUbmSurfaceCreateFlagsSEC`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct UbmSurfaceCreateFlagsSEC(pub i32);
flags!(UbmSurfaceCreateFlagsSEC);
from_into_transparent!(UbmSurfaceCreateFlagsSEC : i32);
from_by_transmute!(UbmSurfaceCreateFlagsSEC => sys::VkUbmSurfaceCreateFlagsSEC);
from_by_transmute!(sys::VkUbmSurfaceCreateFlagsSEC => UbmSurfaceCreateFlagsSEC);
impl_to_sys!(UbmSurfaceCreateFlagsSEC => sys::VkUbmSurfaceCreateFlagsSEC);
impl_enum!(UbmSurfaceCreateFlagsSEC => sys::VkUbmSurfaceCreateFlagsSEC);
impl_flags_display!(UbmSurfaceCreateFlagsSEC = VkUbmSurfaceCreateFlagsSEC { });
/// `VkValidationCacheCreateFlagsEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ValidationCacheCreateFlagsEXT(pub i32);
flags!(ValidationCacheCreateFlagsEXT);
from_into_transparent!(ValidationCacheCreateFlagsEXT : i32);
from_by_transmute!(ValidationCacheCreateFlagsEXT => sys::VkValidationCacheCreateFlagsEXT);
from_by_transmute!(sys::VkValidationCacheCreateFlagsEXT => ValidationCacheCreateFlagsEXT);
impl_to_sys!(ValidationCacheCreateFlagsEXT => sys::VkValidationCacheCreateFlagsEXT);
impl_enum!(ValidationCacheCreateFlagsEXT => sys::VkValidationCacheCreateFlagsEXT);
impl_flags_display!(ValidationCacheCreateFlagsEXT = VkValidationCacheCreateFlagsEXT { });
/// `VkValidationCacheHeaderVersionEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ValidationCacheHeaderVersionEXT(pub i32);
from_into_transparent!(ValidationCacheHeaderVersionEXT : i32);
from_by_transmute!(ValidationCacheHeaderVersionEXT => sys::VkValidationCacheHeaderVersionEXT);
from_by_transmute!(sys::VkValidationCacheHeaderVersionEXT => ValidationCacheHeaderVersionEXT);
impl_to_sys!(ValidationCacheHeaderVersionEXT => sys::VkValidationCacheHeaderVersionEXT);
impl_enum!(ValidationCacheHeaderVersionEXT => sys::VkValidationCacheHeaderVersionEXT);
impl ValidationCacheHeaderVersionEXT {
/// `VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT` = `1`
pub const OneExt: Self = Self(sys::VK_VALIDATION_CACHE_HEADER_VERSION_ONE_EXT.0);
}
impl_enum_display!(ValidationCacheHeaderVersionEXT = VkValidationCacheHeaderVersionEXT { OneExt });
/// `VkValidationCheckEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ValidationCheckEXT(pub i32);
from_into_transparent!(ValidationCheckEXT : i32);
from_by_transmute!(ValidationCheckEXT => sys::VkValidationCheckEXT);
from_by_transmute!(sys::VkValidationCheckEXT => ValidationCheckEXT);
impl_to_sys!(ValidationCheckEXT => sys::VkValidationCheckEXT);
impl_enum!(ValidationCheckEXT => sys::VkValidationCheckEXT);
impl ValidationCheckEXT {
/// `VK_VALIDATION_CHECK_ALL_EXT` = `0`
pub const AllExt: Self = Self(sys::VK_VALIDATION_CHECK_ALL_EXT.0);
/// `VK_VALIDATION_CHECK_SHADERS_EXT` = `1`
pub const ShadersExt: Self = Self(sys::VK_VALIDATION_CHECK_SHADERS_EXT.0);
}
impl_enum_display!(ValidationCheckEXT = VkValidationCheckEXT { AllExt, ShadersExt });
/// `VkValidationFeatureDisableEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ValidationFeatureDisableEXT(pub i32);
from_into_transparent!(ValidationFeatureDisableEXT : i32);
from_by_transmute!(ValidationFeatureDisableEXT => sys::VkValidationFeatureDisableEXT);
from_by_transmute!(sys::VkValidationFeatureDisableEXT => ValidationFeatureDisableEXT);
impl_to_sys!(ValidationFeatureDisableEXT => sys::VkValidationFeatureDisableEXT);
impl_enum!(ValidationFeatureDisableEXT => sys::VkValidationFeatureDisableEXT);
impl ValidationFeatureDisableEXT {
/// `VK_VALIDATION_FEATURE_DISABLE_ALL_EXT` = `0`
pub const AllExt: Self = Self(sys::VK_VALIDATION_FEATURE_DISABLE_ALL_EXT.0);
/// `VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT` = `1`
pub const ShadersExt: Self = Self(sys::VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT.0);
/// `VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT` = `2`
pub const ThreadSafetyExt: Self = Self(sys::VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT.0);
/// `VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT` = `3`
pub const ApiParametersExt: Self = Self(sys::VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT.0);
/// `VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT` = `4`
pub const ObjectLifetimesExt: Self = Self(sys::VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT.0);
/// `VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT` = `5`
pub const CoreChecksExt: Self = Self(sys::VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT.0);
/// `VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT` = `6`
pub const UniqueHandlesExt: Self = Self(sys::VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT.0);
/// `VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT` = `7`
pub const ShaderValidationCacheExt: Self = Self(sys::VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT.0);
}
impl_enum_display!(ValidationFeatureDisableEXT = VkValidationFeatureDisableEXT { AllExt, ShadersExt, ThreadSafetyExt, ApiParametersExt, ObjectLifetimesExt, CoreChecksExt, UniqueHandlesExt, ShaderValidationCacheExt });
/// `VkValidationFeatureEnableEXT`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ValidationFeatureEnableEXT(pub i32);
from_into_transparent!(ValidationFeatureEnableEXT : i32);
from_by_transmute!(ValidationFeatureEnableEXT => sys::VkValidationFeatureEnableEXT);
from_by_transmute!(sys::VkValidationFeatureEnableEXT => ValidationFeatureEnableEXT);
impl_to_sys!(ValidationFeatureEnableEXT => sys::VkValidationFeatureEnableEXT);
impl_enum!(ValidationFeatureEnableEXT => sys::VkValidationFeatureEnableEXT);
impl ValidationFeatureEnableEXT {
/// `VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT` = `0`
pub const GpuAssistedExt: Self = Self(sys::VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT.0);
/// `VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT` = `1`
pub const GpuAssistedReserveBindingSlotExt: Self = Self(sys::VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT.0);
/// `VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT` = `2`
pub const BestPracticesExt: Self = Self(sys::VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT.0);
/// `VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT` = `3`
pub const DebugPrintfExt: Self = Self(sys::VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT.0);
/// `VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT` = `4`
pub const SynchronizationValidationExt: Self = Self(sys::VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT.0);
}
impl_enum_display!(ValidationFeatureEnableEXT = VkValidationFeatureEnableEXT { GpuAssistedExt, GpuAssistedReserveBindingSlotExt, BestPracticesExt, DebugPrintfExt, SynchronizationValidationExt });
/// `VkVendorId`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct VendorId(pub i32);
from_into_transparent!(VendorId : i32);
from_by_transmute!(VendorId => sys::VkVendorId);
from_by_transmute!(sys::VkVendorId => VendorId);
impl_to_sys!(VendorId => sys::VkVendorId);
impl_enum!(VendorId => sys::VkVendorId);
impl VendorId {
/// `VK_VENDOR_ID_KHRONOS` = `0x10000`
///
/// Khronos vendor ID
pub const Khronos: Self = Self(sys::VK_VENDOR_ID_KHRONOS.0);
/// `VK_VENDOR_ID_VIV` = `0x10001`
///
/// Vivante vendor ID
pub const Viv: Self = Self(sys::VK_VENDOR_ID_VIV.0);
/// `VK_VENDOR_ID_VSI` = `0x10002`
///
/// VeriSilicon vendor ID
pub const Vsi: Self = Self(sys::VK_VENDOR_ID_VSI.0);
/// `VK_VENDOR_ID_KAZAN` = `0x10003`
///
/// Kazan Software Renderer
pub const Kazan: Self = Self(sys::VK_VENDOR_ID_KAZAN.0);
/// `VK_VENDOR_ID_CODEPLAY` = `0x10004`
///
/// Codeplay Software Ltd. vendor ID
pub const Codeplay: Self = Self(sys::VK_VENDOR_ID_CODEPLAY.0);
/// `VK_VENDOR_ID_MESA` = `0x10005`
///
/// Mesa vendor ID
pub const Mesa: Self = Self(sys::VK_VENDOR_ID_MESA.0);
/// `VK_VENDOR_ID_POCL` = `0x10006`
///
/// PoCL vendor ID
pub const Pocl: Self = Self(sys::VK_VENDOR_ID_POCL.0);
/// `VK_VENDOR_ID_MOBILEYE` = `0x10007`
///
/// Mobileye vendor ID
pub const Mobileye: Self = Self(sys::VK_VENDOR_ID_MOBILEYE.0);
}
impl_enum_display!(VendorId = VkVendorId { Khronos, Viv, Vsi, Kazan, Codeplay, Mesa, Pocl, Mobileye });
/// `VkVertexInputRate`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct VertexInputRate(pub i32);
from_into_transparent!(VertexInputRate : i32);
from_by_transmute!(VertexInputRate => sys::VkVertexInputRate);
from_by_transmute!(sys::VkVertexInputRate => VertexInputRate);
impl_to_sys!(VertexInputRate => sys::VkVertexInputRate);
impl_enum!(VertexInputRate => sys::VkVertexInputRate);
impl VertexInputRate {
/// `VK_VERTEX_INPUT_RATE_VERTEX` = `0`
pub const Vertex: Self = Self(sys::VK_VERTEX_INPUT_RATE_VERTEX.0);
/// `VK_VERTEX_INPUT_RATE_INSTANCE` = `1`
pub const Instance: Self = Self(sys::VK_VERTEX_INPUT_RATE_INSTANCE.0);
}
impl_enum_display!(VertexInputRate = VkVertexInputRate { Vertex, Instance });
/// `VkViSurfaceCreateFlagsNN`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ViSurfaceCreateFlagsNN(pub i32);
flags!(ViSurfaceCreateFlagsNN);
from_into_transparent!(ViSurfaceCreateFlagsNN : i32);
from_by_transmute!(ViSurfaceCreateFlagsNN => sys::VkViSurfaceCreateFlagsNN);
from_by_transmute!(sys::VkViSurfaceCreateFlagsNN => ViSurfaceCreateFlagsNN);
impl_to_sys!(ViSurfaceCreateFlagsNN => sys::VkViSurfaceCreateFlagsNN);
impl_enum!(ViSurfaceCreateFlagsNN => sys::VkViSurfaceCreateFlagsNN);
impl_flags_display!(ViSurfaceCreateFlagsNN = VkViSurfaceCreateFlagsNN { });
/// `VkVideoBeginCodingFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct VideoBeginCodingFlagsKHR(pub i32);
flags!(VideoBeginCodingFlagsKHR);
from_into_transparent!(VideoBeginCodingFlagsKHR : i32);
from_by_transmute!(VideoBeginCodingFlagsKHR => sys::VkVideoBeginCodingFlagsKHR);
from_by_transmute!(sys::VkVideoBeginCodingFlagsKHR => VideoBeginCodingFlagsKHR);
impl_to_sys!(VideoBeginCodingFlagsKHR => sys::VkVideoBeginCodingFlagsKHR);
impl_enum!(VideoBeginCodingFlagsKHR => sys::VkVideoBeginCodingFlagsKHR);
impl_flags_display!(VideoBeginCodingFlagsKHR = VkVideoBeginCodingFlagsKHR { });
/// `VkVideoCapabilityFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct VideoCapabilityFlagsKHR(pub i32);
flags!(VideoCapabilityFlagsKHR);
from_into_transparent!(VideoCapabilityFlagsKHR : i32);
from_by_transmute!(VideoCapabilityFlagsKHR => sys::VkVideoCapabilityFlagsKHR);
from_by_transmute!(sys::VkVideoCapabilityFlagsKHR => VideoCapabilityFlagsKHR);
impl_to_sys!(VideoCapabilityFlagsKHR => sys::VkVideoCapabilityFlagsKHR);
impl_enum!(VideoCapabilityFlagsKHR => sys::VkVideoCapabilityFlagsKHR);
impl VideoCapabilityFlagsKHR {
/// `VK_VIDEO_CAPABILITY_PROTECTED_CONTENT_BIT_KHR` = `1 << 0`
pub const ProtectedContentKhr: Self = Self(sys::VK_VIDEO_CAPABILITY_PROTECTED_CONTENT_BIT_KHR.0);
/// `VK_VIDEO_CAPABILITY_SEPARATE_REFERENCE_IMAGES_BIT_KHR` = `1 << 1`
pub const SeparateReferenceImagesKhr: Self = Self(sys::VK_VIDEO_CAPABILITY_SEPARATE_REFERENCE_IMAGES_BIT_KHR.0);
}
impl_flags_display!(VideoCapabilityFlagsKHR = VkVideoCapabilityFlagsKHR { ProtectedContentKhr, SeparateReferenceImagesKhr });
/// `VkVideoChromaSubsamplingFlagsKHR`
///
/// Vulkan video chroma subsampling definitions
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct VideoChromaSubsamplingFlagsKHR(pub i32);
flags!(VideoChromaSubsamplingFlagsKHR);
from_into_transparent!(VideoChromaSubsamplingFlagsKHR : i32);
from_by_transmute!(VideoChromaSubsamplingFlagsKHR => sys::VkVideoChromaSubsamplingFlagsKHR);
from_by_transmute!(sys::VkVideoChromaSubsamplingFlagsKHR => VideoChromaSubsamplingFlagsKHR);
impl_to_sys!(VideoChromaSubsamplingFlagsKHR => sys::VkVideoChromaSubsamplingFlagsKHR);
impl_enum!(VideoChromaSubsamplingFlagsKHR => sys::VkVideoChromaSubsamplingFlagsKHR);
impl VideoChromaSubsamplingFlagsKHR {
/// `VK_VIDEO_CHROMA_SUBSAMPLING_INVALID_KHR` = `0`
pub const InvalidKhr: Self = Self(sys::VK_VIDEO_CHROMA_SUBSAMPLING_INVALID_KHR.0);
/// `VK_VIDEO_CHROMA_SUBSAMPLING_MONOCHROME_BIT_KHR` = `1 << 0`
pub const MonochromeKhr: Self = Self(sys::VK_VIDEO_CHROMA_SUBSAMPLING_MONOCHROME_BIT_KHR.0);
/// `VK_VIDEO_CHROMA_SUBSAMPLING_420_BIT_KHR` = `1 << 1`
pub const _420Khr: Self = Self(sys::VK_VIDEO_CHROMA_SUBSAMPLING_420_BIT_KHR.0);
/// `VK_VIDEO_CHROMA_SUBSAMPLING_422_BIT_KHR` = `1 << 2`
pub const _422Khr: Self = Self(sys::VK_VIDEO_CHROMA_SUBSAMPLING_422_BIT_KHR.0);
/// `VK_VIDEO_CHROMA_SUBSAMPLING_444_BIT_KHR` = `1 << 3`
pub const _444Khr: Self = Self(sys::VK_VIDEO_CHROMA_SUBSAMPLING_444_BIT_KHR.0);
}
impl_flags_display!(VideoChromaSubsamplingFlagsKHR = VkVideoChromaSubsamplingFlagsKHR { InvalidKhr, MonochromeKhr, _420Khr, _422Khr, _444Khr });
/// `VkVideoCodecOperationFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct VideoCodecOperationFlagsKHR(pub i32);
flags!(VideoCodecOperationFlagsKHR);
from_into_transparent!(VideoCodecOperationFlagsKHR : i32);
from_by_transmute!(VideoCodecOperationFlagsKHR => sys::VkVideoCodecOperationFlagsKHR);
from_by_transmute!(sys::VkVideoCodecOperationFlagsKHR => VideoCodecOperationFlagsKHR);
impl_to_sys!(VideoCodecOperationFlagsKHR => sys::VkVideoCodecOperationFlagsKHR);
impl_enum!(VideoCodecOperationFlagsKHR => sys::VkVideoCodecOperationFlagsKHR);
impl VideoCodecOperationFlagsKHR {
/// `VK_VIDEO_CODEC_OPERATION_NONE_KHR` = `0`
pub const NoneKhr: Self = Self(sys::VK_VIDEO_CODEC_OPERATION_NONE_KHR.0);
/// `VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR` = `1 << 16`
pub const EncodeH264Khr: Self = Self(sys::VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR.0);
/// `VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR` = `1 << 17`
pub const EncodeH265Khr: Self = Self(sys::VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR.0);
/// `VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_KHR` = `1 << 0`
pub const DecodeH264Khr: Self = Self(sys::VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_KHR.0);
/// `VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR` = `1 << 1`
pub const DecodeH265Khr: Self = Self(sys::VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR.0);
/// `VK_VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR` = `1 << 2`
pub const DecodeAv1Khr: Self = Self(sys::VK_VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR.0);
/// `VK_VIDEO_CODEC_OPERATION_ENCODE_AV1_BIT_KHR` = `1 << 18`
pub const EncodeAv1Khr: Self = Self(sys::VK_VIDEO_CODEC_OPERATION_ENCODE_AV1_BIT_KHR.0);
/// `VK_VIDEO_CODEC_OPERATION_DECODE_VP9_BIT_KHR` = `1 << 3`
pub const DecodeVp9Khr: Self = Self(sys::VK_VIDEO_CODEC_OPERATION_DECODE_VP9_BIT_KHR.0);
}
impl_flags_display!(VideoCodecOperationFlagsKHR = VkVideoCodecOperationFlagsKHR { NoneKhr, EncodeH264Khr, EncodeH265Khr, DecodeH264Khr, DecodeH265Khr, DecodeAv1Khr, EncodeAv1Khr, DecodeVp9Khr });
/// `VkVideoCodingControlFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct VideoCodingControlFlagsKHR(pub i32);
flags!(VideoCodingControlFlagsKHR);
from_into_transparent!(VideoCodingControlFlagsKHR : i32);
from_by_transmute!(VideoCodingControlFlagsKHR => sys::VkVideoCodingControlFlagsKHR);
from_by_transmute!(sys::VkVideoCodingControlFlagsKHR => VideoCodingControlFlagsKHR);
impl_to_sys!(VideoCodingControlFlagsKHR => sys::VkVideoCodingControlFlagsKHR);
impl_enum!(VideoCodingControlFlagsKHR => sys::VkVideoCodingControlFlagsKHR);
impl VideoCodingControlFlagsKHR {
/// `VK_VIDEO_CODING_CONTROL_RESET_BIT_KHR` = `1 << 0`
pub const ResetKhr: Self = Self(sys::VK_VIDEO_CODING_CONTROL_RESET_BIT_KHR.0);
/// `VK_VIDEO_CODING_CONTROL_ENCODE_RATE_CONTROL_BIT_KHR` = `1 << 1`
pub const EncodeRateControlKhr: Self = Self(sys::VK_VIDEO_CODING_CONTROL_ENCODE_RATE_CONTROL_BIT_KHR.0);
/// `VK_VIDEO_CODING_CONTROL_ENCODE_QUALITY_LEVEL_BIT_KHR` = `1 << 2`
pub const EncodeQualityLevelKhr: Self = Self(sys::VK_VIDEO_CODING_CONTROL_ENCODE_QUALITY_LEVEL_BIT_KHR.0);
}
impl_flags_display!(VideoCodingControlFlagsKHR = VkVideoCodingControlFlagsKHR { ResetKhr, EncodeRateControlKhr, EncodeQualityLevelKhr });
/// `VkVideoComponentBitDepthFlagsKHR`
///
/// Vulkan video component bit depth definitions
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct VideoComponentBitDepthFlagsKHR(pub i32);
flags!(VideoComponentBitDepthFlagsKHR);
from_into_transparent!(VideoComponentBitDepthFlagsKHR : i32);
from_by_transmute!(VideoComponentBitDepthFlagsKHR => sys::VkVideoComponentBitDepthFlagsKHR);
from_by_transmute!(sys::VkVideoComponentBitDepthFlagsKHR => VideoComponentBitDepthFlagsKHR);
impl_to_sys!(VideoComponentBitDepthFlagsKHR => sys::VkVideoComponentBitDepthFlagsKHR);
impl_enum!(VideoComponentBitDepthFlagsKHR => sys::VkVideoComponentBitDepthFlagsKHR);
impl VideoComponentBitDepthFlagsKHR {
/// `VK_VIDEO_COMPONENT_BIT_DEPTH_INVALID_KHR` = `0`
pub const DepthInvalidKhr: Self = Self(sys::VK_VIDEO_COMPONENT_BIT_DEPTH_INVALID_KHR.0);
/// `VK_VIDEO_COMPONENT_BIT_DEPTH_8_BIT_KHR` = `1 << 0`
pub const Depth8BitKhr: Self = Self(sys::VK_VIDEO_COMPONENT_BIT_DEPTH_8_BIT_KHR.0);
/// `VK_VIDEO_COMPONENT_BIT_DEPTH_10_BIT_KHR` = `1 << 2`
pub const Depth10BitKhr: Self = Self(sys::VK_VIDEO_COMPONENT_BIT_DEPTH_10_BIT_KHR.0);
/// `VK_VIDEO_COMPONENT_BIT_DEPTH_12_BIT_KHR` = `1 << 4`
pub const Depth12BitKhr: Self = Self(sys::VK_VIDEO_COMPONENT_BIT_DEPTH_12_BIT_KHR.0);
}
impl_flags_display!(VideoComponentBitDepthFlagsKHR = VkVideoComponentBitDepthFlagsKHR { DepthInvalidKhr, Depth8BitKhr, Depth10BitKhr, Depth12BitKhr });
/// `VkVideoDecodeCapabilityFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct VideoDecodeCapabilityFlagsKHR(pub i32);
flags!(VideoDecodeCapabilityFlagsKHR);
from_into_transparent!(VideoDecodeCapabilityFlagsKHR : i32);
from_by_transmute!(VideoDecodeCapabilityFlagsKHR => sys::VkVideoDecodeCapabilityFlagsKHR);
from_by_transmute!(sys::VkVideoDecodeCapabilityFlagsKHR => VideoDecodeCapabilityFlagsKHR);
impl_to_sys!(VideoDecodeCapabilityFlagsKHR => sys::VkVideoDecodeCapabilityFlagsKHR);
impl_enum!(VideoDecodeCapabilityFlagsKHR => sys::VkVideoDecodeCapabilityFlagsKHR);
impl VideoDecodeCapabilityFlagsKHR {
/// `VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_COINCIDE_BIT_KHR` = `1 << 0`
pub const DpbAndOutputCoincideKhr: Self = Self(sys::VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_COINCIDE_BIT_KHR.0);
/// `VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_DISTINCT_BIT_KHR` = `1 << 1`
pub const DpbAndOutputDistinctKhr: Self = Self(sys::VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_DISTINCT_BIT_KHR.0);
}
impl_flags_display!(VideoDecodeCapabilityFlagsKHR = VkVideoDecodeCapabilityFlagsKHR { DpbAndOutputCoincideKhr, DpbAndOutputDistinctKhr });
/// `VkVideoDecodeFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct VideoDecodeFlagsKHR(pub i32);
flags!(VideoDecodeFlagsKHR);
from_into_transparent!(VideoDecodeFlagsKHR : i32);
from_by_transmute!(VideoDecodeFlagsKHR => sys::VkVideoDecodeFlagsKHR);
from_by_transmute!(sys::VkVideoDecodeFlagsKHR => VideoDecodeFlagsKHR);
impl_to_sys!(VideoDecodeFlagsKHR => sys::VkVideoDecodeFlagsKHR);
impl_enum!(VideoDecodeFlagsKHR => sys::VkVideoDecodeFlagsKHR);
impl_flags_display!(VideoDecodeFlagsKHR = VkVideoDecodeFlagsKHR { });
/// `VkVideoDecodeH264PictureLayoutFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct VideoDecodeH264PictureLayoutFlagsKHR(pub i32);
flags!(VideoDecodeH264PictureLayoutFlagsKHR);
from_into_transparent!(VideoDecodeH264PictureLayoutFlagsKHR : i32);
from_by_transmute!(VideoDecodeH264PictureLayoutFlagsKHR => sys::VkVideoDecodeH264PictureLayoutFlagsKHR);
from_by_transmute!(sys::VkVideoDecodeH264PictureLayoutFlagsKHR => VideoDecodeH264PictureLayoutFlagsKHR);
impl_to_sys!(VideoDecodeH264PictureLayoutFlagsKHR => sys::VkVideoDecodeH264PictureLayoutFlagsKHR);
impl_enum!(VideoDecodeH264PictureLayoutFlagsKHR => sys::VkVideoDecodeH264PictureLayoutFlagsKHR);
impl VideoDecodeH264PictureLayoutFlagsKHR {
/// `VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_PROGRESSIVE_KHR` = `0`
pub const H264PictureLayoutProgressiveKhr: Self = Self(sys::VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_PROGRESSIVE_KHR.0);
/// `VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_INTERLEAVED_LINES_BIT_KHR` = `1 << 0`
pub const H264PictureLayoutInterlacedInterleavedLinesKhr: Self = Self(sys::VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_INTERLEAVED_LINES_BIT_KHR.0);
/// `VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_SEPARATE_PLANES_BIT_KHR` = `1 << 1`
pub const H264PictureLayoutInterlacedSeparatePlanesKhr: Self = Self(sys::VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_SEPARATE_PLANES_BIT_KHR.0);
}
impl_flags_display!(VideoDecodeH264PictureLayoutFlagsKHR = VkVideoDecodeH264PictureLayoutFlagsKHR { H264PictureLayoutProgressiveKhr, H264PictureLayoutInterlacedInterleavedLinesKhr, H264PictureLayoutInterlacedSeparatePlanesKhr });
/// `VkVideoDecodeUsageFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct VideoDecodeUsageFlagsKHR(pub i32);
flags!(VideoDecodeUsageFlagsKHR);
from_into_transparent!(VideoDecodeUsageFlagsKHR : i32);
from_by_transmute!(VideoDecodeUsageFlagsKHR => sys::VkVideoDecodeUsageFlagsKHR);
from_by_transmute!(sys::VkVideoDecodeUsageFlagsKHR => VideoDecodeUsageFlagsKHR);
impl_to_sys!(VideoDecodeUsageFlagsKHR => sys::VkVideoDecodeUsageFlagsKHR);
impl_enum!(VideoDecodeUsageFlagsKHR => sys::VkVideoDecodeUsageFlagsKHR);
impl VideoDecodeUsageFlagsKHR {
/// `VK_VIDEO_DECODE_USAGE_DEFAULT_KHR` = `0`
pub const DefaultKhr: Self = Self(sys::VK_VIDEO_DECODE_USAGE_DEFAULT_KHR.0);
/// `VK_VIDEO_DECODE_USAGE_TRANSCODING_BIT_KHR` = `1 << 0`
pub const TranscodingKhr: Self = Self(sys::VK_VIDEO_DECODE_USAGE_TRANSCODING_BIT_KHR.0);
/// `VK_VIDEO_DECODE_USAGE_OFFLINE_BIT_KHR` = `1 << 1`
pub const OfflineKhr: Self = Self(sys::VK_VIDEO_DECODE_USAGE_OFFLINE_BIT_KHR.0);
/// `VK_VIDEO_DECODE_USAGE_STREAMING_BIT_KHR` = `1 << 2`
pub const StreamingKhr: Self = Self(sys::VK_VIDEO_DECODE_USAGE_STREAMING_BIT_KHR.0);
}
impl_flags_display!(VideoDecodeUsageFlagsKHR = VkVideoDecodeUsageFlagsKHR { DefaultKhr, TranscodingKhr, OfflineKhr, StreamingKhr });
/// `VkVideoEncodeAV1CapabilityFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct VideoEncodeAV1CapabilityFlagsKHR(pub i32);
flags!(VideoEncodeAV1CapabilityFlagsKHR);
from_into_transparent!(VideoEncodeAV1CapabilityFlagsKHR : i32);
from_by_transmute!(VideoEncodeAV1CapabilityFlagsKHR => sys::VkVideoEncodeAV1CapabilityFlagsKHR);
from_by_transmute!(sys::VkVideoEncodeAV1CapabilityFlagsKHR => VideoEncodeAV1CapabilityFlagsKHR);
impl_to_sys!(VideoEncodeAV1CapabilityFlagsKHR => sys::VkVideoEncodeAV1CapabilityFlagsKHR);
impl_enum!(VideoEncodeAV1CapabilityFlagsKHR => sys::VkVideoEncodeAV1CapabilityFlagsKHR);
impl VideoEncodeAV1CapabilityFlagsKHR {
/// `VK_VIDEO_ENCODE_AV1_CAPABILITY_PER_RATE_CONTROL_GROUP_MIN_MAX_Q_INDEX_BIT_KHR` = `1 << 0`
pub const Av1CapabilityPerRateControlGroupMinMaxQIndexKhr: Self = Self(sys::VK_VIDEO_ENCODE_AV1_CAPABILITY_PER_RATE_CONTROL_GROUP_MIN_MAX_Q_INDEX_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_AV1_CAPABILITY_GENERATE_OBU_EXTENSION_HEADER_BIT_KHR` = `1 << 1`
pub const Av1CapabilityGenerateObuExtensionHeaderKhr: Self = Self(sys::VK_VIDEO_ENCODE_AV1_CAPABILITY_GENERATE_OBU_EXTENSION_HEADER_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_AV1_CAPABILITY_PRIMARY_REFERENCE_CDF_ONLY_BIT_KHR` = `1 << 2`
pub const Av1CapabilityPrimaryReferenceCdfOnlyKhr: Self = Self(sys::VK_VIDEO_ENCODE_AV1_CAPABILITY_PRIMARY_REFERENCE_CDF_ONLY_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_AV1_CAPABILITY_FRAME_SIZE_OVERRIDE_BIT_KHR` = `1 << 3`
pub const Av1CapabilityFrameSizeOverrideKhr: Self = Self(sys::VK_VIDEO_ENCODE_AV1_CAPABILITY_FRAME_SIZE_OVERRIDE_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_AV1_CAPABILITY_MOTION_VECTOR_SCALING_BIT_KHR` = `1 << 4`
pub const Av1CapabilityMotionVectorScalingKhr: Self = Self(sys::VK_VIDEO_ENCODE_AV1_CAPABILITY_MOTION_VECTOR_SCALING_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_AV1_CAPABILITY_COMPOUND_PREDICTION_INTRA_REFRESH_BIT_KHR` = `1 << 5`
pub const Av1CapabilityCompoundPredictionIntraRefreshKhr: Self = Self(sys::VK_VIDEO_ENCODE_AV1_CAPABILITY_COMPOUND_PREDICTION_INTRA_REFRESH_BIT_KHR.0);
}
impl_flags_display!(VideoEncodeAV1CapabilityFlagsKHR = VkVideoEncodeAV1CapabilityFlagsKHR { Av1CapabilityPerRateControlGroupMinMaxQIndexKhr, Av1CapabilityGenerateObuExtensionHeaderKhr, Av1CapabilityPrimaryReferenceCdfOnlyKhr, Av1CapabilityFrameSizeOverrideKhr, Av1CapabilityMotionVectorScalingKhr, Av1CapabilityCompoundPredictionIntraRefreshKhr });
/// `VkVideoEncodeAV1PredictionModeKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct VideoEncodeAV1PredictionModeKHR(pub i32);
from_into_transparent!(VideoEncodeAV1PredictionModeKHR : i32);
from_by_transmute!(VideoEncodeAV1PredictionModeKHR => sys::VkVideoEncodeAV1PredictionModeKHR);
from_by_transmute!(sys::VkVideoEncodeAV1PredictionModeKHR => VideoEncodeAV1PredictionModeKHR);
impl_to_sys!(VideoEncodeAV1PredictionModeKHR => sys::VkVideoEncodeAV1PredictionModeKHR);
impl_enum!(VideoEncodeAV1PredictionModeKHR => sys::VkVideoEncodeAV1PredictionModeKHR);
impl VideoEncodeAV1PredictionModeKHR {
/// `VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_INTRA_ONLY_KHR` = `0`
pub const Av1PredictionModeIntraOnlyKhr: Self = Self(sys::VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_INTRA_ONLY_KHR.0);
/// `VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_SINGLE_REFERENCE_KHR` = `1`
pub const Av1PredictionModeSingleReferenceKhr: Self = Self(sys::VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_SINGLE_REFERENCE_KHR.0);
/// `VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_UNIDIRECTIONAL_COMPOUND_KHR` = `2`
pub const Av1PredictionModeUnidirectionalCompoundKhr: Self = Self(sys::VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_UNIDIRECTIONAL_COMPOUND_KHR.0);
/// `VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_BIDIRECTIONAL_COMPOUND_KHR` = `3`
pub const Av1PredictionModeBidirectionalCompoundKhr: Self = Self(sys::VK_VIDEO_ENCODE_AV1_PREDICTION_MODE_BIDIRECTIONAL_COMPOUND_KHR.0);
}
impl_enum_display!(VideoEncodeAV1PredictionModeKHR = VkVideoEncodeAV1PredictionModeKHR { Av1PredictionModeIntraOnlyKhr, Av1PredictionModeSingleReferenceKhr, Av1PredictionModeUnidirectionalCompoundKhr, Av1PredictionModeBidirectionalCompoundKhr });
/// `VkVideoEncodeAV1RateControlFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct VideoEncodeAV1RateControlFlagsKHR(pub i32);
flags!(VideoEncodeAV1RateControlFlagsKHR);
from_into_transparent!(VideoEncodeAV1RateControlFlagsKHR : i32);
from_by_transmute!(VideoEncodeAV1RateControlFlagsKHR => sys::VkVideoEncodeAV1RateControlFlagsKHR);
from_by_transmute!(sys::VkVideoEncodeAV1RateControlFlagsKHR => VideoEncodeAV1RateControlFlagsKHR);
impl_to_sys!(VideoEncodeAV1RateControlFlagsKHR => sys::VkVideoEncodeAV1RateControlFlagsKHR);
impl_enum!(VideoEncodeAV1RateControlFlagsKHR => sys::VkVideoEncodeAV1RateControlFlagsKHR);
impl VideoEncodeAV1RateControlFlagsKHR {
/// `VK_VIDEO_ENCODE_AV1_RATE_CONTROL_REGULAR_GOP_BIT_KHR` = `1 << 0`
pub const Av1RateControlRegularGopKhr: Self = Self(sys::VK_VIDEO_ENCODE_AV1_RATE_CONTROL_REGULAR_GOP_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_AV1_RATE_CONTROL_TEMPORAL_LAYER_PATTERN_DYADIC_BIT_KHR` = `1 << 1`
pub const Av1RateControlTemporalLayerPatternDyadicKhr: Self = Self(sys::VK_VIDEO_ENCODE_AV1_RATE_CONTROL_TEMPORAL_LAYER_PATTERN_DYADIC_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_AV1_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_KHR` = `1 << 2`
pub const Av1RateControlReferencePatternFlatKhr: Self = Self(sys::VK_VIDEO_ENCODE_AV1_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_AV1_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_KHR` = `1 << 3`
pub const Av1RateControlReferencePatternDyadicKhr: Self = Self(sys::VK_VIDEO_ENCODE_AV1_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_KHR.0);
}
impl_flags_display!(VideoEncodeAV1RateControlFlagsKHR = VkVideoEncodeAV1RateControlFlagsKHR { Av1RateControlRegularGopKhr, Av1RateControlTemporalLayerPatternDyadicKhr, Av1RateControlReferencePatternFlatKhr, Av1RateControlReferencePatternDyadicKhr });
/// `VkVideoEncodeAV1RateControlGroupKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct VideoEncodeAV1RateControlGroupKHR(pub i32);
from_into_transparent!(VideoEncodeAV1RateControlGroupKHR : i32);
from_by_transmute!(VideoEncodeAV1RateControlGroupKHR => sys::VkVideoEncodeAV1RateControlGroupKHR);
from_by_transmute!(sys::VkVideoEncodeAV1RateControlGroupKHR => VideoEncodeAV1RateControlGroupKHR);
impl_to_sys!(VideoEncodeAV1RateControlGroupKHR => sys::VkVideoEncodeAV1RateControlGroupKHR);
impl_enum!(VideoEncodeAV1RateControlGroupKHR => sys::VkVideoEncodeAV1RateControlGroupKHR);
impl VideoEncodeAV1RateControlGroupKHR {
/// `VK_VIDEO_ENCODE_AV1_RATE_CONTROL_GROUP_INTRA_KHR` = `0`
pub const Av1RateControlGroupIntraKhr: Self = Self(sys::VK_VIDEO_ENCODE_AV1_RATE_CONTROL_GROUP_INTRA_KHR.0);
/// `VK_VIDEO_ENCODE_AV1_RATE_CONTROL_GROUP_PREDICTIVE_KHR` = `1`
pub const Av1RateControlGroupPredictiveKhr: Self = Self(sys::VK_VIDEO_ENCODE_AV1_RATE_CONTROL_GROUP_PREDICTIVE_KHR.0);
/// `VK_VIDEO_ENCODE_AV1_RATE_CONTROL_GROUP_BIPREDICTIVE_KHR` = `2`
pub const Av1RateControlGroupBipredictiveKhr: Self = Self(sys::VK_VIDEO_ENCODE_AV1_RATE_CONTROL_GROUP_BIPREDICTIVE_KHR.0);
}
impl_enum_display!(VideoEncodeAV1RateControlGroupKHR = VkVideoEncodeAV1RateControlGroupKHR { Av1RateControlGroupIntraKhr, Av1RateControlGroupPredictiveKhr, Av1RateControlGroupBipredictiveKhr });
/// `VkVideoEncodeAV1StdFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct VideoEncodeAV1StdFlagsKHR(pub i32);
flags!(VideoEncodeAV1StdFlagsKHR);
from_into_transparent!(VideoEncodeAV1StdFlagsKHR : i32);
from_by_transmute!(VideoEncodeAV1StdFlagsKHR => sys::VkVideoEncodeAV1StdFlagsKHR);
from_by_transmute!(sys::VkVideoEncodeAV1StdFlagsKHR => VideoEncodeAV1StdFlagsKHR);
impl_to_sys!(VideoEncodeAV1StdFlagsKHR => sys::VkVideoEncodeAV1StdFlagsKHR);
impl_enum!(VideoEncodeAV1StdFlagsKHR => sys::VkVideoEncodeAV1StdFlagsKHR);
impl VideoEncodeAV1StdFlagsKHR {
/// `VK_VIDEO_ENCODE_AV1_STD_UNIFORM_TILE_SPACING_FLAG_SET_BIT_KHR` = `1 << 0`
pub const Av1StdUniformTileSpacingFlagSetKhr: Self = Self(sys::VK_VIDEO_ENCODE_AV1_STD_UNIFORM_TILE_SPACING_FLAG_SET_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_AV1_STD_SKIP_MODE_PRESENT_UNSET_BIT_KHR` = `1 << 1`
pub const Av1StdSkipModePresentUnsetKhr: Self = Self(sys::VK_VIDEO_ENCODE_AV1_STD_SKIP_MODE_PRESENT_UNSET_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_AV1_STD_PRIMARY_REF_FRAME_BIT_KHR` = `1 << 2`
pub const Av1StdPrimaryRefFrameKhr: Self = Self(sys::VK_VIDEO_ENCODE_AV1_STD_PRIMARY_REF_FRAME_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_AV1_STD_DELTA_Q_BIT_KHR` = `1 << 3`
pub const Av1StdDeltaQKhr: Self = Self(sys::VK_VIDEO_ENCODE_AV1_STD_DELTA_Q_BIT_KHR.0);
}
impl_flags_display!(VideoEncodeAV1StdFlagsKHR = VkVideoEncodeAV1StdFlagsKHR { Av1StdUniformTileSpacingFlagSetKhr, Av1StdSkipModePresentUnsetKhr, Av1StdPrimaryRefFrameKhr, Av1StdDeltaQKhr });
/// `VkVideoEncodeAV1SuperblockSizeFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct VideoEncodeAV1SuperblockSizeFlagsKHR(pub i32);
flags!(VideoEncodeAV1SuperblockSizeFlagsKHR);
from_into_transparent!(VideoEncodeAV1SuperblockSizeFlagsKHR : i32);
from_by_transmute!(VideoEncodeAV1SuperblockSizeFlagsKHR => sys::VkVideoEncodeAV1SuperblockSizeFlagsKHR);
from_by_transmute!(sys::VkVideoEncodeAV1SuperblockSizeFlagsKHR => VideoEncodeAV1SuperblockSizeFlagsKHR);
impl_to_sys!(VideoEncodeAV1SuperblockSizeFlagsKHR => sys::VkVideoEncodeAV1SuperblockSizeFlagsKHR);
impl_enum!(VideoEncodeAV1SuperblockSizeFlagsKHR => sys::VkVideoEncodeAV1SuperblockSizeFlagsKHR);
impl VideoEncodeAV1SuperblockSizeFlagsKHR {
/// `VK_VIDEO_ENCODE_AV1_SUPERBLOCK_SIZE_64_BIT_KHR` = `1 << 0`
pub const Av1SuperblockSize64Khr: Self = Self(sys::VK_VIDEO_ENCODE_AV1_SUPERBLOCK_SIZE_64_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_AV1_SUPERBLOCK_SIZE_128_BIT_KHR` = `1 << 1`
pub const Av1SuperblockSize128Khr: Self = Self(sys::VK_VIDEO_ENCODE_AV1_SUPERBLOCK_SIZE_128_BIT_KHR.0);
}
impl_flags_display!(VideoEncodeAV1SuperblockSizeFlagsKHR = VkVideoEncodeAV1SuperblockSizeFlagsKHR { Av1SuperblockSize64Khr, Av1SuperblockSize128Khr });
/// `VkVideoEncodeCapabilityFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct VideoEncodeCapabilityFlagsKHR(pub i32);
flags!(VideoEncodeCapabilityFlagsKHR);
from_into_transparent!(VideoEncodeCapabilityFlagsKHR : i32);
from_by_transmute!(VideoEncodeCapabilityFlagsKHR => sys::VkVideoEncodeCapabilityFlagsKHR);
from_by_transmute!(sys::VkVideoEncodeCapabilityFlagsKHR => VideoEncodeCapabilityFlagsKHR);
impl_to_sys!(VideoEncodeCapabilityFlagsKHR => sys::VkVideoEncodeCapabilityFlagsKHR);
impl_enum!(VideoEncodeCapabilityFlagsKHR => sys::VkVideoEncodeCapabilityFlagsKHR);
impl VideoEncodeCapabilityFlagsKHR {
/// `VK_VIDEO_ENCODE_CAPABILITY_PRECEDING_EXTERNALLY_ENCODED_BYTES_BIT_KHR` = `1 << 0`
pub const PrecedingExternallyEncodedBytesKhr: Self = Self(sys::VK_VIDEO_ENCODE_CAPABILITY_PRECEDING_EXTERNALLY_ENCODED_BYTES_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_CAPABILITY_INSUFFICIENT_BITSTREAM_BUFFER_RANGE_DETECTION_BIT_KHR` = `1 << 1`
pub const InsufficientBitstreamBufferRangeDetectionKhr: Self = Self(sys::VK_VIDEO_ENCODE_CAPABILITY_INSUFFICIENT_BITSTREAM_BUFFER_RANGE_DETECTION_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_CAPABILITY_QUANTIZATION_DELTA_MAP_BIT_KHR` = `1 << 2`
pub const QuantizationDeltaMapKhr: Self = Self(sys::VK_VIDEO_ENCODE_CAPABILITY_QUANTIZATION_DELTA_MAP_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_CAPABILITY_EMPHASIS_MAP_BIT_KHR` = `1 << 3`
pub const EmphasisMapKhr: Self = Self(sys::VK_VIDEO_ENCODE_CAPABILITY_EMPHASIS_MAP_BIT_KHR.0);
}
impl_flags_display!(VideoEncodeCapabilityFlagsKHR = VkVideoEncodeCapabilityFlagsKHR { PrecedingExternallyEncodedBytesKhr, InsufficientBitstreamBufferRangeDetectionKhr, QuantizationDeltaMapKhr, EmphasisMapKhr });
/// `VkVideoEncodeContentFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct VideoEncodeContentFlagsKHR(pub i32);
flags!(VideoEncodeContentFlagsKHR);
from_into_transparent!(VideoEncodeContentFlagsKHR : i32);
from_by_transmute!(VideoEncodeContentFlagsKHR => sys::VkVideoEncodeContentFlagsKHR);
from_by_transmute!(sys::VkVideoEncodeContentFlagsKHR => VideoEncodeContentFlagsKHR);
impl_to_sys!(VideoEncodeContentFlagsKHR => sys::VkVideoEncodeContentFlagsKHR);
impl_enum!(VideoEncodeContentFlagsKHR => sys::VkVideoEncodeContentFlagsKHR);
impl VideoEncodeContentFlagsKHR {
/// `VK_VIDEO_ENCODE_CONTENT_DEFAULT_KHR` = `0`
pub const DefaultKhr: Self = Self(sys::VK_VIDEO_ENCODE_CONTENT_DEFAULT_KHR.0);
/// `VK_VIDEO_ENCODE_CONTENT_CAMERA_BIT_KHR` = `1 << 0`
pub const CameraKhr: Self = Self(sys::VK_VIDEO_ENCODE_CONTENT_CAMERA_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_CONTENT_DESKTOP_BIT_KHR` = `1 << 1`
pub const DesktopKhr: Self = Self(sys::VK_VIDEO_ENCODE_CONTENT_DESKTOP_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_CONTENT_RENDERED_BIT_KHR` = `1 << 2`
pub const RenderedKhr: Self = Self(sys::VK_VIDEO_ENCODE_CONTENT_RENDERED_BIT_KHR.0);
}
impl_flags_display!(VideoEncodeContentFlagsKHR = VkVideoEncodeContentFlagsKHR { DefaultKhr, CameraKhr, DesktopKhr, RenderedKhr });
/// `VkVideoEncodeFeedbackFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct VideoEncodeFeedbackFlagsKHR(pub i32);
flags!(VideoEncodeFeedbackFlagsKHR);
from_into_transparent!(VideoEncodeFeedbackFlagsKHR : i32);
from_by_transmute!(VideoEncodeFeedbackFlagsKHR => sys::VkVideoEncodeFeedbackFlagsKHR);
from_by_transmute!(sys::VkVideoEncodeFeedbackFlagsKHR => VideoEncodeFeedbackFlagsKHR);
impl_to_sys!(VideoEncodeFeedbackFlagsKHR => sys::VkVideoEncodeFeedbackFlagsKHR);
impl_enum!(VideoEncodeFeedbackFlagsKHR => sys::VkVideoEncodeFeedbackFlagsKHR);
impl VideoEncodeFeedbackFlagsKHR {
/// `VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BUFFER_OFFSET_BIT_KHR` = `1 << 0`
pub const BitstreamBufferOffsetKhr: Self = Self(sys::VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BUFFER_OFFSET_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BYTES_WRITTEN_BIT_KHR` = `1 << 1`
pub const BitstreamBytesWrittenKhr: Self = Self(sys::VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BYTES_WRITTEN_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_HAS_OVERRIDES_BIT_KHR` = `1 << 2`
pub const BitstreamHasOverridesKhr: Self = Self(sys::VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_HAS_OVERRIDES_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_FEEDBACK_RESERVED_3_BIT_KHR` = `1 << 3`
pub const Reserved3Khr: Self = Self(sys::VK_VIDEO_ENCODE_FEEDBACK_RESERVED_3_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_FEEDBACK_RESERVED_4_BIT_KHR` = `1 << 4`
pub const Reserved4Khr: Self = Self(sys::VK_VIDEO_ENCODE_FEEDBACK_RESERVED_4_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_FEEDBACK_RESERVED_5_BIT_KHR` = `1 << 5`
pub const Reserved5Khr: Self = Self(sys::VK_VIDEO_ENCODE_FEEDBACK_RESERVED_5_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_FEEDBACK_RESERVED_6_BIT_KHR` = `1 << 6`
pub const Reserved6Khr: Self = Self(sys::VK_VIDEO_ENCODE_FEEDBACK_RESERVED_6_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_FEEDBACK_RESERVED_7_BIT_KHR` = `1 << 7`
pub const Reserved7Khr: Self = Self(sys::VK_VIDEO_ENCODE_FEEDBACK_RESERVED_7_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_FEEDBACK_RESERVED_8_BIT_KHR` = `1 << 8`
pub const Reserved8Khr: Self = Self(sys::VK_VIDEO_ENCODE_FEEDBACK_RESERVED_8_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_FEEDBACK_RESERVED_9_BIT_KHR` = `1 << 9`
pub const Reserved9Khr: Self = Self(sys::VK_VIDEO_ENCODE_FEEDBACK_RESERVED_9_BIT_KHR.0);
}
impl_flags_display!(VideoEncodeFeedbackFlagsKHR = VkVideoEncodeFeedbackFlagsKHR { BitstreamBufferOffsetKhr, BitstreamBytesWrittenKhr, BitstreamHasOverridesKhr, Reserved3Khr, Reserved4Khr, Reserved5Khr, Reserved6Khr, Reserved7Khr, Reserved8Khr, Reserved9Khr });
/// `VkVideoEncodeFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct VideoEncodeFlagsKHR(pub i32);
flags!(VideoEncodeFlagsKHR);
from_into_transparent!(VideoEncodeFlagsKHR : i32);
from_by_transmute!(VideoEncodeFlagsKHR => sys::VkVideoEncodeFlagsKHR);
from_by_transmute!(sys::VkVideoEncodeFlagsKHR => VideoEncodeFlagsKHR);
impl_to_sys!(VideoEncodeFlagsKHR => sys::VkVideoEncodeFlagsKHR);
impl_enum!(VideoEncodeFlagsKHR => sys::VkVideoEncodeFlagsKHR);
impl VideoEncodeFlagsKHR {
/// `VK_VIDEO_ENCODE_INTRA_REFRESH_BIT_KHR` = `1 << 2`
pub const IntraRefreshKhr: Self = Self(sys::VK_VIDEO_ENCODE_INTRA_REFRESH_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_WITH_QUANTIZATION_DELTA_MAP_BIT_KHR` = `1 << 0`
pub const WithQuantizationDeltaMapKhr: Self = Self(sys::VK_VIDEO_ENCODE_WITH_QUANTIZATION_DELTA_MAP_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_WITH_EMPHASIS_MAP_BIT_KHR` = `1 << 1`
pub const WithEmphasisMapKhr: Self = Self(sys::VK_VIDEO_ENCODE_WITH_EMPHASIS_MAP_BIT_KHR.0);
}
impl_flags_display!(VideoEncodeFlagsKHR = VkVideoEncodeFlagsKHR { IntraRefreshKhr, WithQuantizationDeltaMapKhr, WithEmphasisMapKhr });
/// `VkVideoEncodeH264CapabilityFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct VideoEncodeH264CapabilityFlagsKHR(pub i32);
flags!(VideoEncodeH264CapabilityFlagsKHR);
from_into_transparent!(VideoEncodeH264CapabilityFlagsKHR : i32);
from_by_transmute!(VideoEncodeH264CapabilityFlagsKHR => sys::VkVideoEncodeH264CapabilityFlagsKHR);
from_by_transmute!(sys::VkVideoEncodeH264CapabilityFlagsKHR => VideoEncodeH264CapabilityFlagsKHR);
impl_to_sys!(VideoEncodeH264CapabilityFlagsKHR => sys::VkVideoEncodeH264CapabilityFlagsKHR);
impl_enum!(VideoEncodeH264CapabilityFlagsKHR => sys::VkVideoEncodeH264CapabilityFlagsKHR);
impl VideoEncodeH264CapabilityFlagsKHR {
/// `VK_VIDEO_ENCODE_H264_CAPABILITY_HRD_COMPLIANCE_BIT_KHR` = `1 << 0`
pub const H264CapabilityHrdComplianceKhr: Self = Self(sys::VK_VIDEO_ENCODE_H264_CAPABILITY_HRD_COMPLIANCE_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H264_CAPABILITY_PREDICTION_WEIGHT_TABLE_GENERATED_BIT_KHR` = `1 << 1`
pub const H264CapabilityPredictionWeightTableGeneratedKhr: Self = Self(sys::VK_VIDEO_ENCODE_H264_CAPABILITY_PREDICTION_WEIGHT_TABLE_GENERATED_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H264_CAPABILITY_ROW_UNALIGNED_SLICE_BIT_KHR` = `1 << 2`
pub const H264CapabilityRowUnalignedSliceKhr: Self = Self(sys::VK_VIDEO_ENCODE_H264_CAPABILITY_ROW_UNALIGNED_SLICE_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H264_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_KHR` = `1 << 3`
pub const H264CapabilityDifferentSliceTypeKhr: Self = Self(sys::VK_VIDEO_ENCODE_H264_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L0_LIST_BIT_KHR` = `1 << 4`
pub const H264CapabilityBFrameInL0ListKhr: Self = Self(sys::VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L0_LIST_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_KHR` = `1 << 5`
pub const H264CapabilityBFrameInL1ListKhr: Self = Self(sys::VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H264_CAPABILITY_PER_PICTURE_TYPE_MIN_MAX_QP_BIT_KHR` = `1 << 6`
pub const H264CapabilityPerPictureTypeMinMaxQpKhr: Self = Self(sys::VK_VIDEO_ENCODE_H264_CAPABILITY_PER_PICTURE_TYPE_MIN_MAX_QP_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H264_CAPABILITY_PER_SLICE_CONSTANT_QP_BIT_KHR` = `1 << 7`
pub const H264CapabilityPerSliceConstantQpKhr: Self = Self(sys::VK_VIDEO_ENCODE_H264_CAPABILITY_PER_SLICE_CONSTANT_QP_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H264_CAPABILITY_GENERATE_PREFIX_NALU_BIT_KHR` = `1 << 8`
pub const H264CapabilityGeneratePrefixNaluKhr: Self = Self(sys::VK_VIDEO_ENCODE_H264_CAPABILITY_GENERATE_PREFIX_NALU_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H264_CAPABILITY_B_PICTURE_INTRA_REFRESH_BIT_KHR` = `1 << 10`
pub const H264CapabilityBPictureIntraRefreshKhr: Self = Self(sys::VK_VIDEO_ENCODE_H264_CAPABILITY_B_PICTURE_INTRA_REFRESH_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H264_CAPABILITY_MB_QP_DIFF_WRAPAROUND_BIT_KHR` = `1 << 9`
pub const H264CapabilityMbQpDiffWraparoundKhr: Self = Self(sys::VK_VIDEO_ENCODE_H264_CAPABILITY_MB_QP_DIFF_WRAPAROUND_BIT_KHR.0);
}
impl_flags_display!(VideoEncodeH264CapabilityFlagsKHR = VkVideoEncodeH264CapabilityFlagsKHR { H264CapabilityHrdComplianceKhr, H264CapabilityPredictionWeightTableGeneratedKhr, H264CapabilityRowUnalignedSliceKhr, H264CapabilityDifferentSliceTypeKhr, H264CapabilityBFrameInL0ListKhr, H264CapabilityBFrameInL1ListKhr, H264CapabilityPerPictureTypeMinMaxQpKhr, H264CapabilityPerSliceConstantQpKhr, H264CapabilityGeneratePrefixNaluKhr, H264CapabilityBPictureIntraRefreshKhr, H264CapabilityMbQpDiffWraparoundKhr });
/// `VkVideoEncodeH264RateControlFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct VideoEncodeH264RateControlFlagsKHR(pub i32);
flags!(VideoEncodeH264RateControlFlagsKHR);
from_into_transparent!(VideoEncodeH264RateControlFlagsKHR : i32);
from_by_transmute!(VideoEncodeH264RateControlFlagsKHR => sys::VkVideoEncodeH264RateControlFlagsKHR);
from_by_transmute!(sys::VkVideoEncodeH264RateControlFlagsKHR => VideoEncodeH264RateControlFlagsKHR);
impl_to_sys!(VideoEncodeH264RateControlFlagsKHR => sys::VkVideoEncodeH264RateControlFlagsKHR);
impl_enum!(VideoEncodeH264RateControlFlagsKHR => sys::VkVideoEncodeH264RateControlFlagsKHR);
impl VideoEncodeH264RateControlFlagsKHR {
/// `VK_VIDEO_ENCODE_H264_RATE_CONTROL_ATTEMPT_HRD_COMPLIANCE_BIT_KHR` = `1 << 0`
pub const H264RateControlAttemptHrdComplianceKhr: Self = Self(sys::VK_VIDEO_ENCODE_H264_RATE_CONTROL_ATTEMPT_HRD_COMPLIANCE_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H264_RATE_CONTROL_REGULAR_GOP_BIT_KHR` = `1 << 1`
pub const H264RateControlRegularGopKhr: Self = Self(sys::VK_VIDEO_ENCODE_H264_RATE_CONTROL_REGULAR_GOP_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H264_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_KHR` = `1 << 2`
pub const H264RateControlReferencePatternFlatKhr: Self = Self(sys::VK_VIDEO_ENCODE_H264_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H264_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_KHR` = `1 << 3`
pub const H264RateControlReferencePatternDyadicKhr: Self = Self(sys::VK_VIDEO_ENCODE_H264_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H264_RATE_CONTROL_TEMPORAL_LAYER_PATTERN_DYADIC_BIT_KHR` = `1 << 4`
pub const H264RateControlTemporalLayerPatternDyadicKhr: Self = Self(sys::VK_VIDEO_ENCODE_H264_RATE_CONTROL_TEMPORAL_LAYER_PATTERN_DYADIC_BIT_KHR.0);
}
impl_flags_display!(VideoEncodeH264RateControlFlagsKHR = VkVideoEncodeH264RateControlFlagsKHR { H264RateControlAttemptHrdComplianceKhr, H264RateControlRegularGopKhr, H264RateControlReferencePatternFlatKhr, H264RateControlReferencePatternDyadicKhr, H264RateControlTemporalLayerPatternDyadicKhr });
/// `VkVideoEncodeH264StdFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct VideoEncodeH264StdFlagsKHR(pub i32);
flags!(VideoEncodeH264StdFlagsKHR);
from_into_transparent!(VideoEncodeH264StdFlagsKHR : i32);
from_by_transmute!(VideoEncodeH264StdFlagsKHR => sys::VkVideoEncodeH264StdFlagsKHR);
from_by_transmute!(sys::VkVideoEncodeH264StdFlagsKHR => VideoEncodeH264StdFlagsKHR);
impl_to_sys!(VideoEncodeH264StdFlagsKHR => sys::VkVideoEncodeH264StdFlagsKHR);
impl_enum!(VideoEncodeH264StdFlagsKHR => sys::VkVideoEncodeH264StdFlagsKHR);
impl VideoEncodeH264StdFlagsKHR {
/// `VK_VIDEO_ENCODE_H264_STD_SEPARATE_COLOR_PLANE_FLAG_SET_BIT_KHR` = `1 << 0`
pub const H264StdSeparateColorPlaneFlagSetKhr: Self = Self(sys::VK_VIDEO_ENCODE_H264_STD_SEPARATE_COLOR_PLANE_FLAG_SET_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H264_STD_QPPRIME_Y_ZERO_TRANSFORM_BYPASS_FLAG_SET_BIT_KHR` = `1 << 1`
pub const H264StdQpprimeYZeroTransformBypassFlagSetKhr: Self = Self(sys::VK_VIDEO_ENCODE_H264_STD_QPPRIME_Y_ZERO_TRANSFORM_BYPASS_FLAG_SET_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H264_STD_SCALING_MATRIX_PRESENT_FLAG_SET_BIT_KHR` = `1 << 2`
pub const H264StdScalingMatrixPresentFlagSetKhr: Self = Self(sys::VK_VIDEO_ENCODE_H264_STD_SCALING_MATRIX_PRESENT_FLAG_SET_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H264_STD_CHROMA_QP_INDEX_OFFSET_BIT_KHR` = `1 << 3`
pub const H264StdChromaQpIndexOffsetKhr: Self = Self(sys::VK_VIDEO_ENCODE_H264_STD_CHROMA_QP_INDEX_OFFSET_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H264_STD_SECOND_CHROMA_QP_INDEX_OFFSET_BIT_KHR` = `1 << 4`
pub const H264StdSecondChromaQpIndexOffsetKhr: Self = Self(sys::VK_VIDEO_ENCODE_H264_STD_SECOND_CHROMA_QP_INDEX_OFFSET_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H264_STD_PIC_INIT_QP_MINUS26_BIT_KHR` = `1 << 5`
pub const H264StdPicInitQpMinus26Khr: Self = Self(sys::VK_VIDEO_ENCODE_H264_STD_PIC_INIT_QP_MINUS26_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H264_STD_WEIGHTED_PRED_FLAG_SET_BIT_KHR` = `1 << 6`
pub const H264StdWeightedPredFlagSetKhr: Self = Self(sys::VK_VIDEO_ENCODE_H264_STD_WEIGHTED_PRED_FLAG_SET_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H264_STD_WEIGHTED_BIPRED_IDC_EXPLICIT_BIT_KHR` = `1 << 7`
pub const H264StdWeightedBipredIdcExplicitKhr: Self = Self(sys::VK_VIDEO_ENCODE_H264_STD_WEIGHTED_BIPRED_IDC_EXPLICIT_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H264_STD_WEIGHTED_BIPRED_IDC_IMPLICIT_BIT_KHR` = `1 << 8`
pub const H264StdWeightedBipredIdcImplicitKhr: Self = Self(sys::VK_VIDEO_ENCODE_H264_STD_WEIGHTED_BIPRED_IDC_IMPLICIT_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H264_STD_TRANSFORM_8X8_MODE_FLAG_SET_BIT_KHR` = `1 << 9`
pub const H264StdTransform8x8ModeFlagSetKhr: Self = Self(sys::VK_VIDEO_ENCODE_H264_STD_TRANSFORM_8X8_MODE_FLAG_SET_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H264_STD_DIRECT_SPATIAL_MV_PRED_FLAG_UNSET_BIT_KHR` = `1 << 10`
pub const H264StdDirectSpatialMvPredFlagUnsetKhr: Self = Self(sys::VK_VIDEO_ENCODE_H264_STD_DIRECT_SPATIAL_MV_PRED_FLAG_UNSET_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H264_STD_ENTROPY_CODING_MODE_FLAG_UNSET_BIT_KHR` = `1 << 11`
pub const H264StdEntropyCodingModeFlagUnsetKhr: Self = Self(sys::VK_VIDEO_ENCODE_H264_STD_ENTROPY_CODING_MODE_FLAG_UNSET_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H264_STD_ENTROPY_CODING_MODE_FLAG_SET_BIT_KHR` = `1 << 12`
pub const H264StdEntropyCodingModeFlagSetKhr: Self = Self(sys::VK_VIDEO_ENCODE_H264_STD_ENTROPY_CODING_MODE_FLAG_SET_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H264_STD_DIRECT_8X8_INFERENCE_FLAG_UNSET_BIT_KHR` = `1 << 13`
pub const H264StdDirect8x8InferenceFlagUnsetKhr: Self = Self(sys::VK_VIDEO_ENCODE_H264_STD_DIRECT_8X8_INFERENCE_FLAG_UNSET_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H264_STD_CONSTRAINED_INTRA_PRED_FLAG_SET_BIT_KHR` = `1 << 14`
pub const H264StdConstrainedIntraPredFlagSetKhr: Self = Self(sys::VK_VIDEO_ENCODE_H264_STD_CONSTRAINED_INTRA_PRED_FLAG_SET_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_DISABLED_BIT_KHR` = `1 << 15`
pub const H264StdDeblockingFilterDisabledKhr: Self = Self(sys::VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_DISABLED_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_ENABLED_BIT_KHR` = `1 << 16`
pub const H264StdDeblockingFilterEnabledKhr: Self = Self(sys::VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_ENABLED_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_PARTIAL_BIT_KHR` = `1 << 17`
pub const H264StdDeblockingFilterPartialKhr: Self = Self(sys::VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_PARTIAL_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H264_STD_SLICE_QP_DELTA_BIT_KHR` = `1 << 19`
pub const H264StdSliceQpDeltaKhr: Self = Self(sys::VK_VIDEO_ENCODE_H264_STD_SLICE_QP_DELTA_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H264_STD_DIFFERENT_SLICE_QP_DELTA_BIT_KHR` = `1 << 20`
pub const H264StdDifferentSliceQpDeltaKhr: Self = Self(sys::VK_VIDEO_ENCODE_H264_STD_DIFFERENT_SLICE_QP_DELTA_BIT_KHR.0);
}
impl_flags_display!(VideoEncodeH264StdFlagsKHR = VkVideoEncodeH264StdFlagsKHR { H264StdSeparateColorPlaneFlagSetKhr, H264StdQpprimeYZeroTransformBypassFlagSetKhr, H264StdScalingMatrixPresentFlagSetKhr, H264StdChromaQpIndexOffsetKhr, H264StdSecondChromaQpIndexOffsetKhr, H264StdPicInitQpMinus26Khr, H264StdWeightedPredFlagSetKhr, H264StdWeightedBipredIdcExplicitKhr, H264StdWeightedBipredIdcImplicitKhr, H264StdTransform8x8ModeFlagSetKhr, H264StdDirectSpatialMvPredFlagUnsetKhr, H264StdEntropyCodingModeFlagUnsetKhr, H264StdEntropyCodingModeFlagSetKhr, H264StdDirect8x8InferenceFlagUnsetKhr, H264StdConstrainedIntraPredFlagSetKhr, H264StdDeblockingFilterDisabledKhr, H264StdDeblockingFilterEnabledKhr, H264StdDeblockingFilterPartialKhr, H264StdSliceQpDeltaKhr, H264StdDifferentSliceQpDeltaKhr });
/// `VkVideoEncodeH265CapabilityFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct VideoEncodeH265CapabilityFlagsKHR(pub i32);
flags!(VideoEncodeH265CapabilityFlagsKHR);
from_into_transparent!(VideoEncodeH265CapabilityFlagsKHR : i32);
from_by_transmute!(VideoEncodeH265CapabilityFlagsKHR => sys::VkVideoEncodeH265CapabilityFlagsKHR);
from_by_transmute!(sys::VkVideoEncodeH265CapabilityFlagsKHR => VideoEncodeH265CapabilityFlagsKHR);
impl_to_sys!(VideoEncodeH265CapabilityFlagsKHR => sys::VkVideoEncodeH265CapabilityFlagsKHR);
impl_enum!(VideoEncodeH265CapabilityFlagsKHR => sys::VkVideoEncodeH265CapabilityFlagsKHR);
impl VideoEncodeH265CapabilityFlagsKHR {
/// `VK_VIDEO_ENCODE_H265_CAPABILITY_HRD_COMPLIANCE_BIT_KHR` = `1 << 0`
pub const H265CapabilityHrdComplianceKhr: Self = Self(sys::VK_VIDEO_ENCODE_H265_CAPABILITY_HRD_COMPLIANCE_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H265_CAPABILITY_PREDICTION_WEIGHT_TABLE_GENERATED_BIT_KHR` = `1 << 1`
pub const H265CapabilityPredictionWeightTableGeneratedKhr: Self = Self(sys::VK_VIDEO_ENCODE_H265_CAPABILITY_PREDICTION_WEIGHT_TABLE_GENERATED_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H265_CAPABILITY_ROW_UNALIGNED_SLICE_SEGMENT_BIT_KHR` = `1 << 2`
pub const H265CapabilityRowUnalignedSliceSegmentKhr: Self = Self(sys::VK_VIDEO_ENCODE_H265_CAPABILITY_ROW_UNALIGNED_SLICE_SEGMENT_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H265_CAPABILITY_DIFFERENT_SLICE_SEGMENT_TYPE_BIT_KHR` = `1 << 3`
pub const H265CapabilityDifferentSliceSegmentTypeKhr: Self = Self(sys::VK_VIDEO_ENCODE_H265_CAPABILITY_DIFFERENT_SLICE_SEGMENT_TYPE_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L0_LIST_BIT_KHR` = `1 << 4`
pub const H265CapabilityBFrameInL0ListKhr: Self = Self(sys::VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L0_LIST_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_KHR` = `1 << 5`
pub const H265CapabilityBFrameInL1ListKhr: Self = Self(sys::VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H265_CAPABILITY_PER_PICTURE_TYPE_MIN_MAX_QP_BIT_KHR` = `1 << 6`
pub const H265CapabilityPerPictureTypeMinMaxQpKhr: Self = Self(sys::VK_VIDEO_ENCODE_H265_CAPABILITY_PER_PICTURE_TYPE_MIN_MAX_QP_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H265_CAPABILITY_PER_SLICE_SEGMENT_CONSTANT_QP_BIT_KHR` = `1 << 7`
pub const H265CapabilityPerSliceSegmentConstantQpKhr: Self = Self(sys::VK_VIDEO_ENCODE_H265_CAPABILITY_PER_SLICE_SEGMENT_CONSTANT_QP_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILES_PER_SLICE_SEGMENT_BIT_KHR` = `1 << 8`
pub const H265CapabilityMultipleTilesPerSliceSegmentKhr: Self = Self(sys::VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILES_PER_SLICE_SEGMENT_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_SLICE_SEGMENTS_PER_TILE_BIT_KHR` = `1 << 9`
pub const H265CapabilityMultipleSliceSegmentsPerTileKhr: Self = Self(sys::VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_SLICE_SEGMENTS_PER_TILE_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H265_CAPABILITY_B_PICTURE_INTRA_REFRESH_BIT_KHR` = `1 << 11`
pub const H265CapabilityBPictureIntraRefreshKhr: Self = Self(sys::VK_VIDEO_ENCODE_H265_CAPABILITY_B_PICTURE_INTRA_REFRESH_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H265_CAPABILITY_CU_QP_DIFF_WRAPAROUND_BIT_KHR` = `1 << 10`
pub const H265CapabilityCuQpDiffWraparoundKhr: Self = Self(sys::VK_VIDEO_ENCODE_H265_CAPABILITY_CU_QP_DIFF_WRAPAROUND_BIT_KHR.0);
}
impl_flags_display!(VideoEncodeH265CapabilityFlagsKHR = VkVideoEncodeH265CapabilityFlagsKHR { H265CapabilityHrdComplianceKhr, H265CapabilityPredictionWeightTableGeneratedKhr, H265CapabilityRowUnalignedSliceSegmentKhr, H265CapabilityDifferentSliceSegmentTypeKhr, H265CapabilityBFrameInL0ListKhr, H265CapabilityBFrameInL1ListKhr, H265CapabilityPerPictureTypeMinMaxQpKhr, H265CapabilityPerSliceSegmentConstantQpKhr, H265CapabilityMultipleTilesPerSliceSegmentKhr, H265CapabilityMultipleSliceSegmentsPerTileKhr, H265CapabilityBPictureIntraRefreshKhr, H265CapabilityCuQpDiffWraparoundKhr });
/// `VkVideoEncodeH265CtbSizeFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct VideoEncodeH265CtbSizeFlagsKHR(pub i32);
flags!(VideoEncodeH265CtbSizeFlagsKHR);
from_into_transparent!(VideoEncodeH265CtbSizeFlagsKHR : i32);
from_by_transmute!(VideoEncodeH265CtbSizeFlagsKHR => sys::VkVideoEncodeH265CtbSizeFlagsKHR);
from_by_transmute!(sys::VkVideoEncodeH265CtbSizeFlagsKHR => VideoEncodeH265CtbSizeFlagsKHR);
impl_to_sys!(VideoEncodeH265CtbSizeFlagsKHR => sys::VkVideoEncodeH265CtbSizeFlagsKHR);
impl_enum!(VideoEncodeH265CtbSizeFlagsKHR => sys::VkVideoEncodeH265CtbSizeFlagsKHR);
impl VideoEncodeH265CtbSizeFlagsKHR {
/// `VK_VIDEO_ENCODE_H265_CTB_SIZE_16_BIT_KHR` = `1 << 0`
pub const H265CtbSize16Khr: Self = Self(sys::VK_VIDEO_ENCODE_H265_CTB_SIZE_16_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H265_CTB_SIZE_32_BIT_KHR` = `1 << 1`
pub const H265CtbSize32Khr: Self = Self(sys::VK_VIDEO_ENCODE_H265_CTB_SIZE_32_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H265_CTB_SIZE_64_BIT_KHR` = `1 << 2`
pub const H265CtbSize64Khr: Self = Self(sys::VK_VIDEO_ENCODE_H265_CTB_SIZE_64_BIT_KHR.0);
}
impl_flags_display!(VideoEncodeH265CtbSizeFlagsKHR = VkVideoEncodeH265CtbSizeFlagsKHR { H265CtbSize16Khr, H265CtbSize32Khr, H265CtbSize64Khr });
/// `VkVideoEncodeH265RateControlFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct VideoEncodeH265RateControlFlagsKHR(pub i32);
flags!(VideoEncodeH265RateControlFlagsKHR);
from_into_transparent!(VideoEncodeH265RateControlFlagsKHR : i32);
from_by_transmute!(VideoEncodeH265RateControlFlagsKHR => sys::VkVideoEncodeH265RateControlFlagsKHR);
from_by_transmute!(sys::VkVideoEncodeH265RateControlFlagsKHR => VideoEncodeH265RateControlFlagsKHR);
impl_to_sys!(VideoEncodeH265RateControlFlagsKHR => sys::VkVideoEncodeH265RateControlFlagsKHR);
impl_enum!(VideoEncodeH265RateControlFlagsKHR => sys::VkVideoEncodeH265RateControlFlagsKHR);
impl VideoEncodeH265RateControlFlagsKHR {
/// `VK_VIDEO_ENCODE_H265_RATE_CONTROL_ATTEMPT_HRD_COMPLIANCE_BIT_KHR` = `1 << 0`
pub const H265RateControlAttemptHrdComplianceKhr: Self = Self(sys::VK_VIDEO_ENCODE_H265_RATE_CONTROL_ATTEMPT_HRD_COMPLIANCE_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H265_RATE_CONTROL_REGULAR_GOP_BIT_KHR` = `1 << 1`
pub const H265RateControlRegularGopKhr: Self = Self(sys::VK_VIDEO_ENCODE_H265_RATE_CONTROL_REGULAR_GOP_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H265_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_KHR` = `1 << 2`
pub const H265RateControlReferencePatternFlatKhr: Self = Self(sys::VK_VIDEO_ENCODE_H265_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H265_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_KHR` = `1 << 3`
pub const H265RateControlReferencePatternDyadicKhr: Self = Self(sys::VK_VIDEO_ENCODE_H265_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H265_RATE_CONTROL_TEMPORAL_SUB_LAYER_PATTERN_DYADIC_BIT_KHR` = `1 << 4`
pub const H265RateControlTemporalSubLayerPatternDyadicKhr: Self = Self(sys::VK_VIDEO_ENCODE_H265_RATE_CONTROL_TEMPORAL_SUB_LAYER_PATTERN_DYADIC_BIT_KHR.0);
}
impl_flags_display!(VideoEncodeH265RateControlFlagsKHR = VkVideoEncodeH265RateControlFlagsKHR { H265RateControlAttemptHrdComplianceKhr, H265RateControlRegularGopKhr, H265RateControlReferencePatternFlatKhr, H265RateControlReferencePatternDyadicKhr, H265RateControlTemporalSubLayerPatternDyadicKhr });
/// `VkVideoEncodeH265StdFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct VideoEncodeH265StdFlagsKHR(pub i32);
flags!(VideoEncodeH265StdFlagsKHR);
from_into_transparent!(VideoEncodeH265StdFlagsKHR : i32);
from_by_transmute!(VideoEncodeH265StdFlagsKHR => sys::VkVideoEncodeH265StdFlagsKHR);
from_by_transmute!(sys::VkVideoEncodeH265StdFlagsKHR => VideoEncodeH265StdFlagsKHR);
impl_to_sys!(VideoEncodeH265StdFlagsKHR => sys::VkVideoEncodeH265StdFlagsKHR);
impl_enum!(VideoEncodeH265StdFlagsKHR => sys::VkVideoEncodeH265StdFlagsKHR);
impl VideoEncodeH265StdFlagsKHR {
/// `VK_VIDEO_ENCODE_H265_STD_SEPARATE_COLOR_PLANE_FLAG_SET_BIT_KHR` = `1 << 0`
pub const H265StdSeparateColorPlaneFlagSetKhr: Self = Self(sys::VK_VIDEO_ENCODE_H265_STD_SEPARATE_COLOR_PLANE_FLAG_SET_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H265_STD_SAMPLE_ADAPTIVE_OFFSET_ENABLED_FLAG_SET_BIT_KHR` = `1 << 1`
pub const H265StdSampleAdaptiveOffsetEnabledFlagSetKhr: Self = Self(sys::VK_VIDEO_ENCODE_H265_STD_SAMPLE_ADAPTIVE_OFFSET_ENABLED_FLAG_SET_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H265_STD_SCALING_LIST_DATA_PRESENT_FLAG_SET_BIT_KHR` = `1 << 2`
pub const H265StdScalingListDataPresentFlagSetKhr: Self = Self(sys::VK_VIDEO_ENCODE_H265_STD_SCALING_LIST_DATA_PRESENT_FLAG_SET_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H265_STD_PCM_ENABLED_FLAG_SET_BIT_KHR` = `1 << 3`
pub const H265StdPcmEnabledFlagSetKhr: Self = Self(sys::VK_VIDEO_ENCODE_H265_STD_PCM_ENABLED_FLAG_SET_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H265_STD_SPS_TEMPORAL_MVP_ENABLED_FLAG_SET_BIT_KHR` = `1 << 4`
pub const H265StdSpsTemporalMvpEnabledFlagSetKhr: Self = Self(sys::VK_VIDEO_ENCODE_H265_STD_SPS_TEMPORAL_MVP_ENABLED_FLAG_SET_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H265_STD_INIT_QP_MINUS26_BIT_KHR` = `1 << 5`
pub const H265StdInitQpMinus26Khr: Self = Self(sys::VK_VIDEO_ENCODE_H265_STD_INIT_QP_MINUS26_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H265_STD_WEIGHTED_PRED_FLAG_SET_BIT_KHR` = `1 << 6`
pub const H265StdWeightedPredFlagSetKhr: Self = Self(sys::VK_VIDEO_ENCODE_H265_STD_WEIGHTED_PRED_FLAG_SET_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H265_STD_WEIGHTED_BIPRED_FLAG_SET_BIT_KHR` = `1 << 7`
pub const H265StdWeightedBipredFlagSetKhr: Self = Self(sys::VK_VIDEO_ENCODE_H265_STD_WEIGHTED_BIPRED_FLAG_SET_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H265_STD_LOG2_PARALLEL_MERGE_LEVEL_MINUS2_BIT_KHR` = `1 << 8`
pub const H265StdLog2ParallelMergeLevelMinus2Khr: Self = Self(sys::VK_VIDEO_ENCODE_H265_STD_LOG2_PARALLEL_MERGE_LEVEL_MINUS2_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H265_STD_SIGN_DATA_HIDING_ENABLED_FLAG_SET_BIT_KHR` = `1 << 9`
pub const H265StdSignDataHidingEnabledFlagSetKhr: Self = Self(sys::VK_VIDEO_ENCODE_H265_STD_SIGN_DATA_HIDING_ENABLED_FLAG_SET_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H265_STD_TRANSFORM_SKIP_ENABLED_FLAG_SET_BIT_KHR` = `1 << 10`
pub const H265StdTransformSkipEnabledFlagSetKhr: Self = Self(sys::VK_VIDEO_ENCODE_H265_STD_TRANSFORM_SKIP_ENABLED_FLAG_SET_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H265_STD_TRANSFORM_SKIP_ENABLED_FLAG_UNSET_BIT_KHR` = `1 << 11`
pub const H265StdTransformSkipEnabledFlagUnsetKhr: Self = Self(sys::VK_VIDEO_ENCODE_H265_STD_TRANSFORM_SKIP_ENABLED_FLAG_UNSET_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H265_STD_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT_FLAG_SET_BIT_KHR` = `1 << 12`
pub const H265StdPpsSliceChromaQpOffsetsPresentFlagSetKhr: Self = Self(sys::VK_VIDEO_ENCODE_H265_STD_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT_FLAG_SET_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H265_STD_TRANSQUANT_BYPASS_ENABLED_FLAG_SET_BIT_KHR` = `1 << 13`
pub const H265StdTransquantBypassEnabledFlagSetKhr: Self = Self(sys::VK_VIDEO_ENCODE_H265_STD_TRANSQUANT_BYPASS_ENABLED_FLAG_SET_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H265_STD_CONSTRAINED_INTRA_PRED_FLAG_SET_BIT_KHR` = `1 << 14`
pub const H265StdConstrainedIntraPredFlagSetKhr: Self = Self(sys::VK_VIDEO_ENCODE_H265_STD_CONSTRAINED_INTRA_PRED_FLAG_SET_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H265_STD_ENTROPY_CODING_SYNC_ENABLED_FLAG_SET_BIT_KHR` = `1 << 15`
pub const H265StdEntropyCodingSyncEnabledFlagSetKhr: Self = Self(sys::VK_VIDEO_ENCODE_H265_STD_ENTROPY_CODING_SYNC_ENABLED_FLAG_SET_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H265_STD_DEBLOCKING_FILTER_OVERRIDE_ENABLED_FLAG_SET_BIT_KHR` = `1 << 16`
pub const H265StdDeblockingFilterOverrideEnabledFlagSetKhr: Self = Self(sys::VK_VIDEO_ENCODE_H265_STD_DEBLOCKING_FILTER_OVERRIDE_ENABLED_FLAG_SET_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H265_STD_DEPENDENT_SLICE_SEGMENTS_ENABLED_FLAG_SET_BIT_KHR` = `1 << 17`
pub const H265StdDependentSliceSegmentsEnabledFlagSetKhr: Self = Self(sys::VK_VIDEO_ENCODE_H265_STD_DEPENDENT_SLICE_SEGMENTS_ENABLED_FLAG_SET_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H265_STD_DEPENDENT_SLICE_SEGMENT_FLAG_SET_BIT_KHR` = `1 << 18`
pub const H265StdDependentSliceSegmentFlagSetKhr: Self = Self(sys::VK_VIDEO_ENCODE_H265_STD_DEPENDENT_SLICE_SEGMENT_FLAG_SET_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H265_STD_SLICE_QP_DELTA_BIT_KHR` = `1 << 19`
pub const H265StdSliceQpDeltaKhr: Self = Self(sys::VK_VIDEO_ENCODE_H265_STD_SLICE_QP_DELTA_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H265_STD_DIFFERENT_SLICE_QP_DELTA_BIT_KHR` = `1 << 20`
pub const H265StdDifferentSliceQpDeltaKhr: Self = Self(sys::VK_VIDEO_ENCODE_H265_STD_DIFFERENT_SLICE_QP_DELTA_BIT_KHR.0);
}
impl_flags_display!(VideoEncodeH265StdFlagsKHR = VkVideoEncodeH265StdFlagsKHR { H265StdSeparateColorPlaneFlagSetKhr, H265StdSampleAdaptiveOffsetEnabledFlagSetKhr, H265StdScalingListDataPresentFlagSetKhr, H265StdPcmEnabledFlagSetKhr, H265StdSpsTemporalMvpEnabledFlagSetKhr, H265StdInitQpMinus26Khr, H265StdWeightedPredFlagSetKhr, H265StdWeightedBipredFlagSetKhr, H265StdLog2ParallelMergeLevelMinus2Khr, H265StdSignDataHidingEnabledFlagSetKhr, H265StdTransformSkipEnabledFlagSetKhr, H265StdTransformSkipEnabledFlagUnsetKhr, H265StdPpsSliceChromaQpOffsetsPresentFlagSetKhr, H265StdTransquantBypassEnabledFlagSetKhr, H265StdConstrainedIntraPredFlagSetKhr, H265StdEntropyCodingSyncEnabledFlagSetKhr, H265StdDeblockingFilterOverrideEnabledFlagSetKhr, H265StdDependentSliceSegmentsEnabledFlagSetKhr, H265StdDependentSliceSegmentFlagSetKhr, H265StdSliceQpDeltaKhr, H265StdDifferentSliceQpDeltaKhr });
/// `VkVideoEncodeH265TransformBlockSizeFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct VideoEncodeH265TransformBlockSizeFlagsKHR(pub i32);
flags!(VideoEncodeH265TransformBlockSizeFlagsKHR);
from_into_transparent!(VideoEncodeH265TransformBlockSizeFlagsKHR : i32);
from_by_transmute!(VideoEncodeH265TransformBlockSizeFlagsKHR => sys::VkVideoEncodeH265TransformBlockSizeFlagsKHR);
from_by_transmute!(sys::VkVideoEncodeH265TransformBlockSizeFlagsKHR => VideoEncodeH265TransformBlockSizeFlagsKHR);
impl_to_sys!(VideoEncodeH265TransformBlockSizeFlagsKHR => sys::VkVideoEncodeH265TransformBlockSizeFlagsKHR);
impl_enum!(VideoEncodeH265TransformBlockSizeFlagsKHR => sys::VkVideoEncodeH265TransformBlockSizeFlagsKHR);
impl VideoEncodeH265TransformBlockSizeFlagsKHR {
/// `VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_4_BIT_KHR` = `1 << 0`
pub const H265TransformBlockSize4Khr: Self = Self(sys::VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_4_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_8_BIT_KHR` = `1 << 1`
pub const H265TransformBlockSize8Khr: Self = Self(sys::VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_8_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_16_BIT_KHR` = `1 << 2`
pub const H265TransformBlockSize16Khr: Self = Self(sys::VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_16_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_32_BIT_KHR` = `1 << 3`
pub const H265TransformBlockSize32Khr: Self = Self(sys::VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_32_BIT_KHR.0);
}
impl_flags_display!(VideoEncodeH265TransformBlockSizeFlagsKHR = VkVideoEncodeH265TransformBlockSizeFlagsKHR { H265TransformBlockSize4Khr, H265TransformBlockSize8Khr, H265TransformBlockSize16Khr, H265TransformBlockSize32Khr });
/// `VkVideoEncodeIntraRefreshModeFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct VideoEncodeIntraRefreshModeFlagsKHR(pub i32);
flags!(VideoEncodeIntraRefreshModeFlagsKHR);
from_into_transparent!(VideoEncodeIntraRefreshModeFlagsKHR : i32);
from_by_transmute!(VideoEncodeIntraRefreshModeFlagsKHR => sys::VkVideoEncodeIntraRefreshModeFlagsKHR);
from_by_transmute!(sys::VkVideoEncodeIntraRefreshModeFlagsKHR => VideoEncodeIntraRefreshModeFlagsKHR);
impl_to_sys!(VideoEncodeIntraRefreshModeFlagsKHR => sys::VkVideoEncodeIntraRefreshModeFlagsKHR);
impl_enum!(VideoEncodeIntraRefreshModeFlagsKHR => sys::VkVideoEncodeIntraRefreshModeFlagsKHR);
impl VideoEncodeIntraRefreshModeFlagsKHR {
/// `VK_VIDEO_ENCODE_INTRA_REFRESH_MODE_NONE_KHR` = `0`
pub const NoneKhr: Self = Self(sys::VK_VIDEO_ENCODE_INTRA_REFRESH_MODE_NONE_KHR.0);
/// `VK_VIDEO_ENCODE_INTRA_REFRESH_MODE_PER_PICTURE_PARTITION_BIT_KHR` = `1 << 0`
pub const PerPicturePartitionKhr: Self = Self(sys::VK_VIDEO_ENCODE_INTRA_REFRESH_MODE_PER_PICTURE_PARTITION_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_INTRA_REFRESH_MODE_BLOCK_BASED_BIT_KHR` = `1 << 1`
pub const BlockBasedKhr: Self = Self(sys::VK_VIDEO_ENCODE_INTRA_REFRESH_MODE_BLOCK_BASED_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_INTRA_REFRESH_MODE_BLOCK_ROW_BASED_BIT_KHR` = `1 << 2`
pub const BlockRowBasedKhr: Self = Self(sys::VK_VIDEO_ENCODE_INTRA_REFRESH_MODE_BLOCK_ROW_BASED_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_INTRA_REFRESH_MODE_BLOCK_COLUMN_BASED_BIT_KHR` = `1 << 3`
pub const BlockColumnBasedKhr: Self = Self(sys::VK_VIDEO_ENCODE_INTRA_REFRESH_MODE_BLOCK_COLUMN_BASED_BIT_KHR.0);
}
impl_flags_display!(VideoEncodeIntraRefreshModeFlagsKHR = VkVideoEncodeIntraRefreshModeFlagsKHR { NoneKhr, PerPicturePartitionKhr, BlockBasedKhr, BlockRowBasedKhr, BlockColumnBasedKhr });
/// `VkVideoEncodeRateControlFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct VideoEncodeRateControlFlagsKHR(pub i32);
flags!(VideoEncodeRateControlFlagsKHR);
from_into_transparent!(VideoEncodeRateControlFlagsKHR : i32);
from_by_transmute!(VideoEncodeRateControlFlagsKHR => sys::VkVideoEncodeRateControlFlagsKHR);
from_by_transmute!(sys::VkVideoEncodeRateControlFlagsKHR => VideoEncodeRateControlFlagsKHR);
impl_to_sys!(VideoEncodeRateControlFlagsKHR => sys::VkVideoEncodeRateControlFlagsKHR);
impl_enum!(VideoEncodeRateControlFlagsKHR => sys::VkVideoEncodeRateControlFlagsKHR);
impl_flags_display!(VideoEncodeRateControlFlagsKHR = VkVideoEncodeRateControlFlagsKHR { });
/// `VkVideoEncodeRateControlModeFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct VideoEncodeRateControlModeFlagsKHR(pub i32);
flags!(VideoEncodeRateControlModeFlagsKHR);
from_into_transparent!(VideoEncodeRateControlModeFlagsKHR : i32);
from_by_transmute!(VideoEncodeRateControlModeFlagsKHR => sys::VkVideoEncodeRateControlModeFlagsKHR);
from_by_transmute!(sys::VkVideoEncodeRateControlModeFlagsKHR => VideoEncodeRateControlModeFlagsKHR);
impl_to_sys!(VideoEncodeRateControlModeFlagsKHR => sys::VkVideoEncodeRateControlModeFlagsKHR);
impl_enum!(VideoEncodeRateControlModeFlagsKHR => sys::VkVideoEncodeRateControlModeFlagsKHR);
impl VideoEncodeRateControlModeFlagsKHR {
/// `VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DEFAULT_KHR` = `0`
pub const DefaultKhr: Self = Self(sys::VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DEFAULT_KHR.0);
/// `VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DISABLED_BIT_KHR` = `1 << 0`
pub const DisabledKhr: Self = Self(sys::VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DISABLED_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_RATE_CONTROL_MODE_CBR_BIT_KHR` = `1 << 1`
pub const CbrKhr: Self = Self(sys::VK_VIDEO_ENCODE_RATE_CONTROL_MODE_CBR_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_RATE_CONTROL_MODE_VBR_BIT_KHR` = `1 << 2`
pub const VbrKhr: Self = Self(sys::VK_VIDEO_ENCODE_RATE_CONTROL_MODE_VBR_BIT_KHR.0);
}
impl_flags_display!(VideoEncodeRateControlModeFlagsKHR = VkVideoEncodeRateControlModeFlagsKHR { DefaultKhr, DisabledKhr, CbrKhr, VbrKhr });
/// `VkVideoEncodeRgbChromaOffsetFlagsVALVE`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct VideoEncodeRgbChromaOffsetFlagsVALVE(pub i32);
flags!(VideoEncodeRgbChromaOffsetFlagsVALVE);
from_into_transparent!(VideoEncodeRgbChromaOffsetFlagsVALVE : i32);
from_by_transmute!(VideoEncodeRgbChromaOffsetFlagsVALVE => sys::VkVideoEncodeRgbChromaOffsetFlagsVALVE);
from_by_transmute!(sys::VkVideoEncodeRgbChromaOffsetFlagsVALVE => VideoEncodeRgbChromaOffsetFlagsVALVE);
impl_to_sys!(VideoEncodeRgbChromaOffsetFlagsVALVE => sys::VkVideoEncodeRgbChromaOffsetFlagsVALVE);
impl_enum!(VideoEncodeRgbChromaOffsetFlagsVALVE => sys::VkVideoEncodeRgbChromaOffsetFlagsVALVE);
impl VideoEncodeRgbChromaOffsetFlagsVALVE {
/// `VK_VIDEO_ENCODE_RGB_CHROMA_OFFSET_COSITED_EVEN_BIT_VALVE` = `1 << 0`
pub const CositedEvenValve: Self = Self(sys::VK_VIDEO_ENCODE_RGB_CHROMA_OFFSET_COSITED_EVEN_BIT_VALVE.0);
/// `VK_VIDEO_ENCODE_RGB_CHROMA_OFFSET_MIDPOINT_BIT_VALVE` = `1 << 1`
pub const MidpointValve: Self = Self(sys::VK_VIDEO_ENCODE_RGB_CHROMA_OFFSET_MIDPOINT_BIT_VALVE.0);
}
impl_flags_display!(VideoEncodeRgbChromaOffsetFlagsVALVE = VkVideoEncodeRgbChromaOffsetFlagsVALVE { CositedEvenValve, MidpointValve });
/// `VkVideoEncodeRgbModelConversionFlagsVALVE`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct VideoEncodeRgbModelConversionFlagsVALVE(pub i32);
flags!(VideoEncodeRgbModelConversionFlagsVALVE);
from_into_transparent!(VideoEncodeRgbModelConversionFlagsVALVE : i32);
from_by_transmute!(VideoEncodeRgbModelConversionFlagsVALVE => sys::VkVideoEncodeRgbModelConversionFlagsVALVE);
from_by_transmute!(sys::VkVideoEncodeRgbModelConversionFlagsVALVE => VideoEncodeRgbModelConversionFlagsVALVE);
impl_to_sys!(VideoEncodeRgbModelConversionFlagsVALVE => sys::VkVideoEncodeRgbModelConversionFlagsVALVE);
impl_enum!(VideoEncodeRgbModelConversionFlagsVALVE => sys::VkVideoEncodeRgbModelConversionFlagsVALVE);
impl VideoEncodeRgbModelConversionFlagsVALVE {
/// `VK_VIDEO_ENCODE_RGB_MODEL_CONVERSION_RGB_IDENTITY_BIT_VALVE` = `1 << 0`
pub const RgbIdentityValve: Self = Self(sys::VK_VIDEO_ENCODE_RGB_MODEL_CONVERSION_RGB_IDENTITY_BIT_VALVE.0);
/// `VK_VIDEO_ENCODE_RGB_MODEL_CONVERSION_YCBCR_IDENTITY_BIT_VALVE` = `1 << 1`
pub const YcbcrIdentityValve: Self = Self(sys::VK_VIDEO_ENCODE_RGB_MODEL_CONVERSION_YCBCR_IDENTITY_BIT_VALVE.0);
/// `VK_VIDEO_ENCODE_RGB_MODEL_CONVERSION_YCBCR_709_BIT_VALVE` = `1 << 2`
pub const Ycbcr709Valve: Self = Self(sys::VK_VIDEO_ENCODE_RGB_MODEL_CONVERSION_YCBCR_709_BIT_VALVE.0);
/// `VK_VIDEO_ENCODE_RGB_MODEL_CONVERSION_YCBCR_601_BIT_VALVE` = `1 << 3`
pub const Ycbcr601Valve: Self = Self(sys::VK_VIDEO_ENCODE_RGB_MODEL_CONVERSION_YCBCR_601_BIT_VALVE.0);
/// `VK_VIDEO_ENCODE_RGB_MODEL_CONVERSION_YCBCR_2020_BIT_VALVE` = `1 << 4`
pub const Ycbcr2020Valve: Self = Self(sys::VK_VIDEO_ENCODE_RGB_MODEL_CONVERSION_YCBCR_2020_BIT_VALVE.0);
}
impl_flags_display!(VideoEncodeRgbModelConversionFlagsVALVE = VkVideoEncodeRgbModelConversionFlagsVALVE { RgbIdentityValve, YcbcrIdentityValve, Ycbcr709Valve, Ycbcr601Valve, Ycbcr2020Valve });
/// `VkVideoEncodeRgbRangeCompressionFlagsVALVE`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct VideoEncodeRgbRangeCompressionFlagsVALVE(pub i32);
flags!(VideoEncodeRgbRangeCompressionFlagsVALVE);
from_into_transparent!(VideoEncodeRgbRangeCompressionFlagsVALVE : i32);
from_by_transmute!(VideoEncodeRgbRangeCompressionFlagsVALVE => sys::VkVideoEncodeRgbRangeCompressionFlagsVALVE);
from_by_transmute!(sys::VkVideoEncodeRgbRangeCompressionFlagsVALVE => VideoEncodeRgbRangeCompressionFlagsVALVE);
impl_to_sys!(VideoEncodeRgbRangeCompressionFlagsVALVE => sys::VkVideoEncodeRgbRangeCompressionFlagsVALVE);
impl_enum!(VideoEncodeRgbRangeCompressionFlagsVALVE => sys::VkVideoEncodeRgbRangeCompressionFlagsVALVE);
impl VideoEncodeRgbRangeCompressionFlagsVALVE {
/// `VK_VIDEO_ENCODE_RGB_RANGE_COMPRESSION_FULL_RANGE_BIT_VALVE` = `1 << 0`
pub const FullRangeValve: Self = Self(sys::VK_VIDEO_ENCODE_RGB_RANGE_COMPRESSION_FULL_RANGE_BIT_VALVE.0);
/// `VK_VIDEO_ENCODE_RGB_RANGE_COMPRESSION_NARROW_RANGE_BIT_VALVE` = `1 << 1`
pub const NarrowRangeValve: Self = Self(sys::VK_VIDEO_ENCODE_RGB_RANGE_COMPRESSION_NARROW_RANGE_BIT_VALVE.0);
}
impl_flags_display!(VideoEncodeRgbRangeCompressionFlagsVALVE = VkVideoEncodeRgbRangeCompressionFlagsVALVE { FullRangeValve, NarrowRangeValve });
/// `VkVideoEncodeTuningModeKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct VideoEncodeTuningModeKHR(pub i32);
from_into_transparent!(VideoEncodeTuningModeKHR : i32);
from_by_transmute!(VideoEncodeTuningModeKHR => sys::VkVideoEncodeTuningModeKHR);
from_by_transmute!(sys::VkVideoEncodeTuningModeKHR => VideoEncodeTuningModeKHR);
impl_to_sys!(VideoEncodeTuningModeKHR => sys::VkVideoEncodeTuningModeKHR);
impl_enum!(VideoEncodeTuningModeKHR => sys::VkVideoEncodeTuningModeKHR);
impl VideoEncodeTuningModeKHR {
/// `VK_VIDEO_ENCODE_TUNING_MODE_DEFAULT_KHR` = `0`
pub const DefaultKhr: Self = Self(sys::VK_VIDEO_ENCODE_TUNING_MODE_DEFAULT_KHR.0);
/// `VK_VIDEO_ENCODE_TUNING_MODE_HIGH_QUALITY_KHR` = `1`
pub const HighQualityKhr: Self = Self(sys::VK_VIDEO_ENCODE_TUNING_MODE_HIGH_QUALITY_KHR.0);
/// `VK_VIDEO_ENCODE_TUNING_MODE_LOW_LATENCY_KHR` = `2`
pub const LowLatencyKhr: Self = Self(sys::VK_VIDEO_ENCODE_TUNING_MODE_LOW_LATENCY_KHR.0);
/// `VK_VIDEO_ENCODE_TUNING_MODE_ULTRA_LOW_LATENCY_KHR` = `3`
pub const UltraLowLatencyKhr: Self = Self(sys::VK_VIDEO_ENCODE_TUNING_MODE_ULTRA_LOW_LATENCY_KHR.0);
/// `VK_VIDEO_ENCODE_TUNING_MODE_LOSSLESS_KHR` = `4`
pub const LosslessKhr: Self = Self(sys::VK_VIDEO_ENCODE_TUNING_MODE_LOSSLESS_KHR.0);
}
impl_enum_display!(VideoEncodeTuningModeKHR = VkVideoEncodeTuningModeKHR { DefaultKhr, HighQualityKhr, LowLatencyKhr, UltraLowLatencyKhr, LosslessKhr });
/// `VkVideoEncodeUsageFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct VideoEncodeUsageFlagsKHR(pub i32);
flags!(VideoEncodeUsageFlagsKHR);
from_into_transparent!(VideoEncodeUsageFlagsKHR : i32);
from_by_transmute!(VideoEncodeUsageFlagsKHR => sys::VkVideoEncodeUsageFlagsKHR);
from_by_transmute!(sys::VkVideoEncodeUsageFlagsKHR => VideoEncodeUsageFlagsKHR);
impl_to_sys!(VideoEncodeUsageFlagsKHR => sys::VkVideoEncodeUsageFlagsKHR);
impl_enum!(VideoEncodeUsageFlagsKHR => sys::VkVideoEncodeUsageFlagsKHR);
impl VideoEncodeUsageFlagsKHR {
/// `VK_VIDEO_ENCODE_USAGE_DEFAULT_KHR` = `0`
pub const DefaultKhr: Self = Self(sys::VK_VIDEO_ENCODE_USAGE_DEFAULT_KHR.0);
/// `VK_VIDEO_ENCODE_USAGE_TRANSCODING_BIT_KHR` = `1 << 0`
pub const TranscodingKhr: Self = Self(sys::VK_VIDEO_ENCODE_USAGE_TRANSCODING_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_USAGE_STREAMING_BIT_KHR` = `1 << 1`
pub const StreamingKhr: Self = Self(sys::VK_VIDEO_ENCODE_USAGE_STREAMING_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_USAGE_RECORDING_BIT_KHR` = `1 << 2`
pub const RecordingKhr: Self = Self(sys::VK_VIDEO_ENCODE_USAGE_RECORDING_BIT_KHR.0);
/// `VK_VIDEO_ENCODE_USAGE_CONFERENCING_BIT_KHR` = `1 << 3`
pub const ConferencingKhr: Self = Self(sys::VK_VIDEO_ENCODE_USAGE_CONFERENCING_BIT_KHR.0);
}
impl_flags_display!(VideoEncodeUsageFlagsKHR = VkVideoEncodeUsageFlagsKHR { DefaultKhr, TranscodingKhr, StreamingKhr, RecordingKhr, ConferencingKhr });
/// `VkVideoEndCodingFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct VideoEndCodingFlagsKHR(pub i32);
flags!(VideoEndCodingFlagsKHR);
from_into_transparent!(VideoEndCodingFlagsKHR : i32);
from_by_transmute!(VideoEndCodingFlagsKHR => sys::VkVideoEndCodingFlagsKHR);
from_by_transmute!(sys::VkVideoEndCodingFlagsKHR => VideoEndCodingFlagsKHR);
impl_to_sys!(VideoEndCodingFlagsKHR => sys::VkVideoEndCodingFlagsKHR);
impl_enum!(VideoEndCodingFlagsKHR => sys::VkVideoEndCodingFlagsKHR);
impl_flags_display!(VideoEndCodingFlagsKHR = VkVideoEndCodingFlagsKHR { });
/// `VkVideoSessionCreateFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct VideoSessionCreateFlagsKHR(pub i32);
flags!(VideoSessionCreateFlagsKHR);
from_into_transparent!(VideoSessionCreateFlagsKHR : i32);
from_by_transmute!(VideoSessionCreateFlagsKHR => sys::VkVideoSessionCreateFlagsKHR);
from_by_transmute!(sys::VkVideoSessionCreateFlagsKHR => VideoSessionCreateFlagsKHR);
impl_to_sys!(VideoSessionCreateFlagsKHR => sys::VkVideoSessionCreateFlagsKHR);
impl_enum!(VideoSessionCreateFlagsKHR => sys::VkVideoSessionCreateFlagsKHR);
impl VideoSessionCreateFlagsKHR {
/// `VK_VIDEO_SESSION_CREATE_PROTECTED_CONTENT_BIT_KHR` = `1 << 0`
pub const ProtectedContentKhr: Self = Self(sys::VK_VIDEO_SESSION_CREATE_PROTECTED_CONTENT_BIT_KHR.0);
/// `VK_VIDEO_SESSION_CREATE_ALLOW_ENCODE_PARAMETER_OPTIMIZATIONS_BIT_KHR` = `1 << 1`
pub const AllowEncodeParameterOptimizationsKhr: Self = Self(sys::VK_VIDEO_SESSION_CREATE_ALLOW_ENCODE_PARAMETER_OPTIMIZATIONS_BIT_KHR.0);
/// `VK_VIDEO_SESSION_CREATE_INLINE_QUERIES_BIT_KHR` = `1 << 2`
pub const InlineQueriesKhr: Self = Self(sys::VK_VIDEO_SESSION_CREATE_INLINE_QUERIES_BIT_KHR.0);
/// `VK_VIDEO_SESSION_CREATE_ALLOW_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR` = `1 << 3`
pub const AllowEncodeQuantizationDeltaMapKhr: Self = Self(sys::VK_VIDEO_SESSION_CREATE_ALLOW_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR.0);
/// `VK_VIDEO_SESSION_CREATE_ALLOW_ENCODE_EMPHASIS_MAP_BIT_KHR` = `1 << 4`
pub const AllowEncodeEmphasisMapKhr: Self = Self(sys::VK_VIDEO_SESSION_CREATE_ALLOW_ENCODE_EMPHASIS_MAP_BIT_KHR.0);
/// `VK_VIDEO_SESSION_CREATE_INLINE_SESSION_PARAMETERS_BIT_KHR` = `1 << 5`
pub const InlineSessionParametersKhr: Self = Self(sys::VK_VIDEO_SESSION_CREATE_INLINE_SESSION_PARAMETERS_BIT_KHR.0);
}
impl_flags_display!(VideoSessionCreateFlagsKHR = VkVideoSessionCreateFlagsKHR { ProtectedContentKhr, AllowEncodeParameterOptimizationsKhr, InlineQueriesKhr, AllowEncodeQuantizationDeltaMapKhr, AllowEncodeEmphasisMapKhr, InlineSessionParametersKhr });
/// `VkVideoSessionParametersCreateFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct VideoSessionParametersCreateFlagsKHR(pub i32);
flags!(VideoSessionParametersCreateFlagsKHR);
from_into_transparent!(VideoSessionParametersCreateFlagsKHR : i32);
from_by_transmute!(VideoSessionParametersCreateFlagsKHR => sys::VkVideoSessionParametersCreateFlagsKHR);
from_by_transmute!(sys::VkVideoSessionParametersCreateFlagsKHR => VideoSessionParametersCreateFlagsKHR);
impl_to_sys!(VideoSessionParametersCreateFlagsKHR => sys::VkVideoSessionParametersCreateFlagsKHR);
impl_enum!(VideoSessionParametersCreateFlagsKHR => sys::VkVideoSessionParametersCreateFlagsKHR);
impl VideoSessionParametersCreateFlagsKHR {
/// `VK_VIDEO_SESSION_PARAMETERS_CREATE_QUANTIZATION_MAP_COMPATIBLE_BIT_KHR` = `1 << 0`
pub const QuantizationMapCompatibleKhr: Self = Self(sys::VK_VIDEO_SESSION_PARAMETERS_CREATE_QUANTIZATION_MAP_COMPATIBLE_BIT_KHR.0);
}
impl_flags_display!(VideoSessionParametersCreateFlagsKHR = VkVideoSessionParametersCreateFlagsKHR { QuantizationMapCompatibleKhr });
/// `VkViewportCoordinateSwizzleNV`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct ViewportCoordinateSwizzleNV(pub i32);
from_into_transparent!(ViewportCoordinateSwizzleNV : i32);
from_by_transmute!(ViewportCoordinateSwizzleNV => sys::VkViewportCoordinateSwizzleNV);
from_by_transmute!(sys::VkViewportCoordinateSwizzleNV => ViewportCoordinateSwizzleNV);
impl_to_sys!(ViewportCoordinateSwizzleNV => sys::VkViewportCoordinateSwizzleNV);
impl_enum!(ViewportCoordinateSwizzleNV => sys::VkViewportCoordinateSwizzleNV);
impl ViewportCoordinateSwizzleNV {
/// `VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV` = `0`
pub const PositiveXNv: Self = Self(sys::VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV.0);
/// `VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV` = `1`
pub const NegativeXNv: Self = Self(sys::VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV.0);
/// `VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV` = `2`
pub const PositiveYNv: Self = Self(sys::VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV.0);
/// `VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV` = `3`
pub const NegativeYNv: Self = Self(sys::VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV.0);
/// `VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV` = `4`
pub const PositiveZNv: Self = Self(sys::VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV.0);
/// `VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV` = `5`
pub const NegativeZNv: Self = Self(sys::VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV.0);
/// `VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV` = `6`
pub const PositiveWNv: Self = Self(sys::VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV.0);
/// `VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV` = `7`
pub const NegativeWNv: Self = Self(sys::VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV.0);
}
impl_enum_display!(ViewportCoordinateSwizzleNV = VkViewportCoordinateSwizzleNV { PositiveXNv, NegativeXNv, PositiveYNv, NegativeYNv, PositiveZNv, NegativeZNv, PositiveWNv, NegativeWNv });
/// `VkWaylandSurfaceCreateFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct WaylandSurfaceCreateFlagsKHR(pub i32);
flags!(WaylandSurfaceCreateFlagsKHR);
from_into_transparent!(WaylandSurfaceCreateFlagsKHR : i32);
from_by_transmute!(WaylandSurfaceCreateFlagsKHR => sys::VkWaylandSurfaceCreateFlagsKHR);
from_by_transmute!(sys::VkWaylandSurfaceCreateFlagsKHR => WaylandSurfaceCreateFlagsKHR);
impl_to_sys!(WaylandSurfaceCreateFlagsKHR => sys::VkWaylandSurfaceCreateFlagsKHR);
impl_enum!(WaylandSurfaceCreateFlagsKHR => sys::VkWaylandSurfaceCreateFlagsKHR);
impl WaylandSurfaceCreateFlagsKHR {
/// `VK_WAYLAND_SURFACE_CREATE_DISABLE_COLOR_MANAGEMENT` = `1 << 0`
pub const DisableColorManagement: Self = Self(sys::VK_WAYLAND_SURFACE_CREATE_DISABLE_COLOR_MANAGEMENT.0);
}
impl_flags_display!(WaylandSurfaceCreateFlagsKHR = VkWaylandSurfaceCreateFlagsKHR { DisableColorManagement });
/// `VkWin32SurfaceCreateFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct Win32SurfaceCreateFlagsKHR(pub i32);
flags!(Win32SurfaceCreateFlagsKHR);
from_into_transparent!(Win32SurfaceCreateFlagsKHR : i32);
from_by_transmute!(Win32SurfaceCreateFlagsKHR => sys::VkWin32SurfaceCreateFlagsKHR);
from_by_transmute!(sys::VkWin32SurfaceCreateFlagsKHR => Win32SurfaceCreateFlagsKHR);
impl_to_sys!(Win32SurfaceCreateFlagsKHR => sys::VkWin32SurfaceCreateFlagsKHR);
impl_enum!(Win32SurfaceCreateFlagsKHR => sys::VkWin32SurfaceCreateFlagsKHR);
impl_flags_display!(Win32SurfaceCreateFlagsKHR = VkWin32SurfaceCreateFlagsKHR { });
/// `VkXcbSurfaceCreateFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct XcbSurfaceCreateFlagsKHR(pub i32);
flags!(XcbSurfaceCreateFlagsKHR);
from_into_transparent!(XcbSurfaceCreateFlagsKHR : i32);
from_by_transmute!(XcbSurfaceCreateFlagsKHR => sys::VkXcbSurfaceCreateFlagsKHR);
from_by_transmute!(sys::VkXcbSurfaceCreateFlagsKHR => XcbSurfaceCreateFlagsKHR);
impl_to_sys!(XcbSurfaceCreateFlagsKHR => sys::VkXcbSurfaceCreateFlagsKHR);
impl_enum!(XcbSurfaceCreateFlagsKHR => sys::VkXcbSurfaceCreateFlagsKHR);
impl_flags_display!(XcbSurfaceCreateFlagsKHR = VkXcbSurfaceCreateFlagsKHR { });
/// `VkXlibSurfaceCreateFlagsKHR`
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
pub struct XlibSurfaceCreateFlagsKHR(pub i32);
flags!(XlibSurfaceCreateFlagsKHR);
from_into_transparent!(XlibSurfaceCreateFlagsKHR : i32);
from_by_transmute!(XlibSurfaceCreateFlagsKHR => sys::VkXlibSurfaceCreateFlagsKHR);
from_by_transmute!(sys::VkXlibSurfaceCreateFlagsKHR => XlibSurfaceCreateFlagsKHR);
impl_to_sys!(XlibSurfaceCreateFlagsKHR => sys::VkXlibSurfaceCreateFlagsKHR);
impl_enum!(XlibSurfaceCreateFlagsKHR => sys::VkXlibSurfaceCreateFlagsKHR);
impl_flags_display!(XlibSurfaceCreateFlagsKHR = VkXlibSurfaceCreateFlagsKHR { });