From 6a7303271ab31ee5ec15d299afdc653fba9ae1ba Mon Sep 17 00:00:00 2001 From: Marijn Suijten Date: Mon, 19 Sep 2022 22:01:25 +0200 Subject: [PATCH] Update Vulkan-Headers to 1.3.228 (#655) * Update Vulkan-Headers to 1.3.220 * Update Vulkan-Headers to 1.3.221 * Update Vulkan-Headers to 1.3.222 * Update Vulkan-Headers to 1.3.223 * Update Vulkan-Headers to 1.3.224 * Update Vulkan-Headers to 1.3.225 * Update Vulkan-Headers to 1.3.226 * Update Vulkan-Headers to 1.3.227 * Update Vulkan-Headers to 1.3.228 --- Changelog.md | 2 +- ash/Cargo.toml | 2 +- ash/src/vk/aliases.rs | 6 + ash/src/vk/bitflags.rs | 81 +- ash/src/vk/const_debugs.rs | 439 ++++-- ash/src/vk/definitions.rs | 2580 ++++++++++++++++++++++++++++-------- ash/src/vk/enums.rs | 99 ++ ash/src/vk/extensions.rs | 821 ++++++++++-- generator/Vulkan-Headers | 2 +- 9 files changed, 3172 insertions(+), 860 deletions(-) diff --git a/Changelog.md b/Changelog.md index b4842c0..c3cf8fd 100644 --- a/Changelog.md +++ b/Changelog.md @@ -14,7 +14,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - Added `VK_EXT_image_drm_format_modifier` device extension (#603) -- Update Vulkan-Headers to 1.3.219 (#605, #608, #619) +- Update Vulkan-Headers to 1.3.228 (#605, #608, #619, #655) - Added `const STRUCTURE_TYPE` to all Vulkan structures for matching with `match_struct!` macro (#614) - Added `VK_EXT_sample_locations` device extension (#616) - Added `VK_NV_coverage_reduction_mode` device extension (#617) diff --git a/ash/Cargo.toml b/ash/Cargo.toml index 0c439ca..c29d720 100644 --- a/ash/Cargo.toml +++ b/ash/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ash" -version = "0.37.0+1.3.219" +version = "0.37.0+1.3.228" authors = ["maik klein "] description = "Vulkan bindings for Rust" license = "MIT OR Apache-2.0" diff --git a/ash/src/vk/aliases.rs b/ash/src/vk/aliases.rs index 75f24b8..1e5d20f 100644 --- a/ash/src/vk/aliases.rs +++ b/ash/src/vk/aliases.rs @@ -224,6 +224,10 @@ pub type CopyImageToBufferInfo2KHR = CopyImageToBufferInfo2; pub type ResolveImageInfo2KHR = ResolveImageInfo2; pub type PhysicalDeviceShaderTerminateInvocationFeaturesKHR = PhysicalDeviceShaderTerminateInvocationFeatures; +pub type PhysicalDeviceMutableDescriptorTypeFeaturesVALVE = + PhysicalDeviceMutableDescriptorTypeFeaturesEXT; +pub type MutableDescriptorTypeListVALVE = MutableDescriptorTypeListEXT; +pub type MutableDescriptorTypeCreateInfoVALVE = MutableDescriptorTypeCreateInfoEXT; pub type MemoryBarrier2KHR = MemoryBarrier2; pub type ImageMemoryBarrier2KHR = ImageMemoryBarrier2; pub type BufferMemoryBarrier2KHR = BufferMemoryBarrier2; @@ -243,3 +247,5 @@ pub type RenderingAttachmentInfoKHR = RenderingAttachmentInfo; pub type PhysicalDeviceDynamicRenderingFeaturesKHR = PhysicalDeviceDynamicRenderingFeatures; pub type CommandBufferInheritanceRenderingInfoKHR = CommandBufferInheritanceRenderingInfo; pub type AttachmentSampleCountInfoNV = AttachmentSampleCountInfoAMD; +pub type PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM = + PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT; diff --git a/ash/src/vk/bitflags.rs b/ash/src/vk/bitflags.rs index 403b040..88b35b2 100644 --- a/ash/src/vk/bitflags.rs +++ b/ash/src/vk/bitflags.rs @@ -1131,7 +1131,7 @@ impl GraphicsPipelineLibraryFlagsEXT { pub struct VideoCodecOperationFlagsKHR(pub(crate) Flags); vk_bitflags_wrapped!(VideoCodecOperationFlagsKHR, Flags); impl VideoCodecOperationFlagsKHR { - pub const INVALID: Self = Self(0); + pub const NONE: Self = Self(0); } #[repr(transparent)] #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)] @@ -1171,21 +1171,10 @@ impl VideoCapabilityFlagsKHR { pub struct VideoSessionCreateFlagsKHR(pub(crate) Flags); vk_bitflags_wrapped!(VideoSessionCreateFlagsKHR, Flags); impl VideoSessionCreateFlagsKHR { - pub const DEFAULT: Self = Self(0); pub const PROTECTED_CONTENT: Self = Self(0b1); } #[repr(transparent)] #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)] -#[doc = ""] -pub struct VideoCodingQualityPresetFlagsKHR(pub(crate) Flags); -vk_bitflags_wrapped!(VideoCodingQualityPresetFlagsKHR, Flags); -impl VideoCodingQualityPresetFlagsKHR { - pub const NORMAL: Self = Self(0b1); - pub const POWER: Self = Self(0b10); - pub const QUALITY: Self = Self(0b100); -} -#[repr(transparent)] -#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)] #[doc = ""] pub struct VideoDecodeH264PictureLayoutFlagsEXT(pub(crate) Flags); vk_bitflags_wrapped!(VideoDecodeH264PictureLayoutFlagsEXT, Flags); @@ -1200,36 +1189,50 @@ impl VideoDecodeH264PictureLayoutFlagsEXT { pub struct VideoCodingControlFlagsKHR(pub(crate) Flags); vk_bitflags_wrapped!(VideoCodingControlFlagsKHR, Flags); impl VideoCodingControlFlagsKHR { - pub const DEFAULT: Self = Self(0); pub const RESET: Self = Self(0b1); } #[repr(transparent)] #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)] +#[doc = ""] +pub struct VideoDecodeUsageFlagsKHR(pub(crate) Flags); +vk_bitflags_wrapped!(VideoDecodeUsageFlagsKHR, Flags); +impl VideoDecodeUsageFlagsKHR { + pub const DEFAULT: Self = Self(0); + pub const TRANSCODING: Self = Self(0b1); + pub const OFFLINE: Self = Self(0b10); + pub const STREAMING: Self = Self(0b100); +} +#[repr(transparent)] +#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)] #[doc = ""] pub struct VideoDecodeCapabilityFlagsKHR(pub(crate) Flags); vk_bitflags_wrapped!(VideoDecodeCapabilityFlagsKHR, Flags); impl VideoDecodeCapabilityFlagsKHR { - pub const DEFAULT: Self = Self(0); pub const DPB_AND_OUTPUT_COINCIDE: Self = Self(0b1); pub const DPB_AND_OUTPUT_DISTINCT: Self = Self(0b10); } #[repr(transparent)] #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)] -#[doc = ""] -pub struct VideoDecodeFlagsKHR(pub(crate) Flags); -vk_bitflags_wrapped!(VideoDecodeFlagsKHR, Flags); -impl VideoDecodeFlagsKHR { +#[doc = ""] +pub struct VideoEncodeUsageFlagsKHR(pub(crate) Flags); +vk_bitflags_wrapped!(VideoEncodeUsageFlagsKHR, Flags); +impl VideoEncodeUsageFlagsKHR { pub const DEFAULT: Self = Self(0); - pub const RESERVED_0: Self = Self(0b1); + pub const TRANSCODING: Self = Self(0b1); + pub const STREAMING: Self = Self(0b10); + pub const RECORDING: Self = Self(0b100); + pub const CONFERENCING: Self = Self(0b1000); } #[repr(transparent)] #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)] -#[doc = ""] -pub struct VideoEncodeFlagsKHR(pub(crate) Flags); -vk_bitflags_wrapped!(VideoEncodeFlagsKHR, Flags); -impl VideoEncodeFlagsKHR { +#[doc = ""] +pub struct VideoEncodeContentFlagsKHR(pub(crate) Flags); +vk_bitflags_wrapped!(VideoEncodeContentFlagsKHR, Flags); +impl VideoEncodeContentFlagsKHR { pub const DEFAULT: Self = Self(0); - pub const RESERVED_0: Self = Self(0b1); + pub const CAMERA: Self = Self(0b1); + pub const DESKTOP: Self = Self(0b10); + pub const RENDERED: Self = Self(0b100); } #[repr(transparent)] #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)] @@ -1237,20 +1240,10 @@ impl VideoEncodeFlagsKHR { pub struct VideoEncodeCapabilityFlagsKHR(pub(crate) Flags); vk_bitflags_wrapped!(VideoEncodeCapabilityFlagsKHR, Flags); impl VideoEncodeCapabilityFlagsKHR { - pub const DEFAULT: Self = Self(0); pub const PRECEDING_EXTERNALLY_ENCODED_BYTES: Self = Self(0b1); } #[repr(transparent)] #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)] -#[doc = ""] -pub struct VideoEncodeRateControlFlagsKHR(pub(crate) Flags); -vk_bitflags_wrapped!(VideoEncodeRateControlFlagsKHR, Flags); -impl VideoEncodeRateControlFlagsKHR { - pub const DEFAULT: Self = Self(0); - pub const RESERVED_0: Self = Self(0b1); -} -#[repr(transparent)] -#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)] #[doc = ""] pub struct VideoEncodeRateControlModeFlagsKHR(pub(crate) Flags); vk_bitflags_wrapped!(VideoEncodeRateControlModeFlagsKHR, Flags); @@ -1313,16 +1306,6 @@ impl VideoEncodeH264OutputModeFlagsEXT { } #[repr(transparent)] #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)] -#[doc = ""] -pub struct VideoEncodeH264RateControlStructureFlagsEXT(pub(crate) Flags); -vk_bitflags_wrapped!(VideoEncodeH264RateControlStructureFlagsEXT, Flags); -impl VideoEncodeH264RateControlStructureFlagsEXT { - pub const UNKNOWN: Self = Self(0); - pub const FLAT: Self = Self(0b1); - pub const DYADIC: Self = Self(0b10); -} -#[repr(transparent)] -#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)] #[doc = ""] pub struct ImageFormatConstraintsFlagsFUCHSIA(pub(crate) Flags); vk_bitflags_wrapped!(ImageFormatConstraintsFlagsFUCHSIA, Flags); @@ -1478,16 +1461,6 @@ impl VideoEncodeH265OutputModeFlagsEXT { } #[repr(transparent)] #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)] -#[doc = ""] -pub struct VideoEncodeH265RateControlStructureFlagsEXT(pub(crate) Flags); -vk_bitflags_wrapped!(VideoEncodeH265RateControlStructureFlagsEXT, Flags); -impl VideoEncodeH265RateControlStructureFlagsEXT { - pub const UNKNOWN: Self = Self(0); - pub const FLAT: Self = Self(0b1); - pub const DYADIC: Self = Self(0b10); -} -#[repr(transparent)] -#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)] #[doc = ""] pub struct VideoEncodeH265CtbSizeFlagsEXT(pub(crate) Flags); vk_bitflags_wrapped!(VideoEncodeH265CtbSizeFlagsEXT, Flags); diff --git a/ash/src/vk/const_debugs.rs b/ash/src/vk/const_debugs.rs index 9e895d1..ba87c3d 100644 --- a/ash/src/vk/const_debugs.rs +++ b/ash/src/vk/const_debugs.rs @@ -39,6 +39,10 @@ impl fmt::Debug for AccelerationStructureCreateFlagsKHR { AccelerationStructureCreateFlagsKHR::DEVICE_ADDRESS_CAPTURE_REPLAY.0, "DEVICE_ADDRESS_CAPTURE_REPLAY", ), + ( + AccelerationStructureCreateFlagsKHR::RESERVED_3_AMD.0, + "RESERVED_3_AMD", + ), ( AccelerationStructureCreateFlagsKHR::MOTION_NV.0, "MOTION_NV", @@ -247,6 +251,7 @@ impl fmt::Debug for AccessFlags2 { AccessFlags2::VIDEO_DECODE_WRITE_KHR.0, "VIDEO_DECODE_WRITE_KHR", ), + (AccessFlags2::RESERVED_46_EXT.0, "RESERVED_46_EXT"), ( AccessFlags2::VIDEO_ENCODE_READ_KHR.0, "VIDEO_ENCODE_READ_KHR", @@ -620,6 +625,14 @@ impl fmt::Debug for BuildAccelerationStructureFlagsKHR { BuildAccelerationStructureFlagsKHR::RESERVED_7_NV.0, "RESERVED_7_NV", ), + ( + BuildAccelerationStructureFlagsKHR::RESERVED_9_NV.0, + "RESERVED_9_NV", + ), + ( + BuildAccelerationStructureFlagsKHR::RESERVED_10_NV.0, + "RESERVED_10_NV", + ), ]; debug_flags(f, KNOWN, self.0) } @@ -1037,7 +1050,7 @@ impl fmt::Debug for DependencyFlags { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { const KNOWN: &[(Flags, &str)] = &[ (DependencyFlags::BY_REGION.0, "BY_REGION"), - (DependencyFlags::RESERVED_3_EXT.0, "RESERVED_3_EXT"), + (DependencyFlags::FEEDBACK_LOOP_EXT.0, "FEEDBACK_LOOP_EXT"), (DependencyFlags::DEVICE_GROUP.0, "DEVICE_GROUP"), (DependencyFlags::VIEW_LOCAL.0, "VIEW_LOCAL"), ]; @@ -1072,10 +1085,7 @@ impl fmt::Debug for DescriptorPoolCreateFlags { DescriptorPoolCreateFlags::FREE_DESCRIPTOR_SET.0, "FREE_DESCRIPTOR_SET", ), - ( - DescriptorPoolCreateFlags::HOST_ONLY_VALVE.0, - "HOST_ONLY_VALVE", - ), + (DescriptorPoolCreateFlags::HOST_ONLY_EXT.0, "HOST_ONLY_EXT"), ( DescriptorPoolCreateFlags::UPDATE_AFTER_BIND.0, "UPDATE_AFTER_BIND", @@ -1101,13 +1111,17 @@ impl fmt::Debug for DescriptorSetLayoutCreateFlags { DescriptorSetLayoutCreateFlags::RESERVED_4_AMD.0, "RESERVED_4_AMD", ), + ( + DescriptorSetLayoutCreateFlags::RESERVED_5_AMD.0, + "RESERVED_5_AMD", + ), ( DescriptorSetLayoutCreateFlags::RESERVED_3_AMD.0, "RESERVED_3_AMD", ), ( - DescriptorSetLayoutCreateFlags::HOST_ONLY_POOL_VALVE.0, - "HOST_ONLY_POOL_VALVE", + DescriptorSetLayoutCreateFlags::HOST_ONLY_POOL_EXT.0, + "HOST_ONLY_POOL_EXT", ), ( DescriptorSetLayoutCreateFlags::UPDATE_AFTER_BIND_POOL.0, @@ -1133,7 +1147,9 @@ impl fmt::Debug for DescriptorType { Self::INPUT_ATTACHMENT => Some("INPUT_ATTACHMENT"), Self::ACCELERATION_STRUCTURE_KHR => Some("ACCELERATION_STRUCTURE_KHR"), Self::ACCELERATION_STRUCTURE_NV => Some("ACCELERATION_STRUCTURE_NV"), - Self::MUTABLE_VALVE => Some("MUTABLE_VALVE"), + Self::SAMPLE_WEIGHT_IMAGE_QCOM => Some("SAMPLE_WEIGHT_IMAGE_QCOM"), + Self::BLOCK_MATCH_IMAGE_QCOM => Some("BLOCK_MATCH_IMAGE_QCOM"), + Self::MUTABLE_EXT => Some("MUTABLE_EXT"), Self::INLINE_UNIFORM_BLOCK => Some("INLINE_UNIFORM_BLOCK"), _ => None, }; @@ -1638,7 +1654,7 @@ impl fmt::Debug for Filter { let name = match *self { Self::NEAREST => Some("NEAREST"), Self::LINEAR => Some("LINEAR"), - Self::CUBIC_IMG => Some("CUBIC_IMG"), + Self::CUBIC_EXT => Some("CUBIC_EXT"), _ => None, }; if let Some(x) = name { @@ -1971,13 +1987,13 @@ impl fmt::Debug for Format { } impl fmt::Debug for FormatFeatureFlags { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN : & [(Flags , & str)] = & [(FormatFeatureFlags :: SAMPLED_IMAGE . 0 , "SAMPLED_IMAGE") , (FormatFeatureFlags :: STORAGE_IMAGE . 0 , "STORAGE_IMAGE") , (FormatFeatureFlags :: STORAGE_IMAGE_ATOMIC . 0 , "STORAGE_IMAGE_ATOMIC") , (FormatFeatureFlags :: UNIFORM_TEXEL_BUFFER . 0 , "UNIFORM_TEXEL_BUFFER") , (FormatFeatureFlags :: STORAGE_TEXEL_BUFFER . 0 , "STORAGE_TEXEL_BUFFER") , (FormatFeatureFlags :: STORAGE_TEXEL_BUFFER_ATOMIC . 0 , "STORAGE_TEXEL_BUFFER_ATOMIC") , (FormatFeatureFlags :: VERTEX_BUFFER . 0 , "VERTEX_BUFFER") , (FormatFeatureFlags :: COLOR_ATTACHMENT . 0 , "COLOR_ATTACHMENT") , (FormatFeatureFlags :: COLOR_ATTACHMENT_BLEND . 0 , "COLOR_ATTACHMENT_BLEND") , (FormatFeatureFlags :: DEPTH_STENCIL_ATTACHMENT . 0 , "DEPTH_STENCIL_ATTACHMENT") , (FormatFeatureFlags :: BLIT_SRC . 0 , "BLIT_SRC") , (FormatFeatureFlags :: BLIT_DST . 0 , "BLIT_DST") , (FormatFeatureFlags :: SAMPLED_IMAGE_FILTER_LINEAR . 0 , "SAMPLED_IMAGE_FILTER_LINEAR") , (FormatFeatureFlags :: SAMPLED_IMAGE_FILTER_CUBIC_IMG . 0 , "SAMPLED_IMAGE_FILTER_CUBIC_IMG") , (FormatFeatureFlags :: VIDEO_DECODE_OUTPUT_KHR . 0 , "VIDEO_DECODE_OUTPUT_KHR") , (FormatFeatureFlags :: VIDEO_DECODE_DPB_KHR . 0 , "VIDEO_DECODE_DPB_KHR") , (FormatFeatureFlags :: ACCELERATION_STRUCTURE_VERTEX_BUFFER_KHR . 0 , "ACCELERATION_STRUCTURE_VERTEX_BUFFER_KHR") , (FormatFeatureFlags :: FRAGMENT_DENSITY_MAP_EXT . 0 , "FRAGMENT_DENSITY_MAP_EXT") , (FormatFeatureFlags :: FRAGMENT_SHADING_RATE_ATTACHMENT_KHR . 0 , "FRAGMENT_SHADING_RATE_ATTACHMENT_KHR") , (FormatFeatureFlags :: VIDEO_ENCODE_INPUT_KHR . 0 , "VIDEO_ENCODE_INPUT_KHR") , (FormatFeatureFlags :: VIDEO_ENCODE_DPB_KHR . 0 , "VIDEO_ENCODE_DPB_KHR") , (FormatFeatureFlags :: TRANSFER_SRC . 0 , "TRANSFER_SRC") , (FormatFeatureFlags :: TRANSFER_DST . 0 , "TRANSFER_DST") , (FormatFeatureFlags :: MIDPOINT_CHROMA_SAMPLES . 0 , "MIDPOINT_CHROMA_SAMPLES") , (FormatFeatureFlags :: SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER . 0 , "SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER") , (FormatFeatureFlags :: SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER . 0 , "SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER") , (FormatFeatureFlags :: SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT . 0 , "SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT") , (FormatFeatureFlags :: SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE . 0 , "SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE") , (FormatFeatureFlags :: DISJOINT . 0 , "DISJOINT") , (FormatFeatureFlags :: COSITED_CHROMA_SAMPLES . 0 , "COSITED_CHROMA_SAMPLES") , (FormatFeatureFlags :: SAMPLED_IMAGE_FILTER_MINMAX . 0 , "SAMPLED_IMAGE_FILTER_MINMAX")] ; + const KNOWN : & [(Flags , & str)] = & [(FormatFeatureFlags :: SAMPLED_IMAGE . 0 , "SAMPLED_IMAGE") , (FormatFeatureFlags :: STORAGE_IMAGE . 0 , "STORAGE_IMAGE") , (FormatFeatureFlags :: STORAGE_IMAGE_ATOMIC . 0 , "STORAGE_IMAGE_ATOMIC") , (FormatFeatureFlags :: UNIFORM_TEXEL_BUFFER . 0 , "UNIFORM_TEXEL_BUFFER") , (FormatFeatureFlags :: STORAGE_TEXEL_BUFFER . 0 , "STORAGE_TEXEL_BUFFER") , (FormatFeatureFlags :: STORAGE_TEXEL_BUFFER_ATOMIC . 0 , "STORAGE_TEXEL_BUFFER_ATOMIC") , (FormatFeatureFlags :: VERTEX_BUFFER . 0 , "VERTEX_BUFFER") , (FormatFeatureFlags :: COLOR_ATTACHMENT . 0 , "COLOR_ATTACHMENT") , (FormatFeatureFlags :: COLOR_ATTACHMENT_BLEND . 0 , "COLOR_ATTACHMENT_BLEND") , (FormatFeatureFlags :: DEPTH_STENCIL_ATTACHMENT . 0 , "DEPTH_STENCIL_ATTACHMENT") , (FormatFeatureFlags :: BLIT_SRC . 0 , "BLIT_SRC") , (FormatFeatureFlags :: BLIT_DST . 0 , "BLIT_DST") , (FormatFeatureFlags :: SAMPLED_IMAGE_FILTER_LINEAR . 0 , "SAMPLED_IMAGE_FILTER_LINEAR") , (FormatFeatureFlags :: VIDEO_DECODE_OUTPUT_KHR . 0 , "VIDEO_DECODE_OUTPUT_KHR") , (FormatFeatureFlags :: VIDEO_DECODE_DPB_KHR . 0 , "VIDEO_DECODE_DPB_KHR") , (FormatFeatureFlags :: ACCELERATION_STRUCTURE_VERTEX_BUFFER_KHR . 0 , "ACCELERATION_STRUCTURE_VERTEX_BUFFER_KHR") , (FormatFeatureFlags :: SAMPLED_IMAGE_FILTER_CUBIC_EXT . 0 , "SAMPLED_IMAGE_FILTER_CUBIC_EXT") , (FormatFeatureFlags :: FRAGMENT_DENSITY_MAP_EXT . 0 , "FRAGMENT_DENSITY_MAP_EXT") , (FormatFeatureFlags :: FRAGMENT_SHADING_RATE_ATTACHMENT_KHR . 0 , "FRAGMENT_SHADING_RATE_ATTACHMENT_KHR") , (FormatFeatureFlags :: VIDEO_ENCODE_INPUT_KHR . 0 , "VIDEO_ENCODE_INPUT_KHR") , (FormatFeatureFlags :: VIDEO_ENCODE_DPB_KHR . 0 , "VIDEO_ENCODE_DPB_KHR") , (FormatFeatureFlags :: TRANSFER_SRC . 0 , "TRANSFER_SRC") , (FormatFeatureFlags :: TRANSFER_DST . 0 , "TRANSFER_DST") , (FormatFeatureFlags :: MIDPOINT_CHROMA_SAMPLES . 0 , "MIDPOINT_CHROMA_SAMPLES") , (FormatFeatureFlags :: SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER . 0 , "SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER") , (FormatFeatureFlags :: SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER . 0 , "SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER") , (FormatFeatureFlags :: SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT . 0 , "SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT") , (FormatFeatureFlags :: SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE . 0 , "SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE") , (FormatFeatureFlags :: DISJOINT . 0 , "DISJOINT") , (FormatFeatureFlags :: COSITED_CHROMA_SAMPLES . 0 , "COSITED_CHROMA_SAMPLES") , (FormatFeatureFlags :: SAMPLED_IMAGE_FILTER_MINMAX . 0 , "SAMPLED_IMAGE_FILTER_MINMAX")] ; debug_flags(f, KNOWN, self.0) } } impl fmt::Debug for FormatFeatureFlags2 { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN : & [(Flags64 , & str)] = & [(FormatFeatureFlags2 :: SAMPLED_IMAGE . 0 , "SAMPLED_IMAGE") , (FormatFeatureFlags2 :: STORAGE_IMAGE . 0 , "STORAGE_IMAGE") , (FormatFeatureFlags2 :: STORAGE_IMAGE_ATOMIC . 0 , "STORAGE_IMAGE_ATOMIC") , (FormatFeatureFlags2 :: UNIFORM_TEXEL_BUFFER . 0 , "UNIFORM_TEXEL_BUFFER") , (FormatFeatureFlags2 :: STORAGE_TEXEL_BUFFER . 0 , "STORAGE_TEXEL_BUFFER") , (FormatFeatureFlags2 :: STORAGE_TEXEL_BUFFER_ATOMIC . 0 , "STORAGE_TEXEL_BUFFER_ATOMIC") , (FormatFeatureFlags2 :: VERTEX_BUFFER . 0 , "VERTEX_BUFFER") , (FormatFeatureFlags2 :: COLOR_ATTACHMENT . 0 , "COLOR_ATTACHMENT") , (FormatFeatureFlags2 :: COLOR_ATTACHMENT_BLEND . 0 , "COLOR_ATTACHMENT_BLEND") , (FormatFeatureFlags2 :: DEPTH_STENCIL_ATTACHMENT . 0 , "DEPTH_STENCIL_ATTACHMENT") , (FormatFeatureFlags2 :: BLIT_SRC . 0 , "BLIT_SRC") , (FormatFeatureFlags2 :: BLIT_DST . 0 , "BLIT_DST") , (FormatFeatureFlags2 :: SAMPLED_IMAGE_FILTER_LINEAR . 0 , "SAMPLED_IMAGE_FILTER_LINEAR") , (FormatFeatureFlags2 :: SAMPLED_IMAGE_FILTER_CUBIC . 0 , "SAMPLED_IMAGE_FILTER_CUBIC") , (FormatFeatureFlags2 :: TRANSFER_SRC . 0 , "TRANSFER_SRC") , (FormatFeatureFlags2 :: TRANSFER_DST . 0 , "TRANSFER_DST") , (FormatFeatureFlags2 :: SAMPLED_IMAGE_FILTER_MINMAX . 0 , "SAMPLED_IMAGE_FILTER_MINMAX") , (FormatFeatureFlags2 :: MIDPOINT_CHROMA_SAMPLES . 0 , "MIDPOINT_CHROMA_SAMPLES") , (FormatFeatureFlags2 :: SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER . 0 , "SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER") , (FormatFeatureFlags2 :: SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER . 0 , "SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER") , (FormatFeatureFlags2 :: SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT . 0 , "SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT") , (FormatFeatureFlags2 :: SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE . 0 , "SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE") , (FormatFeatureFlags2 :: DISJOINT . 0 , "DISJOINT") , (FormatFeatureFlags2 :: COSITED_CHROMA_SAMPLES . 0 , "COSITED_CHROMA_SAMPLES") , (FormatFeatureFlags2 :: STORAGE_READ_WITHOUT_FORMAT . 0 , "STORAGE_READ_WITHOUT_FORMAT") , (FormatFeatureFlags2 :: STORAGE_WRITE_WITHOUT_FORMAT . 0 , "STORAGE_WRITE_WITHOUT_FORMAT") , (FormatFeatureFlags2 :: SAMPLED_IMAGE_DEPTH_COMPARISON . 0 , "SAMPLED_IMAGE_DEPTH_COMPARISON") , (FormatFeatureFlags2 :: VIDEO_DECODE_OUTPUT_KHR . 0 , "VIDEO_DECODE_OUTPUT_KHR") , (FormatFeatureFlags2 :: VIDEO_DECODE_DPB_KHR . 0 , "VIDEO_DECODE_DPB_KHR") , (FormatFeatureFlags2 :: ACCELERATION_STRUCTURE_VERTEX_BUFFER_KHR . 0 , "ACCELERATION_STRUCTURE_VERTEX_BUFFER_KHR") , (FormatFeatureFlags2 :: FRAGMENT_DENSITY_MAP_EXT . 0 , "FRAGMENT_DENSITY_MAP_EXT") , (FormatFeatureFlags2 :: FRAGMENT_SHADING_RATE_ATTACHMENT_KHR . 0 , "FRAGMENT_SHADING_RATE_ATTACHMENT_KHR") , (FormatFeatureFlags2 :: VIDEO_ENCODE_INPUT_KHR . 0 , "VIDEO_ENCODE_INPUT_KHR") , (FormatFeatureFlags2 :: VIDEO_ENCODE_DPB_KHR . 0 , "VIDEO_ENCODE_DPB_KHR") , (FormatFeatureFlags2 :: LINEAR_COLOR_ATTACHMENT_NV . 0 , "LINEAR_COLOR_ATTACHMENT_NV") , (FormatFeatureFlags2 :: RESERVED_34_QCOM . 0 , "RESERVED_34_QCOM") , (FormatFeatureFlags2 :: RESERVED_35_QCOM . 0 , "RESERVED_35_QCOM") , (FormatFeatureFlags2 :: RESERVED_36_QCOM . 0 , "RESERVED_36_QCOM") , (FormatFeatureFlags2 :: RESERVED_37_QCOM . 0 , "RESERVED_37_QCOM") , (FormatFeatureFlags2 :: RESERVED_39_EXT . 0 , "RESERVED_39_EXT") , (FormatFeatureFlags2 :: RESERVED_40_NV . 0 , "RESERVED_40_NV") , (FormatFeatureFlags2 :: RESERVED_41_NV . 0 , "RESERVED_41_NV") , (FormatFeatureFlags2 :: RESERVED_42_NV . 0 , "RESERVED_42_NV") , (FormatFeatureFlags2 :: RESERVED_43_NV . 0 , "RESERVED_43_NV")] ; + const KNOWN : & [(Flags64 , & str)] = & [(FormatFeatureFlags2 :: SAMPLED_IMAGE . 0 , "SAMPLED_IMAGE") , (FormatFeatureFlags2 :: STORAGE_IMAGE . 0 , "STORAGE_IMAGE") , (FormatFeatureFlags2 :: STORAGE_IMAGE_ATOMIC . 0 , "STORAGE_IMAGE_ATOMIC") , (FormatFeatureFlags2 :: UNIFORM_TEXEL_BUFFER . 0 , "UNIFORM_TEXEL_BUFFER") , (FormatFeatureFlags2 :: STORAGE_TEXEL_BUFFER . 0 , "STORAGE_TEXEL_BUFFER") , (FormatFeatureFlags2 :: STORAGE_TEXEL_BUFFER_ATOMIC . 0 , "STORAGE_TEXEL_BUFFER_ATOMIC") , (FormatFeatureFlags2 :: VERTEX_BUFFER . 0 , "VERTEX_BUFFER") , (FormatFeatureFlags2 :: COLOR_ATTACHMENT . 0 , "COLOR_ATTACHMENT") , (FormatFeatureFlags2 :: COLOR_ATTACHMENT_BLEND . 0 , "COLOR_ATTACHMENT_BLEND") , (FormatFeatureFlags2 :: DEPTH_STENCIL_ATTACHMENT . 0 , "DEPTH_STENCIL_ATTACHMENT") , (FormatFeatureFlags2 :: BLIT_SRC . 0 , "BLIT_SRC") , (FormatFeatureFlags2 :: BLIT_DST . 0 , "BLIT_DST") , (FormatFeatureFlags2 :: SAMPLED_IMAGE_FILTER_LINEAR . 0 , "SAMPLED_IMAGE_FILTER_LINEAR") , (FormatFeatureFlags2 :: SAMPLED_IMAGE_FILTER_CUBIC . 0 , "SAMPLED_IMAGE_FILTER_CUBIC") , (FormatFeatureFlags2 :: TRANSFER_SRC . 0 , "TRANSFER_SRC") , (FormatFeatureFlags2 :: TRANSFER_DST . 0 , "TRANSFER_DST") , (FormatFeatureFlags2 :: SAMPLED_IMAGE_FILTER_MINMAX . 0 , "SAMPLED_IMAGE_FILTER_MINMAX") , (FormatFeatureFlags2 :: MIDPOINT_CHROMA_SAMPLES . 0 , "MIDPOINT_CHROMA_SAMPLES") , (FormatFeatureFlags2 :: SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER . 0 , "SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER") , (FormatFeatureFlags2 :: SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER . 0 , "SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER") , (FormatFeatureFlags2 :: SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT . 0 , "SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT") , (FormatFeatureFlags2 :: SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE . 0 , "SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE") , (FormatFeatureFlags2 :: DISJOINT . 0 , "DISJOINT") , (FormatFeatureFlags2 :: COSITED_CHROMA_SAMPLES . 0 , "COSITED_CHROMA_SAMPLES") , (FormatFeatureFlags2 :: STORAGE_READ_WITHOUT_FORMAT . 0 , "STORAGE_READ_WITHOUT_FORMAT") , (FormatFeatureFlags2 :: STORAGE_WRITE_WITHOUT_FORMAT . 0 , "STORAGE_WRITE_WITHOUT_FORMAT") , (FormatFeatureFlags2 :: SAMPLED_IMAGE_DEPTH_COMPARISON . 0 , "SAMPLED_IMAGE_DEPTH_COMPARISON") , (FormatFeatureFlags2 :: VIDEO_DECODE_OUTPUT_KHR . 0 , "VIDEO_DECODE_OUTPUT_KHR") , (FormatFeatureFlags2 :: VIDEO_DECODE_DPB_KHR . 0 , "VIDEO_DECODE_DPB_KHR") , (FormatFeatureFlags2 :: ACCELERATION_STRUCTURE_VERTEX_BUFFER_KHR . 0 , "ACCELERATION_STRUCTURE_VERTEX_BUFFER_KHR") , (FormatFeatureFlags2 :: FRAGMENT_DENSITY_MAP_EXT . 0 , "FRAGMENT_DENSITY_MAP_EXT") , (FormatFeatureFlags2 :: FRAGMENT_SHADING_RATE_ATTACHMENT_KHR . 0 , "FRAGMENT_SHADING_RATE_ATTACHMENT_KHR") , (FormatFeatureFlags2 :: RESERVED_44_EXT . 0 , "RESERVED_44_EXT") , (FormatFeatureFlags2 :: RESERVED_45_EXT . 0 , "RESERVED_45_EXT") , (FormatFeatureFlags2 :: VIDEO_ENCODE_INPUT_KHR . 0 , "VIDEO_ENCODE_INPUT_KHR") , (FormatFeatureFlags2 :: VIDEO_ENCODE_DPB_KHR . 0 , "VIDEO_ENCODE_DPB_KHR") , (FormatFeatureFlags2 :: LINEAR_COLOR_ATTACHMENT_NV . 0 , "LINEAR_COLOR_ATTACHMENT_NV") , (FormatFeatureFlags2 :: WEIGHT_IMAGE_QCOM . 0 , "WEIGHT_IMAGE_QCOM") , (FormatFeatureFlags2 :: WEIGHT_SAMPLED_IMAGE_QCOM . 0 , "WEIGHT_SAMPLED_IMAGE_QCOM") , (FormatFeatureFlags2 :: BLOCK_MATCHING_QCOM . 0 , "BLOCK_MATCHING_QCOM") , (FormatFeatureFlags2 :: BOX_FILTER_SAMPLED_QCOM . 0 , "BOX_FILTER_SAMPLED_QCOM") , (FormatFeatureFlags2 :: RESERVED_39_EXT . 0 , "RESERVED_39_EXT") , (FormatFeatureFlags2 :: RESERVED_40_NV . 0 , "RESERVED_40_NV") , (FormatFeatureFlags2 :: RESERVED_41_NV . 0 , "RESERVED_41_NV") , (FormatFeatureFlags2 :: RESERVED_42_NV . 0 , "RESERVED_42_NV") , (FormatFeatureFlags2 :: RESERVED_43_NV . 0 , "RESERVED_43_NV")] ; debug_flags(f, KNOWN, self.0) } } @@ -2310,6 +2326,7 @@ impl fmt::Debug for ImageCreateFlags { "SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_EXT", ), (ImageCreateFlags::SUBSAMPLED_EXT.0, "SUBSAMPLED_EXT"), + (ImageCreateFlags::RESERVED_19_EXT.0, "RESERVED_19_EXT"), (ImageCreateFlags::RESERVED_16_AMD.0, "RESERVED_16_AMD"), ( ImageCreateFlags::MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_EXT.0, @@ -2373,6 +2390,9 @@ impl fmt::Debug for ImageLayout { Self::VIDEO_ENCODE_DST_KHR => Some("VIDEO_ENCODE_DST_KHR"), Self::VIDEO_ENCODE_SRC_KHR => Some("VIDEO_ENCODE_SRC_KHR"), Self::VIDEO_ENCODE_DPB_KHR => Some("VIDEO_ENCODE_DPB_KHR"), + Self::ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT => { + Some("ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT") + } Self::DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL => { Some("DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL") } @@ -2482,13 +2502,19 @@ impl fmt::Debug for ImageUsageFlags { ImageUsageFlags::VIDEO_ENCODE_DPB_KHR.0, "VIDEO_ENCODE_DPB_KHR", ), - (ImageUsageFlags::RESERVED_19_EXT.0, "RESERVED_19_EXT"), + ( + ImageUsageFlags::ATTACHMENT_FEEDBACK_LOOP_EXT.0, + "ATTACHMENT_FEEDBACK_LOOP_EXT", + ), ( ImageUsageFlags::INVOCATION_MASK_HUAWEI.0, "INVOCATION_MASK_HUAWEI", ), - (ImageUsageFlags::RESERVED_20_QCOM.0, "RESERVED_20_QCOM"), - (ImageUsageFlags::RESERVED_21_QCOM.0, "RESERVED_21_QCOM"), + (ImageUsageFlags::SAMPLE_WEIGHT_QCOM.0, "SAMPLE_WEIGHT_QCOM"), + ( + ImageUsageFlags::SAMPLE_BLOCK_MATCH_QCOM.0, + "SAMPLE_BLOCK_MATCH_QCOM", + ), ]; debug_flags(f, KNOWN, self.0) } @@ -2575,6 +2601,7 @@ impl fmt::Debug for IndirectCommandsTokenTypeNV { Self::DRAW_INDEXED => Some("DRAW_INDEXED"), Self::DRAW => Some("DRAW"), Self::DRAW_TASKS => Some("DRAW_TASKS"), + Self::DRAW_MESH_TASKS => Some("DRAW_MESH_TASKS"), _ => None, }; if let Some(x) = name { @@ -2939,8 +2966,8 @@ impl fmt::Debug for PipelineCacheHeaderVersion { impl fmt::Debug for PipelineColorBlendStateCreateFlags { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { const KNOWN: &[(Flags, &str)] = &[( - PipelineColorBlendStateCreateFlags::RASTERIZATION_ORDER_ATTACHMENT_ACCESS_ARM.0, - "RASTERIZATION_ORDER_ATTACHMENT_ACCESS_ARM", + PipelineColorBlendStateCreateFlags::RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXT.0, + "RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXT", )]; debug_flags(f, KNOWN, self.0) } @@ -3031,6 +3058,7 @@ impl fmt::Debug for PipelineCreateFlags { "INDIRECT_BINDABLE_NV", ), (PipelineCreateFlags::LIBRARY_KHR.0, "LIBRARY_KHR"), + (PipelineCreateFlags::RESERVED_29_AMD.0, "RESERVED_29_AMD"), ( PipelineCreateFlags::RETAIN_LINK_TIME_OPTIMIZATION_INFO_EXT.0, "RETAIN_LINK_TIME_OPTIMIZATION_INFO_EXT", @@ -3043,10 +3071,18 @@ impl fmt::Debug for PipelineCreateFlags { PipelineCreateFlags::RAY_TRACING_ALLOW_MOTION_NV.0, "RAY_TRACING_ALLOW_MOTION_NV", ), - (PipelineCreateFlags::RESERVED_25_EXT.0, "RESERVED_25_EXT"), - (PipelineCreateFlags::RESERVED_26_EXT.0, "RESERVED_26_EXT"), + ( + PipelineCreateFlags::COLOR_ATTACHMENT_FEEDBACK_LOOP_EXT.0, + "COLOR_ATTACHMENT_FEEDBACK_LOOP_EXT", + ), + ( + PipelineCreateFlags::DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_EXT.0, + "DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_EXT", + ), (PipelineCreateFlags::RESERVED_24_NV.0, "RESERVED_24_NV"), + (PipelineCreateFlags::RESERVED_28_NV.0, "RESERVED_28_NV"), (PipelineCreateFlags::RESERVED_27_EXT.0, "RESERVED_27_EXT"), + (PipelineCreateFlags::RESERVED_30_EXT.0, "RESERVED_30_EXT"), ( PipelineCreateFlags::VIEW_INDEX_FROM_DEVICE_INDEX.0, "VIEW_INDEX_FROM_DEVICE_INDEX", @@ -3082,7 +3118,7 @@ impl fmt::Debug for PipelineCreationFeedbackFlags { } impl fmt::Debug for PipelineDepthStencilStateCreateFlags { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN : & [(Flags , & str)] = & [(PipelineDepthStencilStateCreateFlags :: RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_ARM . 0 , "RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_ARM") , (PipelineDepthStencilStateCreateFlags :: RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_ARM . 0 , "RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_ARM")] ; + const KNOWN : & [(Flags , & str)] = & [(PipelineDepthStencilStateCreateFlags :: RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_EXT . 0 , "RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_EXT") , (PipelineDepthStencilStateCreateFlags :: RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_EXT . 0 , "RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_EXT")] ; debug_flags(f, KNOWN, self.0) } } @@ -3165,13 +3201,41 @@ impl fmt::Debug for PipelineRasterizationStateStreamCreateFlagsEXT { debug_flags(f, KNOWN, self.0) } } +impl fmt::Debug for PipelineRobustnessBufferBehaviorEXT { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + let name = match *self { + Self::DEVICE_DEFAULT => Some("DEVICE_DEFAULT"), + Self::DISABLED => Some("DISABLED"), + Self::ROBUST_BUFFER_ACCESS => Some("ROBUST_BUFFER_ACCESS"), + Self::ROBUST_BUFFER_ACCESS_2 => Some("ROBUST_BUFFER_ACCESS_2"), + _ => None, + }; + if let Some(x) = name { + f.write_str(x) + } else { + self.0.fmt(f) + } + } +} +impl fmt::Debug for PipelineRobustnessImageBehaviorEXT { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + let name = match *self { + Self::DEVICE_DEFAULT => Some("DEVICE_DEFAULT"), + Self::DISABLED => Some("DISABLED"), + Self::ROBUST_IMAGE_ACCESS => Some("ROBUST_IMAGE_ACCESS"), + Self::ROBUST_IMAGE_ACCESS_2 => Some("ROBUST_IMAGE_ACCESS_2"), + _ => None, + }; + if let Some(x) = name { + f.write_str(x) + } else { + self.0.fmt(f) + } + } +} impl fmt::Debug for PipelineShaderStageCreateFlags { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { const KNOWN: &[(Flags, &str)] = &[ - ( - PipelineShaderStageCreateFlags::RESERVED_2_NV.0, - "RESERVED_2_NV", - ), ( PipelineShaderStageCreateFlags::RESERVED_3_KHR.0, "RESERVED_3_KHR", @@ -3239,8 +3303,6 @@ impl fmt::Debug for PipelineStageFlags { PipelineStageFlags::RAY_TRACING_SHADER_KHR.0, "RAY_TRACING_SHADER_KHR", ), - (PipelineStageFlags::TASK_SHADER_NV.0, "TASK_SHADER_NV"), - (PipelineStageFlags::MESH_SHADER_NV.0, "MESH_SHADER_NV"), ( PipelineStageFlags::FRAGMENT_DENSITY_PROCESS_EXT.0, "FRAGMENT_DENSITY_PROCESS_EXT", @@ -3253,6 +3315,8 @@ impl fmt::Debug for PipelineStageFlags { PipelineStageFlags::COMMAND_PREPROCESS_NV.0, "COMMAND_PREPROCESS_NV", ), + (PipelineStageFlags::TASK_SHADER_EXT.0, "TASK_SHADER_EXT"), + (PipelineStageFlags::MESH_SHADER_EXT.0, "MESH_SHADER_EXT"), (PipelineStageFlags::NONE.0, "NONE"), ]; debug_flags(f, KNOWN, self.0) @@ -3337,8 +3401,8 @@ impl fmt::Debug for PipelineStageFlags2 { PipelineStageFlags2::FRAGMENT_DENSITY_PROCESS_EXT.0, "FRAGMENT_DENSITY_PROCESS_EXT", ), - (PipelineStageFlags2::TASK_SHADER_NV.0, "TASK_SHADER_NV"), - (PipelineStageFlags2::MESH_SHADER_NV.0, "MESH_SHADER_NV"), + (PipelineStageFlags2::TASK_SHADER_EXT.0, "TASK_SHADER_EXT"), + (PipelineStageFlags2::MESH_SHADER_EXT.0, "MESH_SHADER_EXT"), ( PipelineStageFlags2::SUBPASS_SHADING_HUAWEI.0, "SUBPASS_SHADING_HUAWEI", @@ -3525,6 +3589,14 @@ impl fmt::Debug for QueryPipelineStatisticFlags { QueryPipelineStatisticFlags::COMPUTE_SHADER_INVOCATIONS.0, "COMPUTE_SHADER_INVOCATIONS", ), + ( + QueryPipelineStatisticFlags::TASK_SHADER_INVOCATIONS_EXT.0, + "TASK_SHADER_INVOCATIONS_EXT", + ), + ( + QueryPipelineStatisticFlags::MESH_SHADER_INVOCATIONS_EXT.0, + "MESH_SHADER_INVOCATIONS_EXT", + ), ]; debug_flags(f, KNOWN, self.0) } @@ -3597,6 +3669,7 @@ impl fmt::Debug for QueryType { Self::VIDEO_ENCODESTREAM_BUFFER_RANGE_KHR => { Some("VIDEO_ENCODESTREAM_BUFFER_RANGE_KHR") } + Self::MESH_PRIMITIVES_GENERATED_EXT => Some("MESH_PRIMITIVES_GENERATED_EXT"), Self::PRIMITIVES_GENERATED_EXT => Some("PRIMITIVES_GENERATED_EXT"), Self::ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR => { Some("ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR") @@ -3619,6 +3692,7 @@ impl fmt::Debug for QueueFlags { (QueueFlags::TRANSFER.0, "TRANSFER"), (QueueFlags::SPARSE_BINDING.0, "SPARSE_BINDING"), (QueueFlags::VIDEO_DECODE_KHR.0, "VIDEO_DECODE_KHR"), + (QueueFlags::RESERVED_9_EXT.0, "RESERVED_9_EXT"), (QueueFlags::VIDEO_ENCODE_KHR.0, "VIDEO_ENCODE_KHR"), (QueueFlags::RESERVED_7_QCOM.0, "RESERVED_7_QCOM"), (QueueFlags::RESERVED_8_NV.0, "RESERVED_8_NV"), @@ -3690,7 +3764,10 @@ impl fmt::Debug for RenderingFlags { ), (RenderingFlags::SUSPENDING.0, "SUSPENDING"), (RenderingFlags::RESUMING.0, "RESUMING"), - (RenderingFlags::RESERVED_3_EXT.0, "RESERVED_3_EXT"), + ( + RenderingFlags::ENABLE_LEGACY_DITHERING_EXT.0, + "ENABLE_LEGACY_DITHERING_EXT", + ), ]; debug_flags(f, KNOWN, self.0) } @@ -3927,8 +4004,7 @@ impl fmt::Debug for ShaderInfoTypeAMD { } impl fmt::Debug for ShaderModuleCreateFlags { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = - &[(ShaderModuleCreateFlags::RESERVED_0_NV.0, "RESERVED_0_NV")]; + const KNOWN: &[(Flags, &str)] = &[]; debug_flags(f, KNOWN, self.0) } } @@ -3955,8 +4031,8 @@ impl fmt::Debug for ShaderStageFlags { (ShaderStageFlags::MISS_KHR.0, "MISS_KHR"), (ShaderStageFlags::INTERSECTION_KHR.0, "INTERSECTION_KHR"), (ShaderStageFlags::CALLABLE_KHR.0, "CALLABLE_KHR"), - (ShaderStageFlags::TASK_NV.0, "TASK_NV"), - (ShaderStageFlags::MESH_NV.0, "MESH_NV"), + (ShaderStageFlags::TASK_EXT.0, "TASK_EXT"), + (ShaderStageFlags::MESH_EXT.0, "MESH_EXT"), ( ShaderStageFlags::SUBPASS_SHADING_HUAWEI.0, "SUBPASS_SHADING_HUAWEI", @@ -4170,11 +4246,13 @@ impl fmt::Debug for StructureType { Self::DEBUG_MARKER_OBJECT_NAME_INFO_EXT => Some("DEBUG_MARKER_OBJECT_NAME_INFO_EXT"), Self::DEBUG_MARKER_OBJECT_TAG_INFO_EXT => Some("DEBUG_MARKER_OBJECT_TAG_INFO_EXT"), Self::DEBUG_MARKER_MARKER_INFO_EXT => Some("DEBUG_MARKER_MARKER_INFO_EXT"), - Self::VIDEO_PROFILE_KHR => Some("VIDEO_PROFILE_KHR"), + Self::VIDEO_PROFILE_INFO_KHR => Some("VIDEO_PROFILE_INFO_KHR"), Self::VIDEO_CAPABILITIES_KHR => Some("VIDEO_CAPABILITIES_KHR"), - Self::VIDEO_PICTURE_RESOURCE_KHR => Some("VIDEO_PICTURE_RESOURCE_KHR"), - Self::VIDEO_GET_MEMORY_PROPERTIES_KHR => Some("VIDEO_GET_MEMORY_PROPERTIES_KHR"), - Self::VIDEO_BIND_MEMORY_KHR => Some("VIDEO_BIND_MEMORY_KHR"), + Self::VIDEO_PICTURE_RESOURCE_INFO_KHR => Some("VIDEO_PICTURE_RESOURCE_INFO_KHR"), + Self::VIDEO_SESSION_MEMORY_REQUIREMENTS_KHR => { + Some("VIDEO_SESSION_MEMORY_REQUIREMENTS_KHR") + } + Self::BIND_VIDEO_SESSION_MEMORY_INFO_KHR => Some("BIND_VIDEO_SESSION_MEMORY_INFO_KHR"), Self::VIDEO_SESSION_CREATE_INFO_KHR => Some("VIDEO_SESSION_CREATE_INFO_KHR"), Self::VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR => { Some("VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR") @@ -4185,20 +4263,19 @@ impl fmt::Debug for StructureType { Self::VIDEO_BEGIN_CODING_INFO_KHR => Some("VIDEO_BEGIN_CODING_INFO_KHR"), Self::VIDEO_END_CODING_INFO_KHR => Some("VIDEO_END_CODING_INFO_KHR"), Self::VIDEO_CODING_CONTROL_INFO_KHR => Some("VIDEO_CODING_CONTROL_INFO_KHR"), - Self::VIDEO_REFERENCE_SLOT_KHR => Some("VIDEO_REFERENCE_SLOT_KHR"), - Self::VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR => { - Some("VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR") - } - Self::VIDEO_PROFILES_KHR => Some("VIDEO_PROFILES_KHR"), + Self::VIDEO_REFERENCE_SLOT_INFO_KHR => Some("VIDEO_REFERENCE_SLOT_INFO_KHR"), + Self::QUEUE_FAMILY_VIDEO_PROPERTIES_KHR => Some("QUEUE_FAMILY_VIDEO_PROPERTIES_KHR"), + Self::VIDEO_PROFILE_LIST_INFO_KHR => Some("VIDEO_PROFILE_LIST_INFO_KHR"), Self::PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR => { Some("PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR") } Self::VIDEO_FORMAT_PROPERTIES_KHR => Some("VIDEO_FORMAT_PROPERTIES_KHR"), - Self::QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_2_KHR => { - Some("QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_2_KHR") + Self::QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR => { + Some("QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR") } Self::VIDEO_DECODE_INFO_KHR => Some("VIDEO_DECODE_INFO_KHR"), Self::VIDEO_DECODE_CAPABILITIES_KHR => Some("VIDEO_DECODE_CAPABILITIES_KHR"), + Self::VIDEO_DECODE_USAGE_INFO_KHR => Some("VIDEO_DECODE_USAGE_INFO_KHR"), Self::DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV => { Some("DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV") } @@ -4235,19 +4312,21 @@ impl fmt::Debug for StructureType { Self::VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT => { Some("VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT") } - Self::VIDEO_ENCODE_H264_NALU_SLICE_EXT => Some("VIDEO_ENCODE_H264_NALU_SLICE_EXT"), - Self::VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT => { - Some("VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT") + Self::VIDEO_ENCODE_H264_NALU_SLICE_INFO_EXT => { + Some("VIDEO_ENCODE_H264_NALU_SLICE_INFO_EXT") } - Self::VIDEO_ENCODE_H264_PROFILE_EXT => Some("VIDEO_ENCODE_H264_PROFILE_EXT"), + Self::VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_INFO_EXT => { + Some("VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_INFO_EXT") + } + Self::VIDEO_ENCODE_H264_PROFILE_INFO_EXT => Some("VIDEO_ENCODE_H264_PROFILE_INFO_EXT"), Self::VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT => { Some("VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT") } Self::VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT => { Some("VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT") } - Self::VIDEO_ENCODE_H264_REFERENCE_LISTS_EXT => { - Some("VIDEO_ENCODE_H264_REFERENCE_LISTS_EXT") + Self::VIDEO_ENCODE_H264_REFERENCE_LISTS_INFO_EXT => { + Some("VIDEO_ENCODE_H264_REFERENCE_LISTS_INFO_EXT") } Self::VIDEO_ENCODE_H265_CAPABILITIES_EXT => Some("VIDEO_ENCODE_H265_CAPABILITIES_EXT"), Self::VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT => { @@ -4262,15 +4341,15 @@ impl fmt::Debug for StructureType { Self::VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT => { Some("VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT") } - Self::VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_EXT => { - Some("VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_EXT") + Self::VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_EXT => { + Some("VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_EXT") } - Self::VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_EXT => { - Some("VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_EXT") + Self::VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_INFO_EXT => { + Some("VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_INFO_EXT") } - Self::VIDEO_ENCODE_H265_PROFILE_EXT => Some("VIDEO_ENCODE_H265_PROFILE_EXT"), - Self::VIDEO_ENCODE_H265_REFERENCE_LISTS_EXT => { - Some("VIDEO_ENCODE_H265_REFERENCE_LISTS_EXT") + Self::VIDEO_ENCODE_H265_PROFILE_INFO_EXT => Some("VIDEO_ENCODE_H265_PROFILE_INFO_EXT"), + Self::VIDEO_ENCODE_H265_REFERENCE_LISTS_INFO_EXT => { + Some("VIDEO_ENCODE_H265_REFERENCE_LISTS_INFO_EXT") } Self::VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT => { Some("VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT") @@ -4280,8 +4359,8 @@ impl fmt::Debug for StructureType { } Self::VIDEO_DECODE_H264_CAPABILITIES_EXT => Some("VIDEO_DECODE_H264_CAPABILITIES_EXT"), Self::VIDEO_DECODE_H264_PICTURE_INFO_EXT => Some("VIDEO_DECODE_H264_PICTURE_INFO_EXT"), - Self::VIDEO_DECODE_H264_MVC_EXT => Some("VIDEO_DECODE_H264_MVC_EXT"), - Self::VIDEO_DECODE_H264_PROFILE_EXT => Some("VIDEO_DECODE_H264_PROFILE_EXT"), + Self::VIDEO_DECODE_H264_MVC_INFO_EXT => Some("VIDEO_DECODE_H264_MVC_INFO_EXT"), + Self::VIDEO_DECODE_H264_PROFILE_INFO_EXT => Some("VIDEO_DECODE_H264_PROFILE_INFO_EXT"), Self::VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT => { Some("VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT") } @@ -4325,6 +4404,15 @@ impl fmt::Debug for StructureType { Self::PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT => { Some("PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT") } + Self::PIPELINE_ROBUSTNESS_CREATE_INFO_EXT => { + Some("PIPELINE_ROBUSTNESS_CREATE_INFO_EXT") + } + Self::PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT => { + Some("PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT") + } + Self::PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT => { + Some("PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT") + } Self::IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR => { Some("IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR") } @@ -4655,7 +4743,7 @@ impl fmt::Debug for StructureType { Self::VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT => { Some("VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT") } - Self::VIDEO_DECODE_H265_PROFILE_EXT => Some("VIDEO_DECODE_H265_PROFILE_EXT"), + Self::VIDEO_DECODE_H265_PROFILE_INFO_EXT => Some("VIDEO_DECODE_H265_PROFILE_INFO_EXT"), Self::VIDEO_DECODE_H265_PICTURE_INFO_EXT => Some("VIDEO_DECODE_H265_PICTURE_INFO_EXT"), Self::VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT => { Some("VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT") @@ -4930,6 +5018,7 @@ impl fmt::Debug for StructureType { Some("VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR") } Self::VIDEO_ENCODE_CAPABILITIES_KHR => Some("VIDEO_ENCODE_CAPABILITIES_KHR"), + Self::VIDEO_ENCODE_USAGE_INFO_KHR => Some("VIDEO_ENCODE_USAGE_INFO_KHR"), Self::PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV => { Some("PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV") } @@ -4996,6 +5085,12 @@ impl fmt::Debug for StructureType { Self::ACCELERATION_STRUCTURE_MOTION_INFO_NV => { Some("ACCELERATION_STRUCTURE_MOTION_INFO_NV") } + Self::PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT => { + Some("PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT") + } + Self::PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT => { + Some("PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT") + } Self::PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT => { Some("PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT") } @@ -5016,22 +5111,16 @@ impl fmt::Debug for StructureType { Self::SUBRESOURCE_LAYOUT_2_EXT => Some("SUBRESOURCE_LAYOUT_2_EXT"), Self::IMAGE_SUBRESOURCE_2_EXT => Some("IMAGE_SUBRESOURCE_2_EXT"), Self::IMAGE_COMPRESSION_PROPERTIES_EXT => Some("IMAGE_COMPRESSION_PROPERTIES_EXT"), + Self::PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT => { + Some("PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT") + } Self::PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT => { Some("PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT") } - Self::PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM => { - Some("PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM") - } Self::PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT => { Some("PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT") } Self::DIRECTFB_SURFACE_CREATE_INFO_EXT => Some("DIRECTFB_SURFACE_CREATE_INFO_EXT"), - Self::PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE => { - Some("PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE") - } - Self::MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE => { - Some("MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE") - } Self::PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT => { Some("PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT") } @@ -5166,6 +5255,9 @@ impl fmt::Debug for StructureType { Self::DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE => { Some("DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE") } + Self::PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT => { + Some("PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT") + } Self::PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT => { Some("PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT") } @@ -5184,6 +5276,15 @@ impl fmt::Debug for StructureType { Self::PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT => { Some("PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT") } + Self::PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM => { + Some("PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM") + } + Self::PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM => { + Some("PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM") + } + Self::IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM => { + Some("IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM") + } Self::PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT => { Some("PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT") } @@ -5204,6 +5305,26 @@ impl fmt::Debug for StructureType { Some("PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT") } Self::SHADER_MODULE_IDENTIFIER_EXT => Some("SHADER_MODULE_IDENTIFIER_EXT"), + Self::PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT => { + Some("PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT") + } + Self::PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT => { + Some("PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT") + } + Self::PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM => { + Some("PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM") + } + Self::TILE_PROPERTIES_QCOM => Some("TILE_PROPERTIES_QCOM"), + Self::PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC => { + Some("PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC") + } + Self::AMIGO_PROFILING_SUBMIT_INFO_SEC => Some("AMIGO_PROFILING_SUBMIT_INFO_SEC"), + Self::PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT => { + Some("PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT") + } + Self::MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT => { + Some("MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT") + } Self::PHYSICAL_DEVICE_SUBGROUP_PROPERTIES => { Some("PHYSICAL_DEVICE_SUBGROUP_PROPERTIES") } @@ -5606,18 +5727,21 @@ impl fmt::Debug for SubpassDescriptionFlags { "SHADER_RESOLVE_QCOM", ), ( - SubpassDescriptionFlags::RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_ARM.0, - "RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_ARM", + SubpassDescriptionFlags::RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_EXT.0, + "RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_EXT", ), ( - SubpassDescriptionFlags::RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_ARM.0, - "RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_ARM", + SubpassDescriptionFlags::RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_EXT.0, + "RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_EXT", ), ( - SubpassDescriptionFlags::RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_ARM.0, - "RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_ARM", + SubpassDescriptionFlags::RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_EXT.0, + "RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_EXT", + ), + ( + SubpassDescriptionFlags::ENABLE_LEGACY_DITHERING_EXT.0, + "ENABLE_LEGACY_DITHERING_EXT", ), - (SubpassDescriptionFlags::RESERVED_7_EXT.0, "RESERVED_7_EXT"), ]; debug_flags(f, KNOWN, self.0) } @@ -5695,6 +5819,7 @@ impl fmt::Debug for SwapchainCreateFlagsKHR { ), (SwapchainCreateFlagsKHR::PROTECTED.0, "PROTECTED"), (SwapchainCreateFlagsKHR::MUTABLE_FORMAT.0, "MUTABLE_FORMAT"), + (SwapchainCreateFlagsKHR::RESERVED_3_SEC.0, "RESERVED_3_SEC"), ]; debug_flags(f, KNOWN, self.0) } @@ -5916,7 +6041,7 @@ impl fmt::Debug for VideoChromaSubsamplingFlagsKHR { impl fmt::Debug for VideoCodecOperationFlagsKHR { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { const KNOWN: &[(Flags, &str)] = &[ - (VideoCodecOperationFlagsKHR::INVALID.0, "INVALID"), + (VideoCodecOperationFlagsKHR::NONE.0, "NONE"), ( VideoCodecOperationFlagsKHR::ENCODE_H264_EXT.0, "ENCODE_H264_EXT", @@ -5940,18 +6065,15 @@ impl fmt::Debug for VideoCodecOperationFlagsKHR { impl fmt::Debug for VideoCodingControlFlagsKHR { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { const KNOWN: &[(Flags, &str)] = &[ - (VideoCodingControlFlagsKHR::DEFAULT.0, "DEFAULT"), (VideoCodingControlFlagsKHR::RESET.0, "RESET"), - ]; - debug_flags(f, KNOWN, self.0) - } -} -impl fmt::Debug for VideoCodingQualityPresetFlagsKHR { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - (VideoCodingQualityPresetFlagsKHR::NORMAL.0, "NORMAL"), - (VideoCodingQualityPresetFlagsKHR::POWER.0, "POWER"), - (VideoCodingQualityPresetFlagsKHR::QUALITY.0, "QUALITY"), + ( + VideoCodingControlFlagsKHR::ENCODE_RATE_CONTROL.0, + "ENCODE_RATE_CONTROL", + ), + ( + VideoCodingControlFlagsKHR::ENCODE_RATE_CONTROL_LAYER.0, + "ENCODE_RATE_CONTROL_LAYER", + ), ]; debug_flags(f, KNOWN, self.0) } @@ -5970,7 +6092,6 @@ impl fmt::Debug for VideoComponentBitDepthFlagsKHR { impl fmt::Debug for VideoDecodeCapabilityFlagsKHR { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { const KNOWN: &[(Flags, &str)] = &[ - (VideoDecodeCapabilityFlagsKHR::DEFAULT.0, "DEFAULT"), ( VideoDecodeCapabilityFlagsKHR::DPB_AND_OUTPUT_COINCIDE.0, "DPB_AND_OUTPUT_COINCIDE", @@ -5985,10 +6106,7 @@ impl fmt::Debug for VideoDecodeCapabilityFlagsKHR { } impl fmt::Debug for VideoDecodeFlagsKHR { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - (VideoDecodeFlagsKHR::DEFAULT.0, "DEFAULT"), - (VideoDecodeFlagsKHR::RESERVED_0.0, "RESERVED_0"), - ]; + const KNOWN: &[(Flags, &str)] = &[]; debug_flags(f, KNOWN, self.0) } } @@ -6011,24 +6129,40 @@ impl fmt::Debug for VideoDecodeH264PictureLayoutFlagsEXT { debug_flags(f, KNOWN, self.0) } } -impl fmt::Debug for VideoEncodeCapabilityFlagsKHR { +impl fmt::Debug for VideoDecodeUsageFlagsKHR { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { const KNOWN: &[(Flags, &str)] = &[ - (VideoEncodeCapabilityFlagsKHR::DEFAULT.0, "DEFAULT"), - ( - VideoEncodeCapabilityFlagsKHR::PRECEDING_EXTERNALLY_ENCODED_BYTES.0, - "PRECEDING_EXTERNALLY_ENCODED_BYTES", - ), + (VideoDecodeUsageFlagsKHR::DEFAULT.0, "DEFAULT"), + (VideoDecodeUsageFlagsKHR::TRANSCODING.0, "TRANSCODING"), + (VideoDecodeUsageFlagsKHR::OFFLINE.0, "OFFLINE"), + (VideoDecodeUsageFlagsKHR::STREAMING.0, "STREAMING"), + ]; + debug_flags(f, KNOWN, self.0) + } +} +impl fmt::Debug for VideoEncodeCapabilityFlagsKHR { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + const KNOWN: &[(Flags, &str)] = &[( + VideoEncodeCapabilityFlagsKHR::PRECEDING_EXTERNALLY_ENCODED_BYTES.0, + "PRECEDING_EXTERNALLY_ENCODED_BYTES", + )]; + debug_flags(f, KNOWN, self.0) + } +} +impl fmt::Debug for VideoEncodeContentFlagsKHR { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + const KNOWN: &[(Flags, &str)] = &[ + (VideoEncodeContentFlagsKHR::DEFAULT.0, "DEFAULT"), + (VideoEncodeContentFlagsKHR::CAMERA.0, "CAMERA"), + (VideoEncodeContentFlagsKHR::DESKTOP.0, "DESKTOP"), + (VideoEncodeContentFlagsKHR::RENDERED.0, "RENDERED"), ]; debug_flags(f, KNOWN, self.0) } } impl fmt::Debug for VideoEncodeFlagsKHR { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - (VideoEncodeFlagsKHR::DEFAULT.0, "DEFAULT"), - (VideoEncodeFlagsKHR::RESERVED_0.0, "RESERVED_0"), - ]; + const KNOWN: &[(Flags, &str)] = &[]; debug_flags(f, KNOWN, self.0) } } @@ -6153,20 +6287,19 @@ impl fmt::Debug for VideoEncodeH264OutputModeFlagsEXT { debug_flags(f, KNOWN, self.0) } } -impl fmt::Debug for VideoEncodeH264RateControlStructureFlagsEXT { +impl fmt::Debug for VideoEncodeH264RateControlStructureEXT { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - ( - VideoEncodeH264RateControlStructureFlagsEXT::UNKNOWN.0, - "UNKNOWN", - ), - (VideoEncodeH264RateControlStructureFlagsEXT::FLAT.0, "FLAT"), - ( - VideoEncodeH264RateControlStructureFlagsEXT::DYADIC.0, - "DYADIC", - ), - ]; - debug_flags(f, KNOWN, self.0) + let name = match *self { + Self::UNKNOWN => Some("UNKNOWN"), + Self::FLAT => Some("FLAT"), + Self::DYADIC => Some("DYADIC"), + _ => None, + }; + if let Some(x) = name { + f.write_str(x) + } else { + self.0.fmt(f) + } } } impl fmt::Debug for VideoEncodeH265CapabilityFlagsEXT { @@ -6316,20 +6449,19 @@ impl fmt::Debug for VideoEncodeH265OutputModeFlagsEXT { debug_flags(f, KNOWN, self.0) } } -impl fmt::Debug for VideoEncodeH265RateControlStructureFlagsEXT { +impl fmt::Debug for VideoEncodeH265RateControlStructureEXT { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - ( - VideoEncodeH265RateControlStructureFlagsEXT::UNKNOWN.0, - "UNKNOWN", - ), - (VideoEncodeH265RateControlStructureFlagsEXT::FLAT.0, "FLAT"), - ( - VideoEncodeH265RateControlStructureFlagsEXT::DYADIC.0, - "DYADIC", - ), - ]; - debug_flags(f, KNOWN, self.0) + let name = match *self { + Self::UNKNOWN => Some("UNKNOWN"), + Self::FLAT => Some("FLAT"), + Self::DYADIC => Some("DYADIC"), + _ => None, + }; + if let Some(x) = name { + f.write_str(x) + } else { + self.0.fmt(f) + } } } impl fmt::Debug for VideoEncodeH265TransformBlockSizeFlagsEXT { @@ -6357,10 +6489,7 @@ impl fmt::Debug for VideoEncodeH265TransformBlockSizeFlagsEXT { } impl fmt::Debug for VideoEncodeRateControlFlagsKHR { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - (VideoEncodeRateControlFlagsKHR::DEFAULT.0, "DEFAULT"), - (VideoEncodeRateControlFlagsKHR::RESERVED_0.0, "RESERVED_0"), - ]; + const KNOWN: &[(Flags, &str)] = &[]; debug_flags(f, KNOWN, self.0) } } @@ -6374,6 +6503,35 @@ impl fmt::Debug for VideoEncodeRateControlModeFlagsKHR { debug_flags(f, KNOWN, self.0) } } +impl fmt::Debug for VideoEncodeTuningModeKHR { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + let name = match *self { + Self::DEFAULT => Some("DEFAULT"), + Self::HIGH_QUALITY => Some("HIGH_QUALITY"), + Self::LOW_LATENCY => Some("LOW_LATENCY"), + Self::ULTRA_LOW_LATENCY => Some("ULTRA_LOW_LATENCY"), + Self::LOSSLESS => Some("LOSSLESS"), + _ => None, + }; + if let Some(x) = name { + f.write_str(x) + } else { + self.0.fmt(f) + } + } +} +impl fmt::Debug for VideoEncodeUsageFlagsKHR { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + const KNOWN: &[(Flags, &str)] = &[ + (VideoEncodeUsageFlagsKHR::DEFAULT.0, "DEFAULT"), + (VideoEncodeUsageFlagsKHR::TRANSCODING.0, "TRANSCODING"), + (VideoEncodeUsageFlagsKHR::STREAMING.0, "STREAMING"), + (VideoEncodeUsageFlagsKHR::RECORDING.0, "RECORDING"), + (VideoEncodeUsageFlagsKHR::CONFERENCING.0, "CONFERENCING"), + ]; + debug_flags(f, KNOWN, self.0) + } +} impl fmt::Debug for VideoEndCodingFlagsKHR { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { const KNOWN: &[(Flags, &str)] = &[]; @@ -6382,13 +6540,16 @@ impl fmt::Debug for VideoEndCodingFlagsKHR { } impl fmt::Debug for VideoSessionCreateFlagsKHR { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - const KNOWN: &[(Flags, &str)] = &[ - (VideoSessionCreateFlagsKHR::DEFAULT.0, "DEFAULT"), - ( - VideoSessionCreateFlagsKHR::PROTECTED_CONTENT.0, - "PROTECTED_CONTENT", - ), - ]; + const KNOWN: &[(Flags, &str)] = &[( + VideoSessionCreateFlagsKHR::PROTECTED_CONTENT.0, + "PROTECTED_CONTENT", + )]; + debug_flags(f, KNOWN, self.0) + } +} +impl fmt::Debug for VideoSessionParametersCreateFlagsKHR { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + const KNOWN: &[(Flags, &str)] = &[]; debug_flags(f, KNOWN, self.0) } } diff --git a/ash/src/vk/definitions.rs b/ash/src/vk/definitions.rs index 753b516..83c7824 100644 --- a/ash/src/vk/definitions.rs +++ b/ash/src/vk/definitions.rs @@ -56,7 +56,7 @@ pub const API_VERSION_1_1: u32 = make_api_version(0, 1, 1, 0); pub const API_VERSION_1_2: u32 = make_api_version(0, 1, 2, 0); #[doc = ""] pub const API_VERSION_1_3: u32 = make_api_version(0, 1, 3, 0); -pub const HEADER_VERSION: u32 = 219u32; +pub const HEADER_VERSION: u32 = 228u32; #[doc = ""] pub const HEADER_VERSION_COMPLETE: u32 = make_api_version(0, 1, 3, HEADER_VERSION); #[doc = ""] @@ -293,6 +293,11 @@ pub struct PipelineRasterizationDepthClipStateCreateFlagsEXT(pub(crate) Flags); vk_bitflags_wrapped!(PipelineRasterizationDepthClipStateCreateFlagsEXT, Flags); #[repr(transparent)] #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)] +#[doc = ""] +pub struct VideoSessionParametersCreateFlagsKHR(pub(crate) Flags); +vk_bitflags_wrapped!(VideoSessionParametersCreateFlagsKHR, Flags); +#[repr(transparent)] +#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)] #[doc = ""] pub struct VideoBeginCodingFlagsKHR(pub(crate) Flags); vk_bitflags_wrapped!(VideoBeginCodingFlagsKHR, Flags); @@ -301,6 +306,21 @@ vk_bitflags_wrapped!(VideoBeginCodingFlagsKHR, Flags); #[doc = ""] pub struct VideoEndCodingFlagsKHR(pub(crate) Flags); vk_bitflags_wrapped!(VideoEndCodingFlagsKHR, Flags); +#[repr(transparent)] +#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)] +#[doc = ""] +pub struct VideoDecodeFlagsKHR(pub(crate) Flags); +vk_bitflags_wrapped!(VideoDecodeFlagsKHR, Flags); +#[repr(transparent)] +#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)] +#[doc = ""] +pub struct VideoEncodeFlagsKHR(pub(crate) Flags); +vk_bitflags_wrapped!(VideoEncodeFlagsKHR, Flags); +#[repr(transparent)] +#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)] +#[doc = ""] +pub struct VideoEncodeRateControlFlagsKHR(pub(crate) Flags); +vk_bitflags_wrapped!(VideoEncodeRateControlFlagsKHR, Flags); define_handle!( Instance, INSTANCE, @@ -26333,6 +26353,11 @@ pub struct ShaderModuleValidationCacheCreateInfoEXTBuilder<'a> { } unsafe impl ExtendsShaderModuleCreateInfo for ShaderModuleValidationCacheCreateInfoEXTBuilder<'_> {} unsafe impl ExtendsShaderModuleCreateInfo for ShaderModuleValidationCacheCreateInfoEXT {} +unsafe impl ExtendsPipelineShaderStageCreateInfo + for ShaderModuleValidationCacheCreateInfoEXTBuilder<'_> +{ +} +unsafe impl ExtendsPipelineShaderStageCreateInfo for ShaderModuleValidationCacheCreateInfoEXT {} impl<'a> ::std::ops::Deref for ShaderModuleValidationCacheCreateInfoEXTBuilder<'a> { type Target = ShaderModuleValidationCacheCreateInfoEXT; fn deref(&self) -> &Self::Target { @@ -34691,6 +34716,444 @@ impl<'a> DrawMeshTasksIndirectCommandNVBuilder<'a> { #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] +#[doc = ""] +pub struct PhysicalDeviceMeshShaderFeaturesEXT { + pub s_type: StructureType, + pub p_next: *mut c_void, + pub task_shader: Bool32, + pub mesh_shader: Bool32, + pub multiview_mesh_shader: Bool32, + pub primitive_fragment_shading_rate_mesh_shader: Bool32, + pub mesh_shader_queries: Bool32, +} +impl ::std::default::Default for PhysicalDeviceMeshShaderFeaturesEXT { + #[inline] + fn default() -> Self { + Self { + s_type: Self::STRUCTURE_TYPE, + p_next: ::std::ptr::null_mut(), + task_shader: Bool32::default(), + mesh_shader: Bool32::default(), + multiview_mesh_shader: Bool32::default(), + primitive_fragment_shading_rate_mesh_shader: Bool32::default(), + mesh_shader_queries: Bool32::default(), + } + } +} +unsafe impl TaggedStructure for PhysicalDeviceMeshShaderFeaturesEXT { + const STRUCTURE_TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT; +} +impl PhysicalDeviceMeshShaderFeaturesEXT { + pub fn builder<'a>() -> PhysicalDeviceMeshShaderFeaturesEXTBuilder<'a> { + PhysicalDeviceMeshShaderFeaturesEXTBuilder { + inner: Self::default(), + marker: ::std::marker::PhantomData, + } + } +} +#[repr(transparent)] +pub struct PhysicalDeviceMeshShaderFeaturesEXTBuilder<'a> { + inner: PhysicalDeviceMeshShaderFeaturesEXT, + marker: ::std::marker::PhantomData<&'a ()>, +} +unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceMeshShaderFeaturesEXTBuilder<'_> {} +unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceMeshShaderFeaturesEXT {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceMeshShaderFeaturesEXTBuilder<'_> {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceMeshShaderFeaturesEXT {} +impl<'a> ::std::ops::Deref for PhysicalDeviceMeshShaderFeaturesEXTBuilder<'a> { + type Target = PhysicalDeviceMeshShaderFeaturesEXT; + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> ::std::ops::DerefMut for PhysicalDeviceMeshShaderFeaturesEXTBuilder<'a> { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +impl<'a> PhysicalDeviceMeshShaderFeaturesEXTBuilder<'a> { + #[inline] + pub fn task_shader(mut self, task_shader: bool) -> Self { + self.inner.task_shader = task_shader.into(); + self + } + #[inline] + pub fn mesh_shader(mut self, mesh_shader: bool) -> Self { + self.inner.mesh_shader = mesh_shader.into(); + self + } + #[inline] + pub fn multiview_mesh_shader(mut self, multiview_mesh_shader: bool) -> Self { + self.inner.multiview_mesh_shader = multiview_mesh_shader.into(); + self + } + #[inline] + pub fn primitive_fragment_shading_rate_mesh_shader( + mut self, + primitive_fragment_shading_rate_mesh_shader: bool, + ) -> Self { + self.inner.primitive_fragment_shading_rate_mesh_shader = + primitive_fragment_shading_rate_mesh_shader.into(); + self + } + #[inline] + pub fn mesh_shader_queries(mut self, mesh_shader_queries: bool) -> Self { + self.inner.mesh_shader_queries = mesh_shader_queries.into(); + self + } + #[doc = r" Calling build will **discard** all the lifetime information. Only call this if"] + #[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"] + #[doc = r" so references to builders can be passed directly to Vulkan functions."] + pub fn build(self) -> PhysicalDeviceMeshShaderFeaturesEXT { + self.inner + } +} +#[repr(C)] +#[cfg_attr(feature = "debug", derive(Debug))] +#[derive(Copy, Clone)] +#[doc = ""] +pub struct PhysicalDeviceMeshShaderPropertiesEXT { + pub s_type: StructureType, + pub p_next: *mut c_void, + pub max_task_work_group_total_count: u32, + pub max_task_work_group_count: [u32; 3], + pub max_task_work_group_invocations: u32, + pub max_task_work_group_size: [u32; 3], + pub max_task_payload_size: u32, + pub max_task_shared_memory_size: u32, + pub max_task_payload_and_shared_memory_size: u32, + pub max_mesh_work_group_total_count: u32, + pub max_mesh_work_group_count: [u32; 3], + pub max_mesh_work_group_invocations: u32, + pub max_mesh_work_group_size: [u32; 3], + pub max_mesh_shared_memory_size: u32, + pub max_mesh_payload_and_shared_memory_size: u32, + pub max_mesh_output_memory_size: u32, + pub max_mesh_payload_and_output_memory_size: u32, + pub max_mesh_output_components: u32, + pub max_mesh_output_vertices: u32, + pub max_mesh_output_primitives: u32, + pub max_mesh_output_layers: u32, + pub max_mesh_multiview_view_count: u32, + pub mesh_output_per_vertex_granularity: u32, + pub mesh_output_per_primitive_granularity: u32, + pub max_preferred_task_work_group_invocations: u32, + pub max_preferred_mesh_work_group_invocations: u32, + pub prefers_local_invocation_vertex_output: Bool32, + pub prefers_local_invocation_primitive_output: Bool32, + pub prefers_compact_vertex_output: Bool32, + pub prefers_compact_primitive_output: Bool32, +} +impl ::std::default::Default for PhysicalDeviceMeshShaderPropertiesEXT { + #[inline] + fn default() -> Self { + Self { + s_type: Self::STRUCTURE_TYPE, + p_next: ::std::ptr::null_mut(), + max_task_work_group_total_count: u32::default(), + max_task_work_group_count: unsafe { ::std::mem::zeroed() }, + max_task_work_group_invocations: u32::default(), + max_task_work_group_size: unsafe { ::std::mem::zeroed() }, + max_task_payload_size: u32::default(), + max_task_shared_memory_size: u32::default(), + max_task_payload_and_shared_memory_size: u32::default(), + max_mesh_work_group_total_count: u32::default(), + max_mesh_work_group_count: unsafe { ::std::mem::zeroed() }, + max_mesh_work_group_invocations: u32::default(), + max_mesh_work_group_size: unsafe { ::std::mem::zeroed() }, + max_mesh_shared_memory_size: u32::default(), + max_mesh_payload_and_shared_memory_size: u32::default(), + max_mesh_output_memory_size: u32::default(), + max_mesh_payload_and_output_memory_size: u32::default(), + max_mesh_output_components: u32::default(), + max_mesh_output_vertices: u32::default(), + max_mesh_output_primitives: u32::default(), + max_mesh_output_layers: u32::default(), + max_mesh_multiview_view_count: u32::default(), + mesh_output_per_vertex_granularity: u32::default(), + mesh_output_per_primitive_granularity: u32::default(), + max_preferred_task_work_group_invocations: u32::default(), + max_preferred_mesh_work_group_invocations: u32::default(), + prefers_local_invocation_vertex_output: Bool32::default(), + prefers_local_invocation_primitive_output: Bool32::default(), + prefers_compact_vertex_output: Bool32::default(), + prefers_compact_primitive_output: Bool32::default(), + } + } +} +unsafe impl TaggedStructure for PhysicalDeviceMeshShaderPropertiesEXT { + const STRUCTURE_TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT; +} +impl PhysicalDeviceMeshShaderPropertiesEXT { + pub fn builder<'a>() -> PhysicalDeviceMeshShaderPropertiesEXTBuilder<'a> { + PhysicalDeviceMeshShaderPropertiesEXTBuilder { + inner: Self::default(), + marker: ::std::marker::PhantomData, + } + } +} +#[repr(transparent)] +pub struct PhysicalDeviceMeshShaderPropertiesEXTBuilder<'a> { + inner: PhysicalDeviceMeshShaderPropertiesEXT, + marker: ::std::marker::PhantomData<&'a ()>, +} +unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceMeshShaderPropertiesEXTBuilder<'_> {} +unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceMeshShaderPropertiesEXT {} +impl<'a> ::std::ops::Deref for PhysicalDeviceMeshShaderPropertiesEXTBuilder<'a> { + type Target = PhysicalDeviceMeshShaderPropertiesEXT; + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> ::std::ops::DerefMut for PhysicalDeviceMeshShaderPropertiesEXTBuilder<'a> { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +impl<'a> PhysicalDeviceMeshShaderPropertiesEXTBuilder<'a> { + #[inline] + pub fn max_task_work_group_total_count(mut self, max_task_work_group_total_count: u32) -> Self { + self.inner.max_task_work_group_total_count = max_task_work_group_total_count; + self + } + #[inline] + pub fn max_task_work_group_count(mut self, max_task_work_group_count: [u32; 3]) -> Self { + self.inner.max_task_work_group_count = max_task_work_group_count; + self + } + #[inline] + pub fn max_task_work_group_invocations(mut self, max_task_work_group_invocations: u32) -> Self { + self.inner.max_task_work_group_invocations = max_task_work_group_invocations; + self + } + #[inline] + pub fn max_task_work_group_size(mut self, max_task_work_group_size: [u32; 3]) -> Self { + self.inner.max_task_work_group_size = max_task_work_group_size; + self + } + #[inline] + pub fn max_task_payload_size(mut self, max_task_payload_size: u32) -> Self { + self.inner.max_task_payload_size = max_task_payload_size; + self + } + #[inline] + pub fn max_task_shared_memory_size(mut self, max_task_shared_memory_size: u32) -> Self { + self.inner.max_task_shared_memory_size = max_task_shared_memory_size; + self + } + #[inline] + pub fn max_task_payload_and_shared_memory_size( + mut self, + max_task_payload_and_shared_memory_size: u32, + ) -> Self { + self.inner.max_task_payload_and_shared_memory_size = + max_task_payload_and_shared_memory_size; + self + } + #[inline] + pub fn max_mesh_work_group_total_count(mut self, max_mesh_work_group_total_count: u32) -> Self { + self.inner.max_mesh_work_group_total_count = max_mesh_work_group_total_count; + self + } + #[inline] + pub fn max_mesh_work_group_count(mut self, max_mesh_work_group_count: [u32; 3]) -> Self { + self.inner.max_mesh_work_group_count = max_mesh_work_group_count; + self + } + #[inline] + pub fn max_mesh_work_group_invocations(mut self, max_mesh_work_group_invocations: u32) -> Self { + self.inner.max_mesh_work_group_invocations = max_mesh_work_group_invocations; + self + } + #[inline] + pub fn max_mesh_work_group_size(mut self, max_mesh_work_group_size: [u32; 3]) -> Self { + self.inner.max_mesh_work_group_size = max_mesh_work_group_size; + self + } + #[inline] + pub fn max_mesh_shared_memory_size(mut self, max_mesh_shared_memory_size: u32) -> Self { + self.inner.max_mesh_shared_memory_size = max_mesh_shared_memory_size; + self + } + #[inline] + pub fn max_mesh_payload_and_shared_memory_size( + mut self, + max_mesh_payload_and_shared_memory_size: u32, + ) -> Self { + self.inner.max_mesh_payload_and_shared_memory_size = + max_mesh_payload_and_shared_memory_size; + self + } + #[inline] + pub fn max_mesh_output_memory_size(mut self, max_mesh_output_memory_size: u32) -> Self { + self.inner.max_mesh_output_memory_size = max_mesh_output_memory_size; + self + } + #[inline] + pub fn max_mesh_payload_and_output_memory_size( + mut self, + max_mesh_payload_and_output_memory_size: u32, + ) -> Self { + self.inner.max_mesh_payload_and_output_memory_size = + max_mesh_payload_and_output_memory_size; + self + } + #[inline] + pub fn max_mesh_output_components(mut self, max_mesh_output_components: u32) -> Self { + self.inner.max_mesh_output_components = max_mesh_output_components; + self + } + #[inline] + pub fn max_mesh_output_vertices(mut self, max_mesh_output_vertices: u32) -> Self { + self.inner.max_mesh_output_vertices = max_mesh_output_vertices; + self + } + #[inline] + pub fn max_mesh_output_primitives(mut self, max_mesh_output_primitives: u32) -> Self { + self.inner.max_mesh_output_primitives = max_mesh_output_primitives; + self + } + #[inline] + pub fn max_mesh_output_layers(mut self, max_mesh_output_layers: u32) -> Self { + self.inner.max_mesh_output_layers = max_mesh_output_layers; + self + } + #[inline] + pub fn max_mesh_multiview_view_count(mut self, max_mesh_multiview_view_count: u32) -> Self { + self.inner.max_mesh_multiview_view_count = max_mesh_multiview_view_count; + self + } + #[inline] + pub fn mesh_output_per_vertex_granularity( + mut self, + mesh_output_per_vertex_granularity: u32, + ) -> Self { + self.inner.mesh_output_per_vertex_granularity = mesh_output_per_vertex_granularity; + self + } + #[inline] + pub fn mesh_output_per_primitive_granularity( + mut self, + mesh_output_per_primitive_granularity: u32, + ) -> Self { + self.inner.mesh_output_per_primitive_granularity = mesh_output_per_primitive_granularity; + self + } + #[inline] + pub fn max_preferred_task_work_group_invocations( + mut self, + max_preferred_task_work_group_invocations: u32, + ) -> Self { + self.inner.max_preferred_task_work_group_invocations = + max_preferred_task_work_group_invocations; + self + } + #[inline] + pub fn max_preferred_mesh_work_group_invocations( + mut self, + max_preferred_mesh_work_group_invocations: u32, + ) -> Self { + self.inner.max_preferred_mesh_work_group_invocations = + max_preferred_mesh_work_group_invocations; + self + } + #[inline] + pub fn prefers_local_invocation_vertex_output( + mut self, + prefers_local_invocation_vertex_output: bool, + ) -> Self { + self.inner.prefers_local_invocation_vertex_output = + prefers_local_invocation_vertex_output.into(); + self + } + #[inline] + pub fn prefers_local_invocation_primitive_output( + mut self, + prefers_local_invocation_primitive_output: bool, + ) -> Self { + self.inner.prefers_local_invocation_primitive_output = + prefers_local_invocation_primitive_output.into(); + self + } + #[inline] + pub fn prefers_compact_vertex_output(mut self, prefers_compact_vertex_output: bool) -> Self { + self.inner.prefers_compact_vertex_output = prefers_compact_vertex_output.into(); + self + } + #[inline] + pub fn prefers_compact_primitive_output( + mut self, + prefers_compact_primitive_output: bool, + ) -> Self { + self.inner.prefers_compact_primitive_output = prefers_compact_primitive_output.into(); + self + } + #[doc = r" Calling build will **discard** all the lifetime information. Only call this if"] + #[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"] + #[doc = r" so references to builders can be passed directly to Vulkan functions."] + pub fn build(self) -> PhysicalDeviceMeshShaderPropertiesEXT { + self.inner + } +} +#[repr(C)] +#[cfg_attr(feature = "debug", derive(Debug))] +#[derive(Copy, Clone, Default)] +#[doc = ""] +pub struct DrawMeshTasksIndirectCommandEXT { + pub group_count_x: u32, + pub group_count_y: u32, + pub group_count_z: u32, +} +impl DrawMeshTasksIndirectCommandEXT { + pub fn builder<'a>() -> DrawMeshTasksIndirectCommandEXTBuilder<'a> { + DrawMeshTasksIndirectCommandEXTBuilder { + inner: Self::default(), + marker: ::std::marker::PhantomData, + } + } +} +#[repr(transparent)] +pub struct DrawMeshTasksIndirectCommandEXTBuilder<'a> { + inner: DrawMeshTasksIndirectCommandEXT, + marker: ::std::marker::PhantomData<&'a ()>, +} +impl<'a> ::std::ops::Deref for DrawMeshTasksIndirectCommandEXTBuilder<'a> { + type Target = DrawMeshTasksIndirectCommandEXT; + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> ::std::ops::DerefMut for DrawMeshTasksIndirectCommandEXTBuilder<'a> { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +impl<'a> DrawMeshTasksIndirectCommandEXTBuilder<'a> { + #[inline] + pub fn group_count_x(mut self, group_count_x: u32) -> Self { + self.inner.group_count_x = group_count_x; + self + } + #[inline] + pub fn group_count_y(mut self, group_count_y: u32) -> Self { + self.inner.group_count_y = group_count_y; + self + } + #[inline] + pub fn group_count_z(mut self, group_count_z: u32) -> Self { + self.inner.group_count_z = group_count_z; + self + } + #[doc = r" Calling build will **discard** all the lifetime information. Only call this if"] + #[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"] + #[doc = r" so references to builders can be passed directly to Vulkan functions."] + pub fn build(self) -> DrawMeshTasksIndirectCommandEXT { + self.inner + } +} +#[repr(C)] +#[cfg_attr(feature = "debug", derive(Debug))] +#[derive(Copy, Clone)] #[doc = ""] pub struct RayTracingShaderGroupCreateInfoNV { pub s_type: StructureType, @@ -51554,13 +52017,13 @@ impl<'a> PhysicalDeviceImage2DViewOf3DFeaturesEXTBuilder<'a> { #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] -#[doc = ""] -pub struct PhysicalDeviceMutableDescriptorTypeFeaturesVALVE { +#[doc = ""] +pub struct PhysicalDeviceMutableDescriptorTypeFeaturesEXT { pub s_type: StructureType, pub p_next: *mut c_void, pub mutable_descriptor_type: Bool32, } -impl ::std::default::Default for PhysicalDeviceMutableDescriptorTypeFeaturesVALVE { +impl ::std::default::Default for PhysicalDeviceMutableDescriptorTypeFeaturesEXT { #[inline] fn default() -> Self { Self { @@ -51570,45 +52033,42 @@ impl ::std::default::Default for PhysicalDeviceMutableDescriptorTypeFeaturesVALV } } } -unsafe impl TaggedStructure for PhysicalDeviceMutableDescriptorTypeFeaturesVALVE { +unsafe impl TaggedStructure for PhysicalDeviceMutableDescriptorTypeFeaturesEXT { const STRUCTURE_TYPE: StructureType = - StructureType::PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE; + StructureType::PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT; } -impl PhysicalDeviceMutableDescriptorTypeFeaturesVALVE { - pub fn builder<'a>() -> PhysicalDeviceMutableDescriptorTypeFeaturesVALVEBuilder<'a> { - PhysicalDeviceMutableDescriptorTypeFeaturesVALVEBuilder { +impl PhysicalDeviceMutableDescriptorTypeFeaturesEXT { + pub fn builder<'a>() -> PhysicalDeviceMutableDescriptorTypeFeaturesEXTBuilder<'a> { + PhysicalDeviceMutableDescriptorTypeFeaturesEXTBuilder { inner: Self::default(), marker: ::std::marker::PhantomData, } } } #[repr(transparent)] -pub struct PhysicalDeviceMutableDescriptorTypeFeaturesVALVEBuilder<'a> { - inner: PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, +pub struct PhysicalDeviceMutableDescriptorTypeFeaturesEXTBuilder<'a> { + inner: PhysicalDeviceMutableDescriptorTypeFeaturesEXT, marker: ::std::marker::PhantomData<&'a ()>, } unsafe impl ExtendsPhysicalDeviceFeatures2 - for PhysicalDeviceMutableDescriptorTypeFeaturesVALVEBuilder<'_> + for PhysicalDeviceMutableDescriptorTypeFeaturesEXTBuilder<'_> { } -unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceMutableDescriptorTypeFeaturesVALVE {} -unsafe impl ExtendsDeviceCreateInfo - for PhysicalDeviceMutableDescriptorTypeFeaturesVALVEBuilder<'_> -{ -} -unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceMutableDescriptorTypeFeaturesVALVE {} -impl<'a> ::std::ops::Deref for PhysicalDeviceMutableDescriptorTypeFeaturesVALVEBuilder<'a> { - type Target = PhysicalDeviceMutableDescriptorTypeFeaturesVALVE; +unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceMutableDescriptorTypeFeaturesEXT {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceMutableDescriptorTypeFeaturesEXTBuilder<'_> {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceMutableDescriptorTypeFeaturesEXT {} +impl<'a> ::std::ops::Deref for PhysicalDeviceMutableDescriptorTypeFeaturesEXTBuilder<'a> { + type Target = PhysicalDeviceMutableDescriptorTypeFeaturesEXT; fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> ::std::ops::DerefMut for PhysicalDeviceMutableDescriptorTypeFeaturesVALVEBuilder<'a> { +impl<'a> ::std::ops::DerefMut for PhysicalDeviceMutableDescriptorTypeFeaturesEXTBuilder<'a> { fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -impl<'a> PhysicalDeviceMutableDescriptorTypeFeaturesVALVEBuilder<'a> { +impl<'a> PhysicalDeviceMutableDescriptorTypeFeaturesEXTBuilder<'a> { #[inline] pub fn mutable_descriptor_type(mut self, mutable_descriptor_type: bool) -> Self { self.inner.mutable_descriptor_type = mutable_descriptor_type.into(); @@ -51617,19 +52077,19 @@ impl<'a> PhysicalDeviceMutableDescriptorTypeFeaturesVALVEBuilder<'a> { #[doc = r" Calling build will **discard** all the lifetime information. Only call this if"] #[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"] #[doc = r" so references to builders can be passed directly to Vulkan functions."] - pub fn build(self) -> PhysicalDeviceMutableDescriptorTypeFeaturesVALVE { + pub fn build(self) -> PhysicalDeviceMutableDescriptorTypeFeaturesEXT { self.inner } } #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] -#[doc = ""] -pub struct MutableDescriptorTypeListVALVE { +#[doc = ""] +pub struct MutableDescriptorTypeListEXT { pub descriptor_type_count: u32, pub p_descriptor_types: *const DescriptorType, } -impl ::std::default::Default for MutableDescriptorTypeListVALVE { +impl ::std::default::Default for MutableDescriptorTypeListEXT { #[inline] fn default() -> Self { Self { @@ -51638,31 +52098,31 @@ impl ::std::default::Default for MutableDescriptorTypeListVALVE { } } } -impl MutableDescriptorTypeListVALVE { - pub fn builder<'a>() -> MutableDescriptorTypeListVALVEBuilder<'a> { - MutableDescriptorTypeListVALVEBuilder { +impl MutableDescriptorTypeListEXT { + pub fn builder<'a>() -> MutableDescriptorTypeListEXTBuilder<'a> { + MutableDescriptorTypeListEXTBuilder { inner: Self::default(), marker: ::std::marker::PhantomData, } } } #[repr(transparent)] -pub struct MutableDescriptorTypeListVALVEBuilder<'a> { - inner: MutableDescriptorTypeListVALVE, +pub struct MutableDescriptorTypeListEXTBuilder<'a> { + inner: MutableDescriptorTypeListEXT, marker: ::std::marker::PhantomData<&'a ()>, } -impl<'a> ::std::ops::Deref for MutableDescriptorTypeListVALVEBuilder<'a> { - type Target = MutableDescriptorTypeListVALVE; +impl<'a> ::std::ops::Deref for MutableDescriptorTypeListEXTBuilder<'a> { + type Target = MutableDescriptorTypeListEXT; fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> ::std::ops::DerefMut for MutableDescriptorTypeListVALVEBuilder<'a> { +impl<'a> ::std::ops::DerefMut for MutableDescriptorTypeListEXTBuilder<'a> { fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -impl<'a> MutableDescriptorTypeListVALVEBuilder<'a> { +impl<'a> MutableDescriptorTypeListEXTBuilder<'a> { #[inline] pub fn descriptor_types(mut self, descriptor_types: &'a [DescriptorType]) -> Self { self.inner.descriptor_type_count = descriptor_types.len() as _; @@ -51672,21 +52132,21 @@ impl<'a> MutableDescriptorTypeListVALVEBuilder<'a> { #[doc = r" Calling build will **discard** all the lifetime information. Only call this if"] #[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"] #[doc = r" so references to builders can be passed directly to Vulkan functions."] - pub fn build(self) -> MutableDescriptorTypeListVALVE { + pub fn build(self) -> MutableDescriptorTypeListEXT { self.inner } } #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] -#[doc = ""] -pub struct MutableDescriptorTypeCreateInfoVALVE { +#[doc = ""] +pub struct MutableDescriptorTypeCreateInfoEXT { pub s_type: StructureType, pub p_next: *const c_void, pub mutable_descriptor_type_list_count: u32, - pub p_mutable_descriptor_type_lists: *const MutableDescriptorTypeListVALVE, + pub p_mutable_descriptor_type_lists: *const MutableDescriptorTypeListEXT, } -impl ::std::default::Default for MutableDescriptorTypeCreateInfoVALVE { +impl ::std::default::Default for MutableDescriptorTypeCreateInfoEXT { #[inline] fn default() -> Self { Self { @@ -51697,45 +52157,42 @@ impl ::std::default::Default for MutableDescriptorTypeCreateInfoVALVE { } } } -unsafe impl TaggedStructure for MutableDescriptorTypeCreateInfoVALVE { - const STRUCTURE_TYPE: StructureType = StructureType::MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE; +unsafe impl TaggedStructure for MutableDescriptorTypeCreateInfoEXT { + const STRUCTURE_TYPE: StructureType = StructureType::MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT; } -impl MutableDescriptorTypeCreateInfoVALVE { - pub fn builder<'a>() -> MutableDescriptorTypeCreateInfoVALVEBuilder<'a> { - MutableDescriptorTypeCreateInfoVALVEBuilder { +impl MutableDescriptorTypeCreateInfoEXT { + pub fn builder<'a>() -> MutableDescriptorTypeCreateInfoEXTBuilder<'a> { + MutableDescriptorTypeCreateInfoEXTBuilder { inner: Self::default(), marker: ::std::marker::PhantomData, } } } #[repr(transparent)] -pub struct MutableDescriptorTypeCreateInfoVALVEBuilder<'a> { - inner: MutableDescriptorTypeCreateInfoVALVE, +pub struct MutableDescriptorTypeCreateInfoEXTBuilder<'a> { + inner: MutableDescriptorTypeCreateInfoEXT, marker: ::std::marker::PhantomData<&'a ()>, } -unsafe impl ExtendsDescriptorSetLayoutCreateInfo - for MutableDescriptorTypeCreateInfoVALVEBuilder<'_> -{ -} -unsafe impl ExtendsDescriptorSetLayoutCreateInfo for MutableDescriptorTypeCreateInfoVALVE {} -unsafe impl ExtendsDescriptorPoolCreateInfo for MutableDescriptorTypeCreateInfoVALVEBuilder<'_> {} -unsafe impl ExtendsDescriptorPoolCreateInfo for MutableDescriptorTypeCreateInfoVALVE {} -impl<'a> ::std::ops::Deref for MutableDescriptorTypeCreateInfoVALVEBuilder<'a> { - type Target = MutableDescriptorTypeCreateInfoVALVE; +unsafe impl ExtendsDescriptorSetLayoutCreateInfo for MutableDescriptorTypeCreateInfoEXTBuilder<'_> {} +unsafe impl ExtendsDescriptorSetLayoutCreateInfo for MutableDescriptorTypeCreateInfoEXT {} +unsafe impl ExtendsDescriptorPoolCreateInfo for MutableDescriptorTypeCreateInfoEXTBuilder<'_> {} +unsafe impl ExtendsDescriptorPoolCreateInfo for MutableDescriptorTypeCreateInfoEXT {} +impl<'a> ::std::ops::Deref for MutableDescriptorTypeCreateInfoEXTBuilder<'a> { + type Target = MutableDescriptorTypeCreateInfoEXT; fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> ::std::ops::DerefMut for MutableDescriptorTypeCreateInfoVALVEBuilder<'a> { +impl<'a> ::std::ops::DerefMut for MutableDescriptorTypeCreateInfoEXTBuilder<'a> { fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -impl<'a> MutableDescriptorTypeCreateInfoVALVEBuilder<'a> { +impl<'a> MutableDescriptorTypeCreateInfoEXTBuilder<'a> { #[inline] pub fn mutable_descriptor_type_lists( mut self, - mutable_descriptor_type_lists: &'a [MutableDescriptorTypeListVALVE], + mutable_descriptor_type_lists: &'a [MutableDescriptorTypeListEXT], ) -> Self { self.inner.mutable_descriptor_type_list_count = mutable_descriptor_type_lists.len() as _; self.inner.p_mutable_descriptor_type_lists = mutable_descriptor_type_lists.as_ptr(); @@ -51744,7 +52201,7 @@ impl<'a> MutableDescriptorTypeCreateInfoVALVEBuilder<'a> { #[doc = r" Calling build will **discard** all the lifetime information. Only call this if"] #[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"] #[doc = r" so references to builders can be passed directly to Vulkan functions."] - pub fn build(self) -> MutableDescriptorTypeCreateInfoVALVE { + pub fn build(self) -> MutableDescriptorTypeCreateInfoEXT { self.inner } } @@ -53288,6 +53745,70 @@ impl<'a> PhysicalDevicePrimitivesGeneratedQueryFeaturesEXTBuilder<'a> { #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] +#[doc = ""] +pub struct PhysicalDeviceLegacyDitheringFeaturesEXT { + pub s_type: StructureType, + pub p_next: *mut c_void, + pub legacy_dithering: Bool32, +} +impl ::std::default::Default for PhysicalDeviceLegacyDitheringFeaturesEXT { + #[inline] + fn default() -> Self { + Self { + s_type: Self::STRUCTURE_TYPE, + p_next: ::std::ptr::null_mut(), + legacy_dithering: Bool32::default(), + } + } +} +unsafe impl TaggedStructure for PhysicalDeviceLegacyDitheringFeaturesEXT { + const STRUCTURE_TYPE: StructureType = + StructureType::PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT; +} +impl PhysicalDeviceLegacyDitheringFeaturesEXT { + pub fn builder<'a>() -> PhysicalDeviceLegacyDitheringFeaturesEXTBuilder<'a> { + PhysicalDeviceLegacyDitheringFeaturesEXTBuilder { + inner: Self::default(), + marker: ::std::marker::PhantomData, + } + } +} +#[repr(transparent)] +pub struct PhysicalDeviceLegacyDitheringFeaturesEXTBuilder<'a> { + inner: PhysicalDeviceLegacyDitheringFeaturesEXT, + marker: ::std::marker::PhantomData<&'a ()>, +} +unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceLegacyDitheringFeaturesEXTBuilder<'_> {} +unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceLegacyDitheringFeaturesEXT {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceLegacyDitheringFeaturesEXTBuilder<'_> {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceLegacyDitheringFeaturesEXT {} +impl<'a> ::std::ops::Deref for PhysicalDeviceLegacyDitheringFeaturesEXTBuilder<'a> { + type Target = PhysicalDeviceLegacyDitheringFeaturesEXT; + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> ::std::ops::DerefMut for PhysicalDeviceLegacyDitheringFeaturesEXTBuilder<'a> { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +impl<'a> PhysicalDeviceLegacyDitheringFeaturesEXTBuilder<'a> { + #[inline] + pub fn legacy_dithering(mut self, legacy_dithering: bool) -> Self { + self.inner.legacy_dithering = legacy_dithering.into(); + self + } + #[doc = r" Calling build will **discard** all the lifetime information. Only call this if"] + #[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"] + #[doc = r" so references to builders can be passed directly to Vulkan functions."] + pub fn build(self) -> PhysicalDeviceLegacyDitheringFeaturesEXT { + self.inner + } +} +#[repr(C)] +#[cfg_attr(feature = "debug", derive(Debug))] +#[derive(Copy, Clone)] #[doc = ""] pub struct PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT { pub s_type: StructureType, @@ -53505,13 +54026,13 @@ impl<'a> MultisampledRenderToSingleSampledInfoEXTBuilder<'a> { #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] -#[doc = ""] -pub struct VideoQueueFamilyProperties2KHR { +#[doc = ""] +pub struct QueueFamilyVideoPropertiesKHR { pub s_type: StructureType, pub p_next: *mut c_void, pub video_codec_operations: VideoCodecOperationFlagsKHR, } -impl ::std::default::Default for VideoQueueFamilyProperties2KHR { +impl ::std::default::Default for QueueFamilyVideoPropertiesKHR { #[inline] fn default() -> Self { Self { @@ -53521,36 +54042,36 @@ impl ::std::default::Default for VideoQueueFamilyProperties2KHR { } } } -unsafe impl TaggedStructure for VideoQueueFamilyProperties2KHR { - const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR; +unsafe impl TaggedStructure for QueueFamilyVideoPropertiesKHR { + const STRUCTURE_TYPE: StructureType = StructureType::QUEUE_FAMILY_VIDEO_PROPERTIES_KHR; } -impl VideoQueueFamilyProperties2KHR { - pub fn builder<'a>() -> VideoQueueFamilyProperties2KHRBuilder<'a> { - VideoQueueFamilyProperties2KHRBuilder { +impl QueueFamilyVideoPropertiesKHR { + pub fn builder<'a>() -> QueueFamilyVideoPropertiesKHRBuilder<'a> { + QueueFamilyVideoPropertiesKHRBuilder { inner: Self::default(), marker: ::std::marker::PhantomData, } } } #[repr(transparent)] -pub struct VideoQueueFamilyProperties2KHRBuilder<'a> { - inner: VideoQueueFamilyProperties2KHR, +pub struct QueueFamilyVideoPropertiesKHRBuilder<'a> { + inner: QueueFamilyVideoPropertiesKHR, marker: ::std::marker::PhantomData<&'a ()>, } -unsafe impl ExtendsQueueFamilyProperties2 for VideoQueueFamilyProperties2KHRBuilder<'_> {} -unsafe impl ExtendsQueueFamilyProperties2 for VideoQueueFamilyProperties2KHR {} -impl<'a> ::std::ops::Deref for VideoQueueFamilyProperties2KHRBuilder<'a> { - type Target = VideoQueueFamilyProperties2KHR; +unsafe impl ExtendsQueueFamilyProperties2 for QueueFamilyVideoPropertiesKHRBuilder<'_> {} +unsafe impl ExtendsQueueFamilyProperties2 for QueueFamilyVideoPropertiesKHR {} +impl<'a> ::std::ops::Deref for QueueFamilyVideoPropertiesKHRBuilder<'a> { + type Target = QueueFamilyVideoPropertiesKHR; fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> ::std::ops::DerefMut for VideoQueueFamilyProperties2KHRBuilder<'a> { +impl<'a> ::std::ops::DerefMut for QueueFamilyVideoPropertiesKHRBuilder<'a> { fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -impl<'a> VideoQueueFamilyProperties2KHRBuilder<'a> { +impl<'a> QueueFamilyVideoPropertiesKHRBuilder<'a> { #[inline] pub fn video_codec_operations( mut self, @@ -53562,20 +54083,20 @@ impl<'a> VideoQueueFamilyProperties2KHRBuilder<'a> { #[doc = r" Calling build will **discard** all the lifetime information. Only call this if"] #[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"] #[doc = r" so references to builders can be passed directly to Vulkan functions."] - pub fn build(self) -> VideoQueueFamilyProperties2KHR { + pub fn build(self) -> QueueFamilyVideoPropertiesKHR { self.inner } } #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] -#[doc = ""] -pub struct QueueFamilyQueryResultStatusProperties2KHR { +#[doc = ""] +pub struct QueueFamilyQueryResultStatusPropertiesKHR { pub s_type: StructureType, pub p_next: *mut c_void, pub query_result_status_support: Bool32, } -impl ::std::default::Default for QueueFamilyQueryResultStatusProperties2KHR { +impl ::std::default::Default for QueueFamilyQueryResultStatusPropertiesKHR { #[inline] fn default() -> Self { Self { @@ -53585,40 +54106,37 @@ impl ::std::default::Default for QueueFamilyQueryResultStatusProperties2KHR { } } } -unsafe impl TaggedStructure for QueueFamilyQueryResultStatusProperties2KHR { +unsafe impl TaggedStructure for QueueFamilyQueryResultStatusPropertiesKHR { const STRUCTURE_TYPE: StructureType = - StructureType::QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_2_KHR; + StructureType::QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR; } -impl QueueFamilyQueryResultStatusProperties2KHR { - pub fn builder<'a>() -> QueueFamilyQueryResultStatusProperties2KHRBuilder<'a> { - QueueFamilyQueryResultStatusProperties2KHRBuilder { +impl QueueFamilyQueryResultStatusPropertiesKHR { + pub fn builder<'a>() -> QueueFamilyQueryResultStatusPropertiesKHRBuilder<'a> { + QueueFamilyQueryResultStatusPropertiesKHRBuilder { inner: Self::default(), marker: ::std::marker::PhantomData, } } } #[repr(transparent)] -pub struct QueueFamilyQueryResultStatusProperties2KHRBuilder<'a> { - inner: QueueFamilyQueryResultStatusProperties2KHR, +pub struct QueueFamilyQueryResultStatusPropertiesKHRBuilder<'a> { + inner: QueueFamilyQueryResultStatusPropertiesKHR, marker: ::std::marker::PhantomData<&'a ()>, } -unsafe impl ExtendsQueueFamilyProperties2 - for QueueFamilyQueryResultStatusProperties2KHRBuilder<'_> -{ -} -unsafe impl ExtendsQueueFamilyProperties2 for QueueFamilyQueryResultStatusProperties2KHR {} -impl<'a> ::std::ops::Deref for QueueFamilyQueryResultStatusProperties2KHRBuilder<'a> { - type Target = QueueFamilyQueryResultStatusProperties2KHR; +unsafe impl ExtendsQueueFamilyProperties2 for QueueFamilyQueryResultStatusPropertiesKHRBuilder<'_> {} +unsafe impl ExtendsQueueFamilyProperties2 for QueueFamilyQueryResultStatusPropertiesKHR {} +impl<'a> ::std::ops::Deref for QueueFamilyQueryResultStatusPropertiesKHRBuilder<'a> { + type Target = QueueFamilyQueryResultStatusPropertiesKHR; fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> ::std::ops::DerefMut for QueueFamilyQueryResultStatusProperties2KHRBuilder<'a> { +impl<'a> ::std::ops::DerefMut for QueueFamilyQueryResultStatusPropertiesKHRBuilder<'a> { fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -impl<'a> QueueFamilyQueryResultStatusProperties2KHRBuilder<'a> { +impl<'a> QueueFamilyQueryResultStatusPropertiesKHRBuilder<'a> { #[inline] pub fn query_result_status_support(mut self, query_result_status_support: bool) -> Self { self.inner.query_result_status_support = query_result_status_support.into(); @@ -53627,21 +54145,21 @@ impl<'a> QueueFamilyQueryResultStatusProperties2KHRBuilder<'a> { #[doc = r" Calling build will **discard** all the lifetime information. Only call this if"] #[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"] #[doc = r" so references to builders can be passed directly to Vulkan functions."] - pub fn build(self) -> QueueFamilyQueryResultStatusProperties2KHR { + pub fn build(self) -> QueueFamilyQueryResultStatusPropertiesKHR { self.inner } } #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] -#[doc = ""] -pub struct VideoProfilesKHR { +#[doc = ""] +pub struct VideoProfileListInfoKHR { pub s_type: StructureType, pub p_next: *const c_void, pub profile_count: u32, - pub p_profiles: *const VideoProfileKHR, + pub p_profiles: *const VideoProfileInfoKHR, } -impl ::std::default::Default for VideoProfilesKHR { +impl ::std::default::Default for VideoProfileListInfoKHR { #[inline] fn default() -> Self { Self { @@ -53652,44 +54170,44 @@ impl ::std::default::Default for VideoProfilesKHR { } } } -unsafe impl TaggedStructure for VideoProfilesKHR { - const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_PROFILES_KHR; +unsafe impl TaggedStructure for VideoProfileListInfoKHR { + const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_PROFILE_LIST_INFO_KHR; } -impl VideoProfilesKHR { - pub fn builder<'a>() -> VideoProfilesKHRBuilder<'a> { - VideoProfilesKHRBuilder { +impl VideoProfileListInfoKHR { + pub fn builder<'a>() -> VideoProfileListInfoKHRBuilder<'a> { + VideoProfileListInfoKHRBuilder { inner: Self::default(), marker: ::std::marker::PhantomData, } } } #[repr(transparent)] -pub struct VideoProfilesKHRBuilder<'a> { - inner: VideoProfilesKHR, +pub struct VideoProfileListInfoKHRBuilder<'a> { + inner: VideoProfileListInfoKHR, marker: ::std::marker::PhantomData<&'a ()>, } -unsafe impl ExtendsPhysicalDeviceImageFormatInfo2 for VideoProfilesKHRBuilder<'_> {} -unsafe impl ExtendsPhysicalDeviceImageFormatInfo2 for VideoProfilesKHR {} -unsafe impl ExtendsPhysicalDeviceVideoFormatInfoKHR for VideoProfilesKHRBuilder<'_> {} -unsafe impl ExtendsPhysicalDeviceVideoFormatInfoKHR for VideoProfilesKHR {} -unsafe impl ExtendsImageCreateInfo for VideoProfilesKHRBuilder<'_> {} -unsafe impl ExtendsImageCreateInfo for VideoProfilesKHR {} -unsafe impl ExtendsBufferCreateInfo for VideoProfilesKHRBuilder<'_> {} -unsafe impl ExtendsBufferCreateInfo for VideoProfilesKHR {} -impl<'a> ::std::ops::Deref for VideoProfilesKHRBuilder<'a> { - type Target = VideoProfilesKHR; +unsafe impl ExtendsPhysicalDeviceImageFormatInfo2 for VideoProfileListInfoKHRBuilder<'_> {} +unsafe impl ExtendsPhysicalDeviceImageFormatInfo2 for VideoProfileListInfoKHR {} +unsafe impl ExtendsPhysicalDeviceVideoFormatInfoKHR for VideoProfileListInfoKHRBuilder<'_> {} +unsafe impl ExtendsPhysicalDeviceVideoFormatInfoKHR for VideoProfileListInfoKHR {} +unsafe impl ExtendsImageCreateInfo for VideoProfileListInfoKHRBuilder<'_> {} +unsafe impl ExtendsImageCreateInfo for VideoProfileListInfoKHR {} +unsafe impl ExtendsBufferCreateInfo for VideoProfileListInfoKHRBuilder<'_> {} +unsafe impl ExtendsBufferCreateInfo for VideoProfileListInfoKHR {} +impl<'a> ::std::ops::Deref for VideoProfileListInfoKHRBuilder<'a> { + type Target = VideoProfileListInfoKHR; fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> ::std::ops::DerefMut for VideoProfilesKHRBuilder<'a> { +impl<'a> ::std::ops::DerefMut for VideoProfileListInfoKHRBuilder<'a> { fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -impl<'a> VideoProfilesKHRBuilder<'a> { +impl<'a> VideoProfileListInfoKHRBuilder<'a> { #[inline] - pub fn profiles(mut self, profiles: &'a [VideoProfileKHR]) -> Self { + pub fn profiles(mut self, profiles: &'a [VideoProfileInfoKHR]) -> Self { self.inner.profile_count = profiles.len() as _; self.inner.p_profiles = profiles.as_ptr(); self @@ -53697,7 +54215,7 @@ impl<'a> VideoProfilesKHRBuilder<'a> { #[doc = r" Calling build will **discard** all the lifetime information. Only call this if"] #[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"] #[doc = r" so references to builders can be passed directly to Vulkan functions."] - pub fn build(self) -> VideoProfilesKHR { + pub fn build(self) -> VideoProfileListInfoKHR { self.inner } } @@ -53707,7 +54225,7 @@ impl<'a> VideoProfilesKHRBuilder<'a> { #[doc = ""] pub struct PhysicalDeviceVideoFormatInfoKHR { pub s_type: StructureType, - pub p_next: *mut c_void, + pub p_next: *const c_void, pub image_usage: ImageUsageFlags, } impl ::std::default::Default for PhysicalDeviceVideoFormatInfoKHR { @@ -53715,7 +54233,7 @@ impl ::std::default::Default for PhysicalDeviceVideoFormatInfoKHR { fn default() -> Self { Self { s_type: Self::STRUCTURE_TYPE, - p_next: ::std::ptr::null_mut(), + p_next: ::std::ptr::null(), image_usage: ImageUsageFlags::default(), } } @@ -53764,7 +54282,7 @@ impl<'a> PhysicalDeviceVideoFormatInfoKHRBuilder<'a> { next: &'a mut T, ) -> Self { unsafe { - let next_ptr = <*mut T>::cast(next); + let next_ptr = <*const T>::cast(next); let last_next = ptr_chain_iter(next).last().unwrap(); (*last_next).p_next = self.inner.p_next as _; self.inner.p_next = next_ptr; @@ -53875,8 +54393,8 @@ impl<'a> VideoFormatPropertiesKHRBuilder<'a> { #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] -#[doc = ""] -pub struct VideoProfileKHR { +#[doc = ""] +pub struct VideoProfileInfoKHR { pub s_type: StructureType, pub p_next: *const c_void, pub video_codec_operation: VideoCodecOperationFlagsKHR, @@ -53884,7 +54402,7 @@ pub struct VideoProfileKHR { pub luma_bit_depth: VideoComponentBitDepthFlagsKHR, pub chroma_bit_depth: VideoComponentBitDepthFlagsKHR, } -impl ::std::default::Default for VideoProfileKHR { +impl ::std::default::Default for VideoProfileInfoKHR { #[inline] fn default() -> Self { Self { @@ -53897,37 +54415,37 @@ impl ::std::default::Default for VideoProfileKHR { } } } -unsafe impl TaggedStructure for VideoProfileKHR { - const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_PROFILE_KHR; +unsafe impl TaggedStructure for VideoProfileInfoKHR { + const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_PROFILE_INFO_KHR; } -impl VideoProfileKHR { - pub fn builder<'a>() -> VideoProfileKHRBuilder<'a> { - VideoProfileKHRBuilder { +impl VideoProfileInfoKHR { + pub fn builder<'a>() -> VideoProfileInfoKHRBuilder<'a> { + VideoProfileInfoKHRBuilder { inner: Self::default(), marker: ::std::marker::PhantomData, } } } #[repr(transparent)] -pub struct VideoProfileKHRBuilder<'a> { - inner: VideoProfileKHR, +pub struct VideoProfileInfoKHRBuilder<'a> { + inner: VideoProfileInfoKHR, marker: ::std::marker::PhantomData<&'a ()>, } -unsafe impl ExtendsQueryPoolCreateInfo for VideoProfileKHRBuilder<'_> {} -unsafe impl ExtendsQueryPoolCreateInfo for VideoProfileKHR {} -pub unsafe trait ExtendsVideoProfileKHR {} -impl<'a> ::std::ops::Deref for VideoProfileKHRBuilder<'a> { - type Target = VideoProfileKHR; +unsafe impl ExtendsQueryPoolCreateInfo for VideoProfileInfoKHRBuilder<'_> {} +unsafe impl ExtendsQueryPoolCreateInfo for VideoProfileInfoKHR {} +pub unsafe trait ExtendsVideoProfileInfoKHR {} +impl<'a> ::std::ops::Deref for VideoProfileInfoKHRBuilder<'a> { + type Target = VideoProfileInfoKHR; fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> ::std::ops::DerefMut for VideoProfileKHRBuilder<'a> { +impl<'a> ::std::ops::DerefMut for VideoProfileInfoKHRBuilder<'a> { fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -impl<'a> VideoProfileKHRBuilder<'a> { +impl<'a> VideoProfileInfoKHRBuilder<'a> { #[inline] pub fn video_codec_operation( mut self, @@ -53959,7 +54477,7 @@ impl<'a> VideoProfileKHRBuilder<'a> { #[doc = r" valid extension structs can be pushed into the chain."] #[doc = r" If the chain looks like `A -> B -> C`, and you call `builder.push_next(&mut D)`, then the"] #[doc = r" chain will look like `A -> D -> B -> C`."] - pub fn push_next(mut self, next: &'a mut T) -> Self { + pub fn push_next(mut self, next: &'a mut T) -> Self { unsafe { let next_ptr = <*const T>::cast(next); let last_next = ptr_chain_iter(next).last().unwrap(); @@ -53971,7 +54489,7 @@ impl<'a> VideoProfileKHRBuilder<'a> { #[doc = r" Calling build will **discard** all the lifetime information. Only call this if"] #[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"] #[doc = r" so references to builders can be passed directly to Vulkan functions."] - pub fn build(self) -> VideoProfileKHR { + pub fn build(self) -> VideoProfileInfoKHR { self.inner } } @@ -54123,74 +54641,74 @@ impl<'a> VideoCapabilitiesKHRBuilder<'a> { #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] -#[doc = ""] -pub struct VideoGetMemoryPropertiesKHR { +#[doc = ""] +pub struct VideoSessionMemoryRequirementsKHR { pub s_type: StructureType, - pub p_next: *const c_void, + pub p_next: *mut c_void, pub memory_bind_index: u32, - pub p_memory_requirements: *mut MemoryRequirements2, + pub memory_requirements: MemoryRequirements, } -impl ::std::default::Default for VideoGetMemoryPropertiesKHR { +impl ::std::default::Default for VideoSessionMemoryRequirementsKHR { #[inline] fn default() -> Self { Self { s_type: Self::STRUCTURE_TYPE, - p_next: ::std::ptr::null(), + p_next: ::std::ptr::null_mut(), memory_bind_index: u32::default(), - p_memory_requirements: ::std::ptr::null_mut(), + memory_requirements: MemoryRequirements::default(), } } } -unsafe impl TaggedStructure for VideoGetMemoryPropertiesKHR { - const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_GET_MEMORY_PROPERTIES_KHR; +unsafe impl TaggedStructure for VideoSessionMemoryRequirementsKHR { + const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_SESSION_MEMORY_REQUIREMENTS_KHR; } -impl VideoGetMemoryPropertiesKHR { - pub fn builder<'a>() -> VideoGetMemoryPropertiesKHRBuilder<'a> { - VideoGetMemoryPropertiesKHRBuilder { +impl VideoSessionMemoryRequirementsKHR { + pub fn builder<'a>() -> VideoSessionMemoryRequirementsKHRBuilder<'a> { + VideoSessionMemoryRequirementsKHRBuilder { inner: Self::default(), marker: ::std::marker::PhantomData, } } } #[repr(transparent)] -pub struct VideoGetMemoryPropertiesKHRBuilder<'a> { - inner: VideoGetMemoryPropertiesKHR, +pub struct VideoSessionMemoryRequirementsKHRBuilder<'a> { + inner: VideoSessionMemoryRequirementsKHR, marker: ::std::marker::PhantomData<&'a ()>, } -impl<'a> ::std::ops::Deref for VideoGetMemoryPropertiesKHRBuilder<'a> { - type Target = VideoGetMemoryPropertiesKHR; +impl<'a> ::std::ops::Deref for VideoSessionMemoryRequirementsKHRBuilder<'a> { + type Target = VideoSessionMemoryRequirementsKHR; fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> ::std::ops::DerefMut for VideoGetMemoryPropertiesKHRBuilder<'a> { +impl<'a> ::std::ops::DerefMut for VideoSessionMemoryRequirementsKHRBuilder<'a> { fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -impl<'a> VideoGetMemoryPropertiesKHRBuilder<'a> { +impl<'a> VideoSessionMemoryRequirementsKHRBuilder<'a> { #[inline] pub fn memory_bind_index(mut self, memory_bind_index: u32) -> Self { self.inner.memory_bind_index = memory_bind_index; self } #[inline] - pub fn memory_requirements(mut self, memory_requirements: &'a mut MemoryRequirements2) -> Self { - self.inner.p_memory_requirements = memory_requirements; + pub fn memory_requirements(mut self, memory_requirements: MemoryRequirements) -> Self { + self.inner.memory_requirements = memory_requirements; self } #[doc = r" Calling build will **discard** all the lifetime information. Only call this if"] #[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"] #[doc = r" so references to builders can be passed directly to Vulkan functions."] - pub fn build(self) -> VideoGetMemoryPropertiesKHR { + pub fn build(self) -> VideoSessionMemoryRequirementsKHR { self.inner } } #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] -#[doc = ""] -pub struct VideoBindMemoryKHR { +#[doc = ""] +pub struct BindVideoSessionMemoryInfoKHR { pub s_type: StructureType, pub p_next: *const c_void, pub memory_bind_index: u32, @@ -54198,7 +54716,7 @@ pub struct VideoBindMemoryKHR { pub memory_offset: DeviceSize, pub memory_size: DeviceSize, } -impl ::std::default::Default for VideoBindMemoryKHR { +impl ::std::default::Default for BindVideoSessionMemoryInfoKHR { #[inline] fn default() -> Self { Self { @@ -54211,34 +54729,34 @@ impl ::std::default::Default for VideoBindMemoryKHR { } } } -unsafe impl TaggedStructure for VideoBindMemoryKHR { - const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_BIND_MEMORY_KHR; +unsafe impl TaggedStructure for BindVideoSessionMemoryInfoKHR { + const STRUCTURE_TYPE: StructureType = StructureType::BIND_VIDEO_SESSION_MEMORY_INFO_KHR; } -impl VideoBindMemoryKHR { - pub fn builder<'a>() -> VideoBindMemoryKHRBuilder<'a> { - VideoBindMemoryKHRBuilder { +impl BindVideoSessionMemoryInfoKHR { + pub fn builder<'a>() -> BindVideoSessionMemoryInfoKHRBuilder<'a> { + BindVideoSessionMemoryInfoKHRBuilder { inner: Self::default(), marker: ::std::marker::PhantomData, } } } #[repr(transparent)] -pub struct VideoBindMemoryKHRBuilder<'a> { - inner: VideoBindMemoryKHR, +pub struct BindVideoSessionMemoryInfoKHRBuilder<'a> { + inner: BindVideoSessionMemoryInfoKHR, marker: ::std::marker::PhantomData<&'a ()>, } -impl<'a> ::std::ops::Deref for VideoBindMemoryKHRBuilder<'a> { - type Target = VideoBindMemoryKHR; +impl<'a> ::std::ops::Deref for BindVideoSessionMemoryInfoKHRBuilder<'a> { + type Target = BindVideoSessionMemoryInfoKHR; fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> ::std::ops::DerefMut for VideoBindMemoryKHRBuilder<'a> { +impl<'a> ::std::ops::DerefMut for BindVideoSessionMemoryInfoKHRBuilder<'a> { fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -impl<'a> VideoBindMemoryKHRBuilder<'a> { +impl<'a> BindVideoSessionMemoryInfoKHRBuilder<'a> { #[inline] pub fn memory_bind_index(mut self, memory_bind_index: u32) -> Self { self.inner.memory_bind_index = memory_bind_index; @@ -54262,15 +54780,15 @@ impl<'a> VideoBindMemoryKHRBuilder<'a> { #[doc = r" Calling build will **discard** all the lifetime information. Only call this if"] #[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"] #[doc = r" so references to builders can be passed directly to Vulkan functions."] - pub fn build(self) -> VideoBindMemoryKHR { + pub fn build(self) -> BindVideoSessionMemoryInfoKHR { self.inner } } #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] -#[doc = ""] -pub struct VideoPictureResourceKHR { +#[doc = ""] +pub struct VideoPictureResourceInfoKHR { pub s_type: StructureType, pub p_next: *const c_void, pub coded_offset: Offset2D, @@ -54278,7 +54796,7 @@ pub struct VideoPictureResourceKHR { pub base_array_layer: u32, pub image_view_binding: ImageView, } -impl ::std::default::Default for VideoPictureResourceKHR { +impl ::std::default::Default for VideoPictureResourceInfoKHR { #[inline] fn default() -> Self { Self { @@ -54291,34 +54809,34 @@ impl ::std::default::Default for VideoPictureResourceKHR { } } } -unsafe impl TaggedStructure for VideoPictureResourceKHR { - const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_PICTURE_RESOURCE_KHR; +unsafe impl TaggedStructure for VideoPictureResourceInfoKHR { + const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_PICTURE_RESOURCE_INFO_KHR; } -impl VideoPictureResourceKHR { - pub fn builder<'a>() -> VideoPictureResourceKHRBuilder<'a> { - VideoPictureResourceKHRBuilder { +impl VideoPictureResourceInfoKHR { + pub fn builder<'a>() -> VideoPictureResourceInfoKHRBuilder<'a> { + VideoPictureResourceInfoKHRBuilder { inner: Self::default(), marker: ::std::marker::PhantomData, } } } #[repr(transparent)] -pub struct VideoPictureResourceKHRBuilder<'a> { - inner: VideoPictureResourceKHR, +pub struct VideoPictureResourceInfoKHRBuilder<'a> { + inner: VideoPictureResourceInfoKHR, marker: ::std::marker::PhantomData<&'a ()>, } -impl<'a> ::std::ops::Deref for VideoPictureResourceKHRBuilder<'a> { - type Target = VideoPictureResourceKHR; +impl<'a> ::std::ops::Deref for VideoPictureResourceInfoKHRBuilder<'a> { + type Target = VideoPictureResourceInfoKHR; fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> ::std::ops::DerefMut for VideoPictureResourceKHRBuilder<'a> { +impl<'a> ::std::ops::DerefMut for VideoPictureResourceInfoKHRBuilder<'a> { fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -impl<'a> VideoPictureResourceKHRBuilder<'a> { +impl<'a> VideoPictureResourceInfoKHRBuilder<'a> { #[inline] pub fn coded_offset(mut self, coded_offset: Offset2D) -> Self { self.inner.coded_offset = coded_offset; @@ -54342,21 +54860,21 @@ impl<'a> VideoPictureResourceKHRBuilder<'a> { #[doc = r" Calling build will **discard** all the lifetime information. Only call this if"] #[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"] #[doc = r" so references to builders can be passed directly to Vulkan functions."] - pub fn build(self) -> VideoPictureResourceKHR { + pub fn build(self) -> VideoPictureResourceInfoKHR { self.inner } } #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] -#[doc = ""] -pub struct VideoReferenceSlotKHR { +#[doc = ""] +pub struct VideoReferenceSlotInfoKHR { pub s_type: StructureType, pub p_next: *const c_void, pub slot_index: i8, - pub p_picture_resource: *const VideoPictureResourceKHR, + pub p_picture_resource: *const VideoPictureResourceInfoKHR, } -impl ::std::default::Default for VideoReferenceSlotKHR { +impl ::std::default::Default for VideoReferenceSlotInfoKHR { #[inline] fn default() -> Self { Self { @@ -54367,42 +54885,42 @@ impl ::std::default::Default for VideoReferenceSlotKHR { } } } -unsafe impl TaggedStructure for VideoReferenceSlotKHR { - const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_REFERENCE_SLOT_KHR; +unsafe impl TaggedStructure for VideoReferenceSlotInfoKHR { + const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_REFERENCE_SLOT_INFO_KHR; } -impl VideoReferenceSlotKHR { - pub fn builder<'a>() -> VideoReferenceSlotKHRBuilder<'a> { - VideoReferenceSlotKHRBuilder { +impl VideoReferenceSlotInfoKHR { + pub fn builder<'a>() -> VideoReferenceSlotInfoKHRBuilder<'a> { + VideoReferenceSlotInfoKHRBuilder { inner: Self::default(), marker: ::std::marker::PhantomData, } } } #[repr(transparent)] -pub struct VideoReferenceSlotKHRBuilder<'a> { - inner: VideoReferenceSlotKHR, +pub struct VideoReferenceSlotInfoKHRBuilder<'a> { + inner: VideoReferenceSlotInfoKHR, marker: ::std::marker::PhantomData<&'a ()>, } -pub unsafe trait ExtendsVideoReferenceSlotKHR {} -impl<'a> ::std::ops::Deref for VideoReferenceSlotKHRBuilder<'a> { - type Target = VideoReferenceSlotKHR; +pub unsafe trait ExtendsVideoReferenceSlotInfoKHR {} +impl<'a> ::std::ops::Deref for VideoReferenceSlotInfoKHRBuilder<'a> { + type Target = VideoReferenceSlotInfoKHR; fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> ::std::ops::DerefMut for VideoReferenceSlotKHRBuilder<'a> { +impl<'a> ::std::ops::DerefMut for VideoReferenceSlotInfoKHRBuilder<'a> { fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -impl<'a> VideoReferenceSlotKHRBuilder<'a> { +impl<'a> VideoReferenceSlotInfoKHRBuilder<'a> { #[inline] pub fn slot_index(mut self, slot_index: i8) -> Self { self.inner.slot_index = slot_index; self } #[inline] - pub fn picture_resource(mut self, picture_resource: &'a VideoPictureResourceKHR) -> Self { + pub fn picture_resource(mut self, picture_resource: &'a VideoPictureResourceInfoKHR) -> Self { self.inner.p_picture_resource = picture_resource; self } @@ -54411,7 +54929,7 @@ impl<'a> VideoReferenceSlotKHRBuilder<'a> { #[doc = r" valid extension structs can be pushed into the chain."] #[doc = r" If the chain looks like `A -> B -> C`, and you call `builder.push_next(&mut D)`, then the"] #[doc = r" chain will look like `A -> D -> B -> C`."] - pub fn push_next(mut self, next: &'a mut T) -> Self { + pub fn push_next(mut self, next: &'a mut T) -> Self { unsafe { let next_ptr = <*const T>::cast(next); let last_next = ptr_chain_iter(next).last().unwrap(); @@ -54423,7 +54941,7 @@ impl<'a> VideoReferenceSlotKHRBuilder<'a> { #[doc = r" Calling build will **discard** all the lifetime information. Only call this if"] #[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"] #[doc = r" so references to builders can be passed directly to Vulkan functions."] - pub fn build(self) -> VideoReferenceSlotKHR { + pub fn build(self) -> VideoReferenceSlotInfoKHR { self.inner } } @@ -54464,7 +54982,6 @@ pub struct VideoDecodeCapabilitiesKHRBuilder<'a> { } unsafe impl ExtendsVideoCapabilitiesKHR for VideoDecodeCapabilitiesKHRBuilder<'_> {} unsafe impl ExtendsVideoCapabilitiesKHR for VideoDecodeCapabilitiesKHR {} -pub unsafe trait ExtendsVideoDecodeCapabilitiesKHR {} impl<'a> ::std::ops::Deref for VideoDecodeCapabilitiesKHRBuilder<'a> { type Target = VideoDecodeCapabilitiesKHR; fn deref(&self) -> &Self::Target { @@ -54482,24 +54999,71 @@ impl<'a> VideoDecodeCapabilitiesKHRBuilder<'a> { self.inner.flags = flags; self } - #[doc = r" Prepends the given extension struct between the root and the first pointer. This"] - #[doc = r" method only exists on structs that can be passed to a function directly. Only"] - #[doc = r" valid extension structs can be pushed into the chain."] - #[doc = r" If the chain looks like `A -> B -> C`, and you call `builder.push_next(&mut D)`, then the"] - #[doc = r" chain will look like `A -> D -> B -> C`."] - pub fn push_next(mut self, next: &'a mut T) -> Self { - unsafe { - let next_ptr = <*mut T>::cast(next); - let last_next = ptr_chain_iter(next).last().unwrap(); - (*last_next).p_next = self.inner.p_next as _; - self.inner.p_next = next_ptr; + #[doc = r" Calling build will **discard** all the lifetime information. Only call this if"] + #[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"] + #[doc = r" so references to builders can be passed directly to Vulkan functions."] + pub fn build(self) -> VideoDecodeCapabilitiesKHR { + self.inner + } +} +#[repr(C)] +#[cfg_attr(feature = "debug", derive(Debug))] +#[derive(Copy, Clone)] +#[doc = ""] +pub struct VideoDecodeUsageInfoKHR { + pub s_type: StructureType, + pub p_next: *const c_void, + pub video_usage_hints: VideoDecodeUsageFlagsKHR, +} +impl ::std::default::Default for VideoDecodeUsageInfoKHR { + #[inline] + fn default() -> Self { + Self { + s_type: Self::STRUCTURE_TYPE, + p_next: ::std::ptr::null(), + video_usage_hints: VideoDecodeUsageFlagsKHR::default(), } + } +} +unsafe impl TaggedStructure for VideoDecodeUsageInfoKHR { + const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_DECODE_USAGE_INFO_KHR; +} +impl VideoDecodeUsageInfoKHR { + pub fn builder<'a>() -> VideoDecodeUsageInfoKHRBuilder<'a> { + VideoDecodeUsageInfoKHRBuilder { + inner: Self::default(), + marker: ::std::marker::PhantomData, + } + } +} +#[repr(transparent)] +pub struct VideoDecodeUsageInfoKHRBuilder<'a> { + inner: VideoDecodeUsageInfoKHR, + marker: ::std::marker::PhantomData<&'a ()>, +} +unsafe impl ExtendsVideoProfileInfoKHR for VideoDecodeUsageInfoKHRBuilder<'_> {} +unsafe impl ExtendsVideoProfileInfoKHR for VideoDecodeUsageInfoKHR {} +impl<'a> ::std::ops::Deref for VideoDecodeUsageInfoKHRBuilder<'a> { + type Target = VideoDecodeUsageInfoKHR; + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> ::std::ops::DerefMut for VideoDecodeUsageInfoKHRBuilder<'a> { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +impl<'a> VideoDecodeUsageInfoKHRBuilder<'a> { + #[inline] + pub fn video_usage_hints(mut self, video_usage_hints: VideoDecodeUsageFlagsKHR) -> Self { + self.inner.video_usage_hints = video_usage_hints; self } #[doc = r" Calling build will **discard** all the lifetime information. Only call this if"] #[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"] #[doc = r" so references to builders can be passed directly to Vulkan functions."] - pub fn build(self) -> VideoDecodeCapabilitiesKHR { + pub fn build(self) -> VideoDecodeUsageInfoKHR { self.inner } } @@ -54514,10 +55078,10 @@ pub struct VideoDecodeInfoKHR { pub src_buffer: Buffer, pub src_buffer_offset: DeviceSize, pub src_buffer_range: DeviceSize, - pub dst_picture_resource: VideoPictureResourceKHR, - pub p_setup_reference_slot: *const VideoReferenceSlotKHR, + pub dst_picture_resource: VideoPictureResourceInfoKHR, + pub p_setup_reference_slot: *const VideoReferenceSlotInfoKHR, pub reference_slot_count: u32, - pub p_reference_slots: *const VideoReferenceSlotKHR, + pub p_reference_slots: *const VideoReferenceSlotInfoKHR, } impl ::std::default::Default for VideoDecodeInfoKHR { #[inline] @@ -54529,7 +55093,7 @@ impl ::std::default::Default for VideoDecodeInfoKHR { src_buffer: Buffer::default(), src_buffer_offset: DeviceSize::default(), src_buffer_range: DeviceSize::default(), - dst_picture_resource: VideoPictureResourceKHR::default(), + dst_picture_resource: VideoPictureResourceInfoKHR::default(), p_setup_reference_slot: ::std::ptr::null(), reference_slot_count: u32::default(), p_reference_slots: ::std::ptr::null(), @@ -54586,17 +55150,23 @@ impl<'a> VideoDecodeInfoKHRBuilder<'a> { self } #[inline] - pub fn dst_picture_resource(mut self, dst_picture_resource: VideoPictureResourceKHR) -> Self { + pub fn dst_picture_resource( + mut self, + dst_picture_resource: VideoPictureResourceInfoKHR, + ) -> Self { self.inner.dst_picture_resource = dst_picture_resource; self } #[inline] - pub fn setup_reference_slot(mut self, setup_reference_slot: &'a VideoReferenceSlotKHR) -> Self { + pub fn setup_reference_slot( + mut self, + setup_reference_slot: &'a VideoReferenceSlotInfoKHR, + ) -> Self { self.inner.p_setup_reference_slot = setup_reference_slot; self } #[inline] - pub fn reference_slots(mut self, reference_slots: &'a [VideoReferenceSlotKHR]) -> Self { + pub fn reference_slots(mut self, reference_slots: &'a [VideoReferenceSlotInfoKHR]) -> Self { self.inner.reference_slot_count = reference_slots.len() as _; self.inner.p_reference_slots = reference_slots.as_ptr(); self @@ -54625,14 +55195,14 @@ impl<'a> VideoDecodeInfoKHRBuilder<'a> { #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] -#[doc = ""] -pub struct VideoDecodeH264ProfileEXT { +#[doc = ""] +pub struct VideoDecodeH264ProfileInfoEXT { pub s_type: StructureType, pub p_next: *const c_void, pub std_profile_idc: StdVideoH264ProfileIdc, pub picture_layout: VideoDecodeH264PictureLayoutFlagsEXT, } -impl ::std::default::Default for VideoDecodeH264ProfileEXT { +impl ::std::default::Default for VideoDecodeH264ProfileInfoEXT { #[inline] fn default() -> Self { Self { @@ -54643,38 +55213,38 @@ impl ::std::default::Default for VideoDecodeH264ProfileEXT { } } } -unsafe impl TaggedStructure for VideoDecodeH264ProfileEXT { - const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_DECODE_H264_PROFILE_EXT; +unsafe impl TaggedStructure for VideoDecodeH264ProfileInfoEXT { + const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_DECODE_H264_PROFILE_INFO_EXT; } -impl VideoDecodeH264ProfileEXT { - pub fn builder<'a>() -> VideoDecodeH264ProfileEXTBuilder<'a> { - VideoDecodeH264ProfileEXTBuilder { +impl VideoDecodeH264ProfileInfoEXT { + pub fn builder<'a>() -> VideoDecodeH264ProfileInfoEXTBuilder<'a> { + VideoDecodeH264ProfileInfoEXTBuilder { inner: Self::default(), marker: ::std::marker::PhantomData, } } } #[repr(transparent)] -pub struct VideoDecodeH264ProfileEXTBuilder<'a> { - inner: VideoDecodeH264ProfileEXT, +pub struct VideoDecodeH264ProfileInfoEXTBuilder<'a> { + inner: VideoDecodeH264ProfileInfoEXT, marker: ::std::marker::PhantomData<&'a ()>, } -unsafe impl ExtendsVideoProfileKHR for VideoDecodeH264ProfileEXTBuilder<'_> {} -unsafe impl ExtendsVideoProfileKHR for VideoDecodeH264ProfileEXT {} -unsafe impl ExtendsQueryPoolCreateInfo for VideoDecodeH264ProfileEXTBuilder<'_> {} -unsafe impl ExtendsQueryPoolCreateInfo for VideoDecodeH264ProfileEXT {} -impl<'a> ::std::ops::Deref for VideoDecodeH264ProfileEXTBuilder<'a> { - type Target = VideoDecodeH264ProfileEXT; +unsafe impl ExtendsVideoProfileInfoKHR for VideoDecodeH264ProfileInfoEXTBuilder<'_> {} +unsafe impl ExtendsVideoProfileInfoKHR for VideoDecodeH264ProfileInfoEXT {} +unsafe impl ExtendsQueryPoolCreateInfo for VideoDecodeH264ProfileInfoEXTBuilder<'_> {} +unsafe impl ExtendsQueryPoolCreateInfo for VideoDecodeH264ProfileInfoEXT {} +impl<'a> ::std::ops::Deref for VideoDecodeH264ProfileInfoEXTBuilder<'a> { + type Target = VideoDecodeH264ProfileInfoEXT; fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> ::std::ops::DerefMut for VideoDecodeH264ProfileEXTBuilder<'a> { +impl<'a> ::std::ops::DerefMut for VideoDecodeH264ProfileInfoEXTBuilder<'a> { fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -impl<'a> VideoDecodeH264ProfileEXTBuilder<'a> { +impl<'a> VideoDecodeH264ProfileInfoEXTBuilder<'a> { #[inline] pub fn std_profile_idc(mut self, std_profile_idc: StdVideoH264ProfileIdc) -> Self { self.inner.std_profile_idc = std_profile_idc; @@ -54688,7 +55258,7 @@ impl<'a> VideoDecodeH264ProfileEXTBuilder<'a> { #[doc = r" Calling build will **discard** all the lifetime information. Only call this if"] #[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"] #[doc = r" so references to builders can be passed directly to Vulkan functions."] - pub fn build(self) -> VideoDecodeH264ProfileEXT { + pub fn build(self) -> VideoDecodeH264ProfileInfoEXT { self.inner } } @@ -54729,8 +55299,8 @@ pub struct VideoDecodeH264CapabilitiesEXTBuilder<'a> { inner: VideoDecodeH264CapabilitiesEXT, marker: ::std::marker::PhantomData<&'a ()>, } -unsafe impl ExtendsVideoDecodeCapabilitiesKHR for VideoDecodeH264CapabilitiesEXTBuilder<'_> {} -unsafe impl ExtendsVideoDecodeCapabilitiesKHR for VideoDecodeH264CapabilitiesEXT {} +unsafe impl ExtendsVideoCapabilitiesKHR for VideoDecodeH264CapabilitiesEXTBuilder<'_> {} +unsafe impl ExtendsVideoCapabilitiesKHR for VideoDecodeH264CapabilitiesEXT {} impl<'a> ::std::ops::Deref for VideoDecodeH264CapabilitiesEXTBuilder<'a> { type Target = VideoDecodeH264CapabilitiesEXT; fn deref(&self) -> &Self::Target { @@ -55047,8 +55617,8 @@ pub struct VideoDecodeH264DpbSlotInfoEXTBuilder<'a> { inner: VideoDecodeH264DpbSlotInfoEXT, marker: ::std::marker::PhantomData<&'a ()>, } -unsafe impl ExtendsVideoReferenceSlotKHR for VideoDecodeH264DpbSlotInfoEXTBuilder<'_> {} -unsafe impl ExtendsVideoReferenceSlotKHR for VideoDecodeH264DpbSlotInfoEXT {} +unsafe impl ExtendsVideoReferenceSlotInfoKHR for VideoDecodeH264DpbSlotInfoEXTBuilder<'_> {} +unsafe impl ExtendsVideoReferenceSlotInfoKHR for VideoDecodeH264DpbSlotInfoEXT {} impl<'a> ::std::ops::Deref for VideoDecodeH264DpbSlotInfoEXTBuilder<'a> { type Target = VideoDecodeH264DpbSlotInfoEXT; fn deref(&self) -> &Self::Target { @@ -55079,13 +55649,13 @@ impl<'a> VideoDecodeH264DpbSlotInfoEXTBuilder<'a> { #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] -#[doc = ""] -pub struct VideoDecodeH264MvcEXT { +#[doc = ""] +pub struct VideoDecodeH264MvcInfoEXT { pub s_type: StructureType, pub p_next: *const c_void, pub p_std_mvc: *const StdVideoDecodeH264Mvc, } -impl ::std::default::Default for VideoDecodeH264MvcEXT { +impl ::std::default::Default for VideoDecodeH264MvcInfoEXT { #[inline] fn default() -> Self { Self { @@ -55095,36 +55665,36 @@ impl ::std::default::Default for VideoDecodeH264MvcEXT { } } } -unsafe impl TaggedStructure for VideoDecodeH264MvcEXT { - const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_DECODE_H264_MVC_EXT; +unsafe impl TaggedStructure for VideoDecodeH264MvcInfoEXT { + const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_DECODE_H264_MVC_INFO_EXT; } -impl VideoDecodeH264MvcEXT { - pub fn builder<'a>() -> VideoDecodeH264MvcEXTBuilder<'a> { - VideoDecodeH264MvcEXTBuilder { +impl VideoDecodeH264MvcInfoEXT { + pub fn builder<'a>() -> VideoDecodeH264MvcInfoEXTBuilder<'a> { + VideoDecodeH264MvcInfoEXTBuilder { inner: Self::default(), marker: ::std::marker::PhantomData, } } } #[repr(transparent)] -pub struct VideoDecodeH264MvcEXTBuilder<'a> { - inner: VideoDecodeH264MvcEXT, +pub struct VideoDecodeH264MvcInfoEXTBuilder<'a> { + inner: VideoDecodeH264MvcInfoEXT, marker: ::std::marker::PhantomData<&'a ()>, } -unsafe impl ExtendsVideoDecodeH264PictureInfoEXT for VideoDecodeH264MvcEXTBuilder<'_> {} -unsafe impl ExtendsVideoDecodeH264PictureInfoEXT for VideoDecodeH264MvcEXT {} -impl<'a> ::std::ops::Deref for VideoDecodeH264MvcEXTBuilder<'a> { - type Target = VideoDecodeH264MvcEXT; +unsafe impl ExtendsVideoDecodeH264PictureInfoEXT for VideoDecodeH264MvcInfoEXTBuilder<'_> {} +unsafe impl ExtendsVideoDecodeH264PictureInfoEXT for VideoDecodeH264MvcInfoEXT {} +impl<'a> ::std::ops::Deref for VideoDecodeH264MvcInfoEXTBuilder<'a> { + type Target = VideoDecodeH264MvcInfoEXT; fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> ::std::ops::DerefMut for VideoDecodeH264MvcEXTBuilder<'a> { +impl<'a> ::std::ops::DerefMut for VideoDecodeH264MvcInfoEXTBuilder<'a> { fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -impl<'a> VideoDecodeH264MvcEXTBuilder<'a> { +impl<'a> VideoDecodeH264MvcInfoEXTBuilder<'a> { #[inline] pub fn std_mvc(mut self, std_mvc: &'a StdVideoDecodeH264Mvc) -> Self { self.inner.p_std_mvc = std_mvc; @@ -55133,20 +55703,20 @@ impl<'a> VideoDecodeH264MvcEXTBuilder<'a> { #[doc = r" Calling build will **discard** all the lifetime information. Only call this if"] #[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"] #[doc = r" so references to builders can be passed directly to Vulkan functions."] - pub fn build(self) -> VideoDecodeH264MvcEXT { + pub fn build(self) -> VideoDecodeH264MvcInfoEXT { self.inner } } #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] -#[doc = ""] -pub struct VideoDecodeH265ProfileEXT { +#[doc = ""] +pub struct VideoDecodeH265ProfileInfoEXT { pub s_type: StructureType, pub p_next: *const c_void, pub std_profile_idc: StdVideoH265ProfileIdc, } -impl ::std::default::Default for VideoDecodeH265ProfileEXT { +impl ::std::default::Default for VideoDecodeH265ProfileInfoEXT { #[inline] fn default() -> Self { Self { @@ -55156,38 +55726,38 @@ impl ::std::default::Default for VideoDecodeH265ProfileEXT { } } } -unsafe impl TaggedStructure for VideoDecodeH265ProfileEXT { - const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_DECODE_H265_PROFILE_EXT; +unsafe impl TaggedStructure for VideoDecodeH265ProfileInfoEXT { + const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_DECODE_H265_PROFILE_INFO_EXT; } -impl VideoDecodeH265ProfileEXT { - pub fn builder<'a>() -> VideoDecodeH265ProfileEXTBuilder<'a> { - VideoDecodeH265ProfileEXTBuilder { +impl VideoDecodeH265ProfileInfoEXT { + pub fn builder<'a>() -> VideoDecodeH265ProfileInfoEXTBuilder<'a> { + VideoDecodeH265ProfileInfoEXTBuilder { inner: Self::default(), marker: ::std::marker::PhantomData, } } } #[repr(transparent)] -pub struct VideoDecodeH265ProfileEXTBuilder<'a> { - inner: VideoDecodeH265ProfileEXT, +pub struct VideoDecodeH265ProfileInfoEXTBuilder<'a> { + inner: VideoDecodeH265ProfileInfoEXT, marker: ::std::marker::PhantomData<&'a ()>, } -unsafe impl ExtendsVideoProfileKHR for VideoDecodeH265ProfileEXTBuilder<'_> {} -unsafe impl ExtendsVideoProfileKHR for VideoDecodeH265ProfileEXT {} -unsafe impl ExtendsQueryPoolCreateInfo for VideoDecodeH265ProfileEXTBuilder<'_> {} -unsafe impl ExtendsQueryPoolCreateInfo for VideoDecodeH265ProfileEXT {} -impl<'a> ::std::ops::Deref for VideoDecodeH265ProfileEXTBuilder<'a> { - type Target = VideoDecodeH265ProfileEXT; +unsafe impl ExtendsVideoProfileInfoKHR for VideoDecodeH265ProfileInfoEXTBuilder<'_> {} +unsafe impl ExtendsVideoProfileInfoKHR for VideoDecodeH265ProfileInfoEXT {} +unsafe impl ExtendsQueryPoolCreateInfo for VideoDecodeH265ProfileInfoEXTBuilder<'_> {} +unsafe impl ExtendsQueryPoolCreateInfo for VideoDecodeH265ProfileInfoEXT {} +impl<'a> ::std::ops::Deref for VideoDecodeH265ProfileInfoEXTBuilder<'a> { + type Target = VideoDecodeH265ProfileInfoEXT; fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> ::std::ops::DerefMut for VideoDecodeH265ProfileEXTBuilder<'a> { +impl<'a> ::std::ops::DerefMut for VideoDecodeH265ProfileInfoEXTBuilder<'a> { fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -impl<'a> VideoDecodeH265ProfileEXTBuilder<'a> { +impl<'a> VideoDecodeH265ProfileInfoEXTBuilder<'a> { #[inline] pub fn std_profile_idc(mut self, std_profile_idc: StdVideoH265ProfileIdc) -> Self { self.inner.std_profile_idc = std_profile_idc; @@ -55196,7 +55766,7 @@ impl<'a> VideoDecodeH265ProfileEXTBuilder<'a> { #[doc = r" Calling build will **discard** all the lifetime information. Only call this if"] #[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"] #[doc = r" so references to builders can be passed directly to Vulkan functions."] - pub fn build(self) -> VideoDecodeH265ProfileEXT { + pub fn build(self) -> VideoDecodeH265ProfileInfoEXT { self.inner } } @@ -55235,8 +55805,8 @@ pub struct VideoDecodeH265CapabilitiesEXTBuilder<'a> { inner: VideoDecodeH265CapabilitiesEXT, marker: ::std::marker::PhantomData<&'a ()>, } -unsafe impl ExtendsVideoDecodeCapabilitiesKHR for VideoDecodeH265CapabilitiesEXTBuilder<'_> {} -unsafe impl ExtendsVideoDecodeCapabilitiesKHR for VideoDecodeH265CapabilitiesEXT {} +unsafe impl ExtendsVideoCapabilitiesKHR for VideoDecodeH265CapabilitiesEXTBuilder<'_> {} +unsafe impl ExtendsVideoCapabilitiesKHR for VideoDecodeH265CapabilitiesEXT {} impl<'a> ::std::ops::Deref for VideoDecodeH265CapabilitiesEXTBuilder<'a> { type Target = VideoDecodeH265CapabilitiesEXT; fn deref(&self) -> &Self::Target { @@ -55553,8 +56123,8 @@ pub struct VideoDecodeH265DpbSlotInfoEXTBuilder<'a> { inner: VideoDecodeH265DpbSlotInfoEXT, marker: ::std::marker::PhantomData<&'a ()>, } -unsafe impl ExtendsVideoReferenceSlotKHR for VideoDecodeH265DpbSlotInfoEXTBuilder<'_> {} -unsafe impl ExtendsVideoReferenceSlotKHR for VideoDecodeH265DpbSlotInfoEXT {} +unsafe impl ExtendsVideoReferenceSlotInfoKHR for VideoDecodeH265DpbSlotInfoEXTBuilder<'_> {} +unsafe impl ExtendsVideoReferenceSlotInfoKHR for VideoDecodeH265DpbSlotInfoEXT {} impl<'a> ::std::ops::Deref for VideoDecodeH265DpbSlotInfoEXTBuilder<'a> { type Target = VideoDecodeH265DpbSlotInfoEXT; fn deref(&self) -> &Self::Target { @@ -55591,7 +56161,7 @@ pub struct VideoSessionCreateInfoKHR { pub p_next: *const c_void, pub queue_family_index: u32, pub flags: VideoSessionCreateFlagsKHR, - pub p_video_profile: *const VideoProfileKHR, + pub p_video_profile: *const VideoProfileInfoKHR, pub picture_format: Format, pub max_coded_extent: Extent2D, pub reference_pictures_format: Format, @@ -55656,7 +56226,7 @@ impl<'a> VideoSessionCreateInfoKHRBuilder<'a> { self } #[inline] - pub fn video_profile(mut self, video_profile: &'a VideoProfileKHR) -> Self { + pub fn video_profile(mut self, video_profile: &'a VideoProfileInfoKHR) -> Self { self.inner.p_video_profile = video_profile; self } @@ -55710,6 +56280,7 @@ impl<'a> VideoSessionCreateInfoKHRBuilder<'a> { pub struct VideoSessionParametersCreateInfoKHR { pub s_type: StructureType, pub p_next: *const c_void, + pub flags: VideoSessionParametersCreateFlagsKHR, pub video_session_parameters_template: VideoSessionParametersKHR, pub video_session: VideoSessionKHR, } @@ -55719,6 +56290,7 @@ impl ::std::default::Default for VideoSessionParametersCreateInfoKHR { Self { s_type: Self::STRUCTURE_TYPE, p_next: ::std::ptr::null(), + flags: VideoSessionParametersCreateFlagsKHR::default(), video_session_parameters_template: VideoSessionParametersKHR::default(), video_session: VideoSessionKHR::default(), } @@ -55753,6 +56325,11 @@ impl<'a> ::std::ops::DerefMut for VideoSessionParametersCreateInfoKHRBuilder<'a> } } impl<'a> VideoSessionParametersCreateInfoKHRBuilder<'a> { + #[inline] + pub fn flags(mut self, flags: VideoSessionParametersCreateFlagsKHR) -> Self { + self.inner.flags = flags; + self + } #[inline] pub fn video_session_parameters_template( mut self, @@ -55875,11 +56452,10 @@ pub struct VideoBeginCodingInfoKHR { pub s_type: StructureType, pub p_next: *const c_void, pub flags: VideoBeginCodingFlagsKHR, - pub codec_quality_preset: VideoCodingQualityPresetFlagsKHR, pub video_session: VideoSessionKHR, pub video_session_parameters: VideoSessionParametersKHR, pub reference_slot_count: u32, - pub p_reference_slots: *const VideoReferenceSlotKHR, + pub p_reference_slots: *const VideoReferenceSlotInfoKHR, } impl ::std::default::Default for VideoBeginCodingInfoKHR { #[inline] @@ -55888,7 +56464,6 @@ impl ::std::default::Default for VideoBeginCodingInfoKHR { s_type: Self::STRUCTURE_TYPE, p_next: ::std::ptr::null(), flags: VideoBeginCodingFlagsKHR::default(), - codec_quality_preset: VideoCodingQualityPresetFlagsKHR::default(), video_session: VideoSessionKHR::default(), video_session_parameters: VideoSessionParametersKHR::default(), reference_slot_count: u32::default(), @@ -55930,14 +56505,6 @@ impl<'a> VideoBeginCodingInfoKHRBuilder<'a> { self } #[inline] - pub fn codec_quality_preset( - mut self, - codec_quality_preset: VideoCodingQualityPresetFlagsKHR, - ) -> Self { - self.inner.codec_quality_preset = codec_quality_preset; - self - } - #[inline] pub fn video_session(mut self, video_session: VideoSessionKHR) -> Self { self.inner.video_session = video_session; self @@ -55951,7 +56518,7 @@ impl<'a> VideoBeginCodingInfoKHRBuilder<'a> { self } #[inline] - pub fn reference_slots(mut self, reference_slots: &'a [VideoReferenceSlotKHR]) -> Self { + pub fn reference_slots(mut self, reference_slots: &'a [VideoReferenceSlotInfoKHR]) -> Self { self.inner.reference_slot_count = reference_slots.len() as _; self.inner.p_reference_slots = reference_slots.as_ptr(); self @@ -56099,6 +56666,81 @@ impl<'a> VideoCodingControlInfoKHRBuilder<'a> { #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] +#[doc = ""] +pub struct VideoEncodeUsageInfoKHR { + pub s_type: StructureType, + pub p_next: *const c_void, + pub video_usage_hints: VideoEncodeUsageFlagsKHR, + pub video_content_hints: VideoEncodeContentFlagsKHR, + pub tuning_mode: VideoEncodeTuningModeKHR, +} +impl ::std::default::Default for VideoEncodeUsageInfoKHR { + #[inline] + fn default() -> Self { + Self { + s_type: Self::STRUCTURE_TYPE, + p_next: ::std::ptr::null(), + video_usage_hints: VideoEncodeUsageFlagsKHR::default(), + video_content_hints: VideoEncodeContentFlagsKHR::default(), + tuning_mode: VideoEncodeTuningModeKHR::default(), + } + } +} +unsafe impl TaggedStructure for VideoEncodeUsageInfoKHR { + const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_ENCODE_USAGE_INFO_KHR; +} +impl VideoEncodeUsageInfoKHR { + pub fn builder<'a>() -> VideoEncodeUsageInfoKHRBuilder<'a> { + VideoEncodeUsageInfoKHRBuilder { + inner: Self::default(), + marker: ::std::marker::PhantomData, + } + } +} +#[repr(transparent)] +pub struct VideoEncodeUsageInfoKHRBuilder<'a> { + inner: VideoEncodeUsageInfoKHR, + marker: ::std::marker::PhantomData<&'a ()>, +} +unsafe impl ExtendsVideoProfileInfoKHR for VideoEncodeUsageInfoKHRBuilder<'_> {} +unsafe impl ExtendsVideoProfileInfoKHR for VideoEncodeUsageInfoKHR {} +impl<'a> ::std::ops::Deref for VideoEncodeUsageInfoKHRBuilder<'a> { + type Target = VideoEncodeUsageInfoKHR; + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> ::std::ops::DerefMut for VideoEncodeUsageInfoKHRBuilder<'a> { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +impl<'a> VideoEncodeUsageInfoKHRBuilder<'a> { + #[inline] + pub fn video_usage_hints(mut self, video_usage_hints: VideoEncodeUsageFlagsKHR) -> Self { + self.inner.video_usage_hints = video_usage_hints; + self + } + #[inline] + pub fn video_content_hints(mut self, video_content_hints: VideoEncodeContentFlagsKHR) -> Self { + self.inner.video_content_hints = video_content_hints; + self + } + #[inline] + pub fn tuning_mode(mut self, tuning_mode: VideoEncodeTuningModeKHR) -> Self { + self.inner.tuning_mode = tuning_mode; + self + } + #[doc = r" Calling build will **discard** all the lifetime information. Only call this if"] + #[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"] + #[doc = r" so references to builders can be passed directly to Vulkan functions."] + pub fn build(self) -> VideoEncodeUsageInfoKHR { + self.inner + } +} +#[repr(C)] +#[cfg_attr(feature = "debug", derive(Debug))] +#[derive(Copy, Clone)] #[doc = ""] pub struct VideoEncodeInfoKHR { pub s_type: StructureType, @@ -56108,10 +56750,10 @@ pub struct VideoEncodeInfoKHR { pub dst_bitstream_buffer: Buffer, pub dst_bitstream_buffer_offset: DeviceSize, pub dst_bitstream_buffer_max_range: DeviceSize, - pub src_picture_resource: VideoPictureResourceKHR, - pub p_setup_reference_slot: *const VideoReferenceSlotKHR, + pub src_picture_resource: VideoPictureResourceInfoKHR, + pub p_setup_reference_slot: *const VideoReferenceSlotInfoKHR, pub reference_slot_count: u32, - pub p_reference_slots: *const VideoReferenceSlotKHR, + pub p_reference_slots: *const VideoReferenceSlotInfoKHR, pub preceding_externally_encoded_bytes: u32, } impl ::std::default::Default for VideoEncodeInfoKHR { @@ -56125,7 +56767,7 @@ impl ::std::default::Default for VideoEncodeInfoKHR { dst_bitstream_buffer: Buffer::default(), dst_bitstream_buffer_offset: DeviceSize::default(), dst_bitstream_buffer_max_range: DeviceSize::default(), - src_picture_resource: VideoPictureResourceKHR::default(), + src_picture_resource: VideoPictureResourceInfoKHR::default(), p_setup_reference_slot: ::std::ptr::null(), reference_slot_count: u32::default(), p_reference_slots: ::std::ptr::null(), @@ -56191,17 +56833,23 @@ impl<'a> VideoEncodeInfoKHRBuilder<'a> { self } #[inline] - pub fn src_picture_resource(mut self, src_picture_resource: VideoPictureResourceKHR) -> Self { + pub fn src_picture_resource( + mut self, + src_picture_resource: VideoPictureResourceInfoKHR, + ) -> Self { self.inner.src_picture_resource = src_picture_resource; self } #[inline] - pub fn setup_reference_slot(mut self, setup_reference_slot: &'a VideoReferenceSlotKHR) -> Self { + pub fn setup_reference_slot( + mut self, + setup_reference_slot: &'a VideoReferenceSlotInfoKHR, + ) -> Self { self.inner.p_setup_reference_slot = setup_reference_slot; self } #[inline] - pub fn reference_slots(mut self, reference_slots: &'a [VideoReferenceSlotKHR]) -> Self { + pub fn reference_slots(mut self, reference_slots: &'a [VideoReferenceSlotInfoKHR]) -> Self { self.inner.reference_slot_count = reference_slots.len() as _; self.inner.p_reference_slots = reference_slots.as_ptr(); self @@ -56278,7 +56926,6 @@ pub struct VideoEncodeRateControlInfoKHRBuilder<'a> { } unsafe impl ExtendsVideoCodingControlInfoKHR for VideoEncodeRateControlInfoKHRBuilder<'_> {} unsafe impl ExtendsVideoCodingControlInfoKHR for VideoEncodeRateControlInfoKHR {} -pub unsafe trait ExtendsVideoEncodeRateControlInfoKHR {} impl<'a> ::std::ops::Deref for VideoEncodeRateControlInfoKHRBuilder<'a> { type Target = VideoEncodeRateControlInfoKHR; fn deref(&self) -> &Self::Target { @@ -56313,20 +56960,6 @@ impl<'a> VideoEncodeRateControlInfoKHRBuilder<'a> { self.inner.p_layer_configs = layer_configs.as_ptr(); self } - #[doc = r" Prepends the given extension struct between the root and the first pointer. This"] - #[doc = r" method only exists on structs that can be passed to a function directly. Only"] - #[doc = r" valid extension structs can be pushed into the chain."] - #[doc = r" If the chain looks like `A -> B -> C`, and you call `builder.push_next(&mut D)`, then the"] - #[doc = r" chain will look like `A -> D -> B -> C`."] - pub fn push_next(mut self, next: &'a mut T) -> Self { - unsafe { - let next_ptr = <*const T>::cast(next); - let last_next = ptr_chain_iter(next).last().unwrap(); - (*last_next).p_next = self.inner.p_next as _; - self.inner.p_next = next_ptr; - } - self - } #[doc = r" Calling build will **discard** all the lifetime information. Only call this if"] #[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"] #[doc = r" so references to builders can be passed directly to Vulkan functions."] @@ -56496,7 +57129,6 @@ pub struct VideoEncodeCapabilitiesKHRBuilder<'a> { } unsafe impl ExtendsVideoCapabilitiesKHR for VideoEncodeCapabilitiesKHRBuilder<'_> {} unsafe impl ExtendsVideoCapabilitiesKHR for VideoEncodeCapabilitiesKHR {} -pub unsafe trait ExtendsVideoEncodeCapabilitiesKHR {} impl<'a> ::std::ops::Deref for VideoEncodeCapabilitiesKHRBuilder<'a> { type Target = VideoEncodeCapabilitiesKHR; fn deref(&self) -> &Self::Target { @@ -56540,20 +57172,6 @@ impl<'a> VideoEncodeCapabilitiesKHRBuilder<'a> { self.inner.input_image_data_fill_alignment = input_image_data_fill_alignment; self } - #[doc = r" Prepends the given extension struct between the root and the first pointer. This"] - #[doc = r" method only exists on structs that can be passed to a function directly. Only"] - #[doc = r" valid extension structs can be pushed into the chain."] - #[doc = r" If the chain looks like `A -> B -> C`, and you call `builder.push_next(&mut D)`, then the"] - #[doc = r" chain will look like `A -> D -> B -> C`."] - pub fn push_next(mut self, next: &'a mut T) -> Self { - unsafe { - let next_ptr = <*mut T>::cast(next); - let last_next = ptr_chain_iter(next).last().unwrap(); - (*last_next).p_next = self.inner.p_next as _; - self.inner.p_next = next_ptr; - } - self - } #[doc = r" Calling build will **discard** all the lifetime information. Only call this if"] #[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"] #[doc = r" so references to builders can be passed directly to Vulkan functions."] @@ -56616,8 +57234,8 @@ pub struct VideoEncodeH264CapabilitiesEXTBuilder<'a> { inner: VideoEncodeH264CapabilitiesEXT, marker: ::std::marker::PhantomData<&'a ()>, } -unsafe impl ExtendsVideoEncodeCapabilitiesKHR for VideoEncodeH264CapabilitiesEXTBuilder<'_> {} -unsafe impl ExtendsVideoEncodeCapabilitiesKHR for VideoEncodeH264CapabilitiesEXT {} +unsafe impl ExtendsVideoCapabilitiesKHR for VideoEncodeH264CapabilitiesEXTBuilder<'_> {} +unsafe impl ExtendsVideoCapabilitiesKHR for VideoEncodeH264CapabilitiesEXT {} impl<'a> ::std::ops::Deref for VideoEncodeH264CapabilitiesEXTBuilder<'a> { type Target = VideoEncodeH264CapabilitiesEXT; fn deref(&self) -> &Self::Target { @@ -56947,9 +57565,9 @@ impl<'a> VideoEncodeH264DpbSlotInfoEXTBuilder<'a> { pub struct VideoEncodeH264VclFrameInfoEXT { pub s_type: StructureType, pub p_next: *const c_void, - pub p_reference_final_lists: *const VideoEncodeH264ReferenceListsEXT, + pub p_reference_final_lists: *const VideoEncodeH264ReferenceListsInfoEXT, pub nalu_slice_entry_count: u32, - pub p_nalu_slice_entries: *const VideoEncodeH264NaluSliceEXT, + pub p_nalu_slice_entries: *const VideoEncodeH264NaluSliceInfoEXT, pub p_current_picture_info: *const StdVideoEncodeH264PictureInfo, } impl ::std::default::Default for VideoEncodeH264VclFrameInfoEXT { @@ -56998,7 +57616,7 @@ impl<'a> VideoEncodeH264VclFrameInfoEXTBuilder<'a> { #[inline] pub fn reference_final_lists( mut self, - reference_final_lists: &'a VideoEncodeH264ReferenceListsEXT, + reference_final_lists: &'a VideoEncodeH264ReferenceListsInfoEXT, ) -> Self { self.inner.p_reference_final_lists = reference_final_lists; self @@ -57006,7 +57624,7 @@ impl<'a> VideoEncodeH264VclFrameInfoEXTBuilder<'a> { #[inline] pub fn nalu_slice_entries( mut self, - nalu_slice_entries: &'a [VideoEncodeH264NaluSliceEXT], + nalu_slice_entries: &'a [VideoEncodeH264NaluSliceInfoEXT], ) -> Self { self.inner.nalu_slice_entry_count = nalu_slice_entries.len() as _; self.inner.p_nalu_slice_entries = nalu_slice_entries.as_ptr(); @@ -57030,8 +57648,8 @@ impl<'a> VideoEncodeH264VclFrameInfoEXTBuilder<'a> { #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] -#[doc = ""] -pub struct VideoEncodeH264ReferenceListsEXT { +#[doc = ""] +pub struct VideoEncodeH264ReferenceListsInfoEXT { pub s_type: StructureType, pub p_next: *const c_void, pub reference_list0_entry_count: u8, @@ -57040,7 +57658,7 @@ pub struct VideoEncodeH264ReferenceListsEXT { pub p_reference_list1_entries: *const VideoEncodeH264DpbSlotInfoEXT, pub p_mem_mgmt_ctrl_operations: *const StdVideoEncodeH264RefMemMgmtCtrlOperations, } -impl ::std::default::Default for VideoEncodeH264ReferenceListsEXT { +impl ::std::default::Default for VideoEncodeH264ReferenceListsInfoEXT { #[inline] fn default() -> Self { Self { @@ -57054,34 +57672,34 @@ impl ::std::default::Default for VideoEncodeH264ReferenceListsEXT { } } } -unsafe impl TaggedStructure for VideoEncodeH264ReferenceListsEXT { - const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_ENCODE_H264_REFERENCE_LISTS_EXT; +unsafe impl TaggedStructure for VideoEncodeH264ReferenceListsInfoEXT { + const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_ENCODE_H264_REFERENCE_LISTS_INFO_EXT; } -impl VideoEncodeH264ReferenceListsEXT { - pub fn builder<'a>() -> VideoEncodeH264ReferenceListsEXTBuilder<'a> { - VideoEncodeH264ReferenceListsEXTBuilder { +impl VideoEncodeH264ReferenceListsInfoEXT { + pub fn builder<'a>() -> VideoEncodeH264ReferenceListsInfoEXTBuilder<'a> { + VideoEncodeH264ReferenceListsInfoEXTBuilder { inner: Self::default(), marker: ::std::marker::PhantomData, } } } #[repr(transparent)] -pub struct VideoEncodeH264ReferenceListsEXTBuilder<'a> { - inner: VideoEncodeH264ReferenceListsEXT, +pub struct VideoEncodeH264ReferenceListsInfoEXTBuilder<'a> { + inner: VideoEncodeH264ReferenceListsInfoEXT, marker: ::std::marker::PhantomData<&'a ()>, } -impl<'a> ::std::ops::Deref for VideoEncodeH264ReferenceListsEXTBuilder<'a> { - type Target = VideoEncodeH264ReferenceListsEXT; +impl<'a> ::std::ops::Deref for VideoEncodeH264ReferenceListsInfoEXTBuilder<'a> { + type Target = VideoEncodeH264ReferenceListsInfoEXT; fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> ::std::ops::DerefMut for VideoEncodeH264ReferenceListsEXTBuilder<'a> { +impl<'a> ::std::ops::DerefMut for VideoEncodeH264ReferenceListsInfoEXTBuilder<'a> { fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -impl<'a> VideoEncodeH264ReferenceListsEXTBuilder<'a> { +impl<'a> VideoEncodeH264ReferenceListsInfoEXTBuilder<'a> { #[inline] pub fn reference_list0_entries( mut self, @@ -57111,15 +57729,15 @@ impl<'a> VideoEncodeH264ReferenceListsEXTBuilder<'a> { #[doc = r" Calling build will **discard** all the lifetime information. Only call this if"] #[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"] #[doc = r" so references to builders can be passed directly to Vulkan functions."] - pub fn build(self) -> VideoEncodeH264ReferenceListsEXT { + pub fn build(self) -> VideoEncodeH264ReferenceListsInfoEXT { self.inner } } #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] -#[doc = ""] -pub struct VideoEncodeH264EmitPictureParametersEXT { +#[doc = ""] +pub struct VideoEncodeH264EmitPictureParametersInfoEXT { pub s_type: StructureType, pub p_next: *const c_void, pub sps_id: u8, @@ -57127,7 +57745,7 @@ pub struct VideoEncodeH264EmitPictureParametersEXT { pub pps_id_entry_count: u32, pub pps_id_entries: *const u8, } -impl ::std::default::Default for VideoEncodeH264EmitPictureParametersEXT { +impl ::std::default::Default for VideoEncodeH264EmitPictureParametersInfoEXT { #[inline] fn default() -> Self { Self { @@ -57140,37 +57758,37 @@ impl ::std::default::Default for VideoEncodeH264EmitPictureParametersEXT { } } } -unsafe impl TaggedStructure for VideoEncodeH264EmitPictureParametersEXT { +unsafe impl TaggedStructure for VideoEncodeH264EmitPictureParametersInfoEXT { const STRUCTURE_TYPE: StructureType = - StructureType::VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT; + StructureType::VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_INFO_EXT; } -impl VideoEncodeH264EmitPictureParametersEXT { - pub fn builder<'a>() -> VideoEncodeH264EmitPictureParametersEXTBuilder<'a> { - VideoEncodeH264EmitPictureParametersEXTBuilder { +impl VideoEncodeH264EmitPictureParametersInfoEXT { + pub fn builder<'a>() -> VideoEncodeH264EmitPictureParametersInfoEXTBuilder<'a> { + VideoEncodeH264EmitPictureParametersInfoEXTBuilder { inner: Self::default(), marker: ::std::marker::PhantomData, } } } #[repr(transparent)] -pub struct VideoEncodeH264EmitPictureParametersEXTBuilder<'a> { - inner: VideoEncodeH264EmitPictureParametersEXT, +pub struct VideoEncodeH264EmitPictureParametersInfoEXTBuilder<'a> { + inner: VideoEncodeH264EmitPictureParametersInfoEXT, marker: ::std::marker::PhantomData<&'a ()>, } -unsafe impl ExtendsVideoEncodeInfoKHR for VideoEncodeH264EmitPictureParametersEXTBuilder<'_> {} -unsafe impl ExtendsVideoEncodeInfoKHR for VideoEncodeH264EmitPictureParametersEXT {} -impl<'a> ::std::ops::Deref for VideoEncodeH264EmitPictureParametersEXTBuilder<'a> { - type Target = VideoEncodeH264EmitPictureParametersEXT; +unsafe impl ExtendsVideoEncodeInfoKHR for VideoEncodeH264EmitPictureParametersInfoEXTBuilder<'_> {} +unsafe impl ExtendsVideoEncodeInfoKHR for VideoEncodeH264EmitPictureParametersInfoEXT {} +impl<'a> ::std::ops::Deref for VideoEncodeH264EmitPictureParametersInfoEXTBuilder<'a> { + type Target = VideoEncodeH264EmitPictureParametersInfoEXT; fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> ::std::ops::DerefMut for VideoEncodeH264EmitPictureParametersEXTBuilder<'a> { +impl<'a> ::std::ops::DerefMut for VideoEncodeH264EmitPictureParametersInfoEXTBuilder<'a> { fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -impl<'a> VideoEncodeH264EmitPictureParametersEXTBuilder<'a> { +impl<'a> VideoEncodeH264EmitPictureParametersInfoEXTBuilder<'a> { #[inline] pub fn sps_id(mut self, sps_id: u8) -> Self { self.inner.sps_id = sps_id; @@ -57190,20 +57808,20 @@ impl<'a> VideoEncodeH264EmitPictureParametersEXTBuilder<'a> { #[doc = r" Calling build will **discard** all the lifetime information. Only call this if"] #[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"] #[doc = r" so references to builders can be passed directly to Vulkan functions."] - pub fn build(self) -> VideoEncodeH264EmitPictureParametersEXT { + pub fn build(self) -> VideoEncodeH264EmitPictureParametersInfoEXT { self.inner } } #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] -#[doc = ""] -pub struct VideoEncodeH264ProfileEXT { +#[doc = ""] +pub struct VideoEncodeH264ProfileInfoEXT { pub s_type: StructureType, pub p_next: *const c_void, pub std_profile_idc: StdVideoH264ProfileIdc, } -impl ::std::default::Default for VideoEncodeH264ProfileEXT { +impl ::std::default::Default for VideoEncodeH264ProfileInfoEXT { #[inline] fn default() -> Self { Self { @@ -57213,38 +57831,38 @@ impl ::std::default::Default for VideoEncodeH264ProfileEXT { } } } -unsafe impl TaggedStructure for VideoEncodeH264ProfileEXT { - const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_ENCODE_H264_PROFILE_EXT; +unsafe impl TaggedStructure for VideoEncodeH264ProfileInfoEXT { + const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_ENCODE_H264_PROFILE_INFO_EXT; } -impl VideoEncodeH264ProfileEXT { - pub fn builder<'a>() -> VideoEncodeH264ProfileEXTBuilder<'a> { - VideoEncodeH264ProfileEXTBuilder { +impl VideoEncodeH264ProfileInfoEXT { + pub fn builder<'a>() -> VideoEncodeH264ProfileInfoEXTBuilder<'a> { + VideoEncodeH264ProfileInfoEXTBuilder { inner: Self::default(), marker: ::std::marker::PhantomData, } } } #[repr(transparent)] -pub struct VideoEncodeH264ProfileEXTBuilder<'a> { - inner: VideoEncodeH264ProfileEXT, +pub struct VideoEncodeH264ProfileInfoEXTBuilder<'a> { + inner: VideoEncodeH264ProfileInfoEXT, marker: ::std::marker::PhantomData<&'a ()>, } -unsafe impl ExtendsVideoProfileKHR for VideoEncodeH264ProfileEXTBuilder<'_> {} -unsafe impl ExtendsVideoProfileKHR for VideoEncodeH264ProfileEXT {} -unsafe impl ExtendsQueryPoolCreateInfo for VideoEncodeH264ProfileEXTBuilder<'_> {} -unsafe impl ExtendsQueryPoolCreateInfo for VideoEncodeH264ProfileEXT {} -impl<'a> ::std::ops::Deref for VideoEncodeH264ProfileEXTBuilder<'a> { - type Target = VideoEncodeH264ProfileEXT; +unsafe impl ExtendsVideoProfileInfoKHR for VideoEncodeH264ProfileInfoEXTBuilder<'_> {} +unsafe impl ExtendsVideoProfileInfoKHR for VideoEncodeH264ProfileInfoEXT {} +unsafe impl ExtendsQueryPoolCreateInfo for VideoEncodeH264ProfileInfoEXTBuilder<'_> {} +unsafe impl ExtendsQueryPoolCreateInfo for VideoEncodeH264ProfileInfoEXT {} +impl<'a> ::std::ops::Deref for VideoEncodeH264ProfileInfoEXTBuilder<'a> { + type Target = VideoEncodeH264ProfileInfoEXT; fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> ::std::ops::DerefMut for VideoEncodeH264ProfileEXTBuilder<'a> { +impl<'a> ::std::ops::DerefMut for VideoEncodeH264ProfileInfoEXTBuilder<'a> { fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -impl<'a> VideoEncodeH264ProfileEXTBuilder<'a> { +impl<'a> VideoEncodeH264ProfileInfoEXTBuilder<'a> { #[inline] pub fn std_profile_idc(mut self, std_profile_idc: StdVideoH264ProfileIdc) -> Self { self.inner.std_profile_idc = std_profile_idc; @@ -57253,22 +57871,22 @@ impl<'a> VideoEncodeH264ProfileEXTBuilder<'a> { #[doc = r" Calling build will **discard** all the lifetime information. Only call this if"] #[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"] #[doc = r" so references to builders can be passed directly to Vulkan functions."] - pub fn build(self) -> VideoEncodeH264ProfileEXT { + pub fn build(self) -> VideoEncodeH264ProfileInfoEXT { self.inner } } #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] -#[doc = ""] -pub struct VideoEncodeH264NaluSliceEXT { +#[doc = ""] +pub struct VideoEncodeH264NaluSliceInfoEXT { pub s_type: StructureType, pub p_next: *const c_void, pub mb_count: u32, - pub p_reference_final_lists: *const VideoEncodeH264ReferenceListsEXT, + pub p_reference_final_lists: *const VideoEncodeH264ReferenceListsInfoEXT, pub p_slice_header_std: *const StdVideoEncodeH264SliceHeader, } -impl ::std::default::Default for VideoEncodeH264NaluSliceEXT { +impl ::std::default::Default for VideoEncodeH264NaluSliceInfoEXT { #[inline] fn default() -> Self { Self { @@ -57280,34 +57898,34 @@ impl ::std::default::Default for VideoEncodeH264NaluSliceEXT { } } } -unsafe impl TaggedStructure for VideoEncodeH264NaluSliceEXT { - const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_ENCODE_H264_NALU_SLICE_EXT; +unsafe impl TaggedStructure for VideoEncodeH264NaluSliceInfoEXT { + const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_ENCODE_H264_NALU_SLICE_INFO_EXT; } -impl VideoEncodeH264NaluSliceEXT { - pub fn builder<'a>() -> VideoEncodeH264NaluSliceEXTBuilder<'a> { - VideoEncodeH264NaluSliceEXTBuilder { +impl VideoEncodeH264NaluSliceInfoEXT { + pub fn builder<'a>() -> VideoEncodeH264NaluSliceInfoEXTBuilder<'a> { + VideoEncodeH264NaluSliceInfoEXTBuilder { inner: Self::default(), marker: ::std::marker::PhantomData, } } } #[repr(transparent)] -pub struct VideoEncodeH264NaluSliceEXTBuilder<'a> { - inner: VideoEncodeH264NaluSliceEXT, +pub struct VideoEncodeH264NaluSliceInfoEXTBuilder<'a> { + inner: VideoEncodeH264NaluSliceInfoEXT, marker: ::std::marker::PhantomData<&'a ()>, } -impl<'a> ::std::ops::Deref for VideoEncodeH264NaluSliceEXTBuilder<'a> { - type Target = VideoEncodeH264NaluSliceEXT; +impl<'a> ::std::ops::Deref for VideoEncodeH264NaluSliceInfoEXTBuilder<'a> { + type Target = VideoEncodeH264NaluSliceInfoEXT; fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> ::std::ops::DerefMut for VideoEncodeH264NaluSliceEXTBuilder<'a> { +impl<'a> ::std::ops::DerefMut for VideoEncodeH264NaluSliceInfoEXTBuilder<'a> { fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -impl<'a> VideoEncodeH264NaluSliceEXTBuilder<'a> { +impl<'a> VideoEncodeH264NaluSliceInfoEXTBuilder<'a> { #[inline] pub fn mb_count(mut self, mb_count: u32) -> Self { self.inner.mb_count = mb_count; @@ -57316,7 +57934,7 @@ impl<'a> VideoEncodeH264NaluSliceEXTBuilder<'a> { #[inline] pub fn reference_final_lists( mut self, - reference_final_lists: &'a VideoEncodeH264ReferenceListsEXT, + reference_final_lists: &'a VideoEncodeH264ReferenceListsInfoEXT, ) -> Self { self.inner.p_reference_final_lists = reference_final_lists; self @@ -57329,7 +57947,7 @@ impl<'a> VideoEncodeH264NaluSliceEXTBuilder<'a> { #[doc = r" Calling build will **discard** all the lifetime information. Only call this if"] #[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"] #[doc = r" so references to builders can be passed directly to Vulkan functions."] - pub fn build(self) -> VideoEncodeH264NaluSliceEXT { + pub fn build(self) -> VideoEncodeH264NaluSliceInfoEXT { self.inner } } @@ -57343,7 +57961,7 @@ pub struct VideoEncodeH264RateControlInfoEXT { pub gop_frame_count: u32, pub idr_period: u32, pub consecutive_b_frame_count: u32, - pub rate_control_structure: VideoEncodeH264RateControlStructureFlagsEXT, + pub rate_control_structure: VideoEncodeH264RateControlStructureEXT, pub temporal_layer_count: u8, } impl ::std::default::Default for VideoEncodeH264RateControlInfoEXT { @@ -57355,7 +57973,7 @@ impl ::std::default::Default for VideoEncodeH264RateControlInfoEXT { gop_frame_count: u32::default(), idr_period: u32::default(), consecutive_b_frame_count: u32::default(), - rate_control_structure: VideoEncodeH264RateControlStructureFlagsEXT::default(), + rate_control_structure: VideoEncodeH264RateControlStructureEXT::default(), temporal_layer_count: u8::default(), } } @@ -57376,8 +57994,8 @@ pub struct VideoEncodeH264RateControlInfoEXTBuilder<'a> { inner: VideoEncodeH264RateControlInfoEXT, marker: ::std::marker::PhantomData<&'a ()>, } -unsafe impl ExtendsVideoEncodeRateControlInfoKHR for VideoEncodeH264RateControlInfoEXTBuilder<'_> {} -unsafe impl ExtendsVideoEncodeRateControlInfoKHR for VideoEncodeH264RateControlInfoEXT {} +unsafe impl ExtendsVideoCodingControlInfoKHR for VideoEncodeH264RateControlInfoEXTBuilder<'_> {} +unsafe impl ExtendsVideoCodingControlInfoKHR for VideoEncodeH264RateControlInfoEXT {} impl<'a> ::std::ops::Deref for VideoEncodeH264RateControlInfoEXTBuilder<'a> { type Target = VideoEncodeH264RateControlInfoEXT; fn deref(&self) -> &Self::Target { @@ -57408,7 +58026,7 @@ impl<'a> VideoEncodeH264RateControlInfoEXTBuilder<'a> { #[inline] pub fn rate_control_structure( mut self, - rate_control_structure: VideoEncodeH264RateControlStructureFlagsEXT, + rate_control_structure: VideoEncodeH264RateControlStructureEXT, ) -> Self { self.inner.rate_control_structure = rate_control_structure; self @@ -57589,6 +58207,8 @@ pub struct VideoEncodeH264RateControlLayerInfoEXTBuilder<'a> { inner: VideoEncodeH264RateControlLayerInfoEXT, marker: ::std::marker::PhantomData<&'a ()>, } +unsafe impl ExtendsVideoCodingControlInfoKHR for VideoEncodeH264RateControlLayerInfoEXTBuilder<'_> {} +unsafe impl ExtendsVideoCodingControlInfoKHR for VideoEncodeH264RateControlLayerInfoEXT {} unsafe impl ExtendsVideoEncodeRateControlLayerInfoKHR for VideoEncodeH264RateControlLayerInfoEXTBuilder<'_> { @@ -57731,8 +58351,8 @@ pub struct VideoEncodeH265CapabilitiesEXTBuilder<'a> { inner: VideoEncodeH265CapabilitiesEXT, marker: ::std::marker::PhantomData<&'a ()>, } -unsafe impl ExtendsVideoEncodeCapabilitiesKHR for VideoEncodeH265CapabilitiesEXTBuilder<'_> {} -unsafe impl ExtendsVideoEncodeCapabilitiesKHR for VideoEncodeH265CapabilitiesEXT {} +unsafe impl ExtendsVideoCapabilitiesKHR for VideoEncodeH265CapabilitiesEXTBuilder<'_> {} +unsafe impl ExtendsVideoCapabilitiesKHR for VideoEncodeH265CapabilitiesEXT {} impl<'a> ::std::ops::Deref for VideoEncodeH265CapabilitiesEXTBuilder<'a> { type Target = VideoEncodeH265CapabilitiesEXT; fn deref(&self) -> &Self::Target { @@ -58086,9 +58706,9 @@ impl<'a> VideoEncodeH265SessionParametersCreateInfoEXTBuilder<'a> { pub struct VideoEncodeH265VclFrameInfoEXT { pub s_type: StructureType, pub p_next: *const c_void, - pub p_reference_final_lists: *const VideoEncodeH265ReferenceListsEXT, + pub p_reference_final_lists: *const VideoEncodeH265ReferenceListsInfoEXT, pub nalu_slice_segment_entry_count: u32, - pub p_nalu_slice_segment_entries: *const VideoEncodeH265NaluSliceSegmentEXT, + pub p_nalu_slice_segment_entries: *const VideoEncodeH265NaluSliceSegmentInfoEXT, pub p_current_picture_info: *const StdVideoEncodeH265PictureInfo, } impl ::std::default::Default for VideoEncodeH265VclFrameInfoEXT { @@ -58137,7 +58757,7 @@ impl<'a> VideoEncodeH265VclFrameInfoEXTBuilder<'a> { #[inline] pub fn reference_final_lists( mut self, - reference_final_lists: &'a VideoEncodeH265ReferenceListsEXT, + reference_final_lists: &'a VideoEncodeH265ReferenceListsInfoEXT, ) -> Self { self.inner.p_reference_final_lists = reference_final_lists; self @@ -58145,7 +58765,7 @@ impl<'a> VideoEncodeH265VclFrameInfoEXTBuilder<'a> { #[inline] pub fn nalu_slice_segment_entries( mut self, - nalu_slice_segment_entries: &'a [VideoEncodeH265NaluSliceSegmentEXT], + nalu_slice_segment_entries: &'a [VideoEncodeH265NaluSliceSegmentInfoEXT], ) -> Self { self.inner.nalu_slice_segment_entry_count = nalu_slice_segment_entries.len() as _; self.inner.p_nalu_slice_segment_entries = nalu_slice_segment_entries.as_ptr(); @@ -58169,8 +58789,8 @@ impl<'a> VideoEncodeH265VclFrameInfoEXTBuilder<'a> { #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] -#[doc = ""] -pub struct VideoEncodeH265EmitPictureParametersEXT { +#[doc = ""] +pub struct VideoEncodeH265EmitPictureParametersInfoEXT { pub s_type: StructureType, pub p_next: *const c_void, pub vps_id: u8, @@ -58180,7 +58800,7 @@ pub struct VideoEncodeH265EmitPictureParametersEXT { pub pps_id_entry_count: u32, pub pps_id_entries: *const u8, } -impl ::std::default::Default for VideoEncodeH265EmitPictureParametersEXT { +impl ::std::default::Default for VideoEncodeH265EmitPictureParametersInfoEXT { #[inline] fn default() -> Self { Self { @@ -58195,37 +58815,37 @@ impl ::std::default::Default for VideoEncodeH265EmitPictureParametersEXT { } } } -unsafe impl TaggedStructure for VideoEncodeH265EmitPictureParametersEXT { +unsafe impl TaggedStructure for VideoEncodeH265EmitPictureParametersInfoEXT { const STRUCTURE_TYPE: StructureType = - StructureType::VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_EXT; + StructureType::VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_INFO_EXT; } -impl VideoEncodeH265EmitPictureParametersEXT { - pub fn builder<'a>() -> VideoEncodeH265EmitPictureParametersEXTBuilder<'a> { - VideoEncodeH265EmitPictureParametersEXTBuilder { +impl VideoEncodeH265EmitPictureParametersInfoEXT { + pub fn builder<'a>() -> VideoEncodeH265EmitPictureParametersInfoEXTBuilder<'a> { + VideoEncodeH265EmitPictureParametersInfoEXTBuilder { inner: Self::default(), marker: ::std::marker::PhantomData, } } } #[repr(transparent)] -pub struct VideoEncodeH265EmitPictureParametersEXTBuilder<'a> { - inner: VideoEncodeH265EmitPictureParametersEXT, +pub struct VideoEncodeH265EmitPictureParametersInfoEXTBuilder<'a> { + inner: VideoEncodeH265EmitPictureParametersInfoEXT, marker: ::std::marker::PhantomData<&'a ()>, } -unsafe impl ExtendsVideoEncodeInfoKHR for VideoEncodeH265EmitPictureParametersEXTBuilder<'_> {} -unsafe impl ExtendsVideoEncodeInfoKHR for VideoEncodeH265EmitPictureParametersEXT {} -impl<'a> ::std::ops::Deref for VideoEncodeH265EmitPictureParametersEXTBuilder<'a> { - type Target = VideoEncodeH265EmitPictureParametersEXT; +unsafe impl ExtendsVideoEncodeInfoKHR for VideoEncodeH265EmitPictureParametersInfoEXTBuilder<'_> {} +unsafe impl ExtendsVideoEncodeInfoKHR for VideoEncodeH265EmitPictureParametersInfoEXT {} +impl<'a> ::std::ops::Deref for VideoEncodeH265EmitPictureParametersInfoEXTBuilder<'a> { + type Target = VideoEncodeH265EmitPictureParametersInfoEXT; fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> ::std::ops::DerefMut for VideoEncodeH265EmitPictureParametersEXTBuilder<'a> { +impl<'a> ::std::ops::DerefMut for VideoEncodeH265EmitPictureParametersInfoEXTBuilder<'a> { fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -impl<'a> VideoEncodeH265EmitPictureParametersEXTBuilder<'a> { +impl<'a> VideoEncodeH265EmitPictureParametersInfoEXTBuilder<'a> { #[inline] pub fn vps_id(mut self, vps_id: u8) -> Self { self.inner.vps_id = vps_id; @@ -58255,22 +58875,22 @@ impl<'a> VideoEncodeH265EmitPictureParametersEXTBuilder<'a> { #[doc = r" Calling build will **discard** all the lifetime information. Only call this if"] #[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"] #[doc = r" so references to builders can be passed directly to Vulkan functions."] - pub fn build(self) -> VideoEncodeH265EmitPictureParametersEXT { + pub fn build(self) -> VideoEncodeH265EmitPictureParametersInfoEXT { self.inner } } #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] -#[doc = ""] -pub struct VideoEncodeH265NaluSliceSegmentEXT { +#[doc = ""] +pub struct VideoEncodeH265NaluSliceSegmentInfoEXT { pub s_type: StructureType, pub p_next: *const c_void, pub ctb_count: u32, - pub p_reference_final_lists: *const VideoEncodeH265ReferenceListsEXT, + pub p_reference_final_lists: *const VideoEncodeH265ReferenceListsInfoEXT, pub p_slice_segment_header_std: *const StdVideoEncodeH265SliceSegmentHeader, } -impl ::std::default::Default for VideoEncodeH265NaluSliceSegmentEXT { +impl ::std::default::Default for VideoEncodeH265NaluSliceSegmentInfoEXT { #[inline] fn default() -> Self { Self { @@ -58282,34 +58902,35 @@ impl ::std::default::Default for VideoEncodeH265NaluSliceSegmentEXT { } } } -unsafe impl TaggedStructure for VideoEncodeH265NaluSliceSegmentEXT { - const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_EXT; +unsafe impl TaggedStructure for VideoEncodeH265NaluSliceSegmentInfoEXT { + const STRUCTURE_TYPE: StructureType = + StructureType::VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_EXT; } -impl VideoEncodeH265NaluSliceSegmentEXT { - pub fn builder<'a>() -> VideoEncodeH265NaluSliceSegmentEXTBuilder<'a> { - VideoEncodeH265NaluSliceSegmentEXTBuilder { +impl VideoEncodeH265NaluSliceSegmentInfoEXT { + pub fn builder<'a>() -> VideoEncodeH265NaluSliceSegmentInfoEXTBuilder<'a> { + VideoEncodeH265NaluSliceSegmentInfoEXTBuilder { inner: Self::default(), marker: ::std::marker::PhantomData, } } } #[repr(transparent)] -pub struct VideoEncodeH265NaluSliceSegmentEXTBuilder<'a> { - inner: VideoEncodeH265NaluSliceSegmentEXT, +pub struct VideoEncodeH265NaluSliceSegmentInfoEXTBuilder<'a> { + inner: VideoEncodeH265NaluSliceSegmentInfoEXT, marker: ::std::marker::PhantomData<&'a ()>, } -impl<'a> ::std::ops::Deref for VideoEncodeH265NaluSliceSegmentEXTBuilder<'a> { - type Target = VideoEncodeH265NaluSliceSegmentEXT; +impl<'a> ::std::ops::Deref for VideoEncodeH265NaluSliceSegmentInfoEXTBuilder<'a> { + type Target = VideoEncodeH265NaluSliceSegmentInfoEXT; fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> ::std::ops::DerefMut for VideoEncodeH265NaluSliceSegmentEXTBuilder<'a> { +impl<'a> ::std::ops::DerefMut for VideoEncodeH265NaluSliceSegmentInfoEXTBuilder<'a> { fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -impl<'a> VideoEncodeH265NaluSliceSegmentEXTBuilder<'a> { +impl<'a> VideoEncodeH265NaluSliceSegmentInfoEXTBuilder<'a> { #[inline] pub fn ctb_count(mut self, ctb_count: u32) -> Self { self.inner.ctb_count = ctb_count; @@ -58318,7 +58939,7 @@ impl<'a> VideoEncodeH265NaluSliceSegmentEXTBuilder<'a> { #[inline] pub fn reference_final_lists( mut self, - reference_final_lists: &'a VideoEncodeH265ReferenceListsEXT, + reference_final_lists: &'a VideoEncodeH265ReferenceListsInfoEXT, ) -> Self { self.inner.p_reference_final_lists = reference_final_lists; self @@ -58334,7 +58955,7 @@ impl<'a> VideoEncodeH265NaluSliceSegmentEXTBuilder<'a> { #[doc = r" Calling build will **discard** all the lifetime information. Only call this if"] #[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"] #[doc = r" so references to builders can be passed directly to Vulkan functions."] - pub fn build(self) -> VideoEncodeH265NaluSliceSegmentEXT { + pub fn build(self) -> VideoEncodeH265NaluSliceSegmentInfoEXT { self.inner } } @@ -58348,7 +58969,7 @@ pub struct VideoEncodeH265RateControlInfoEXT { pub gop_frame_count: u32, pub idr_period: u32, pub consecutive_b_frame_count: u32, - pub rate_control_structure: VideoEncodeH265RateControlStructureFlagsEXT, + pub rate_control_structure: VideoEncodeH265RateControlStructureEXT, pub sub_layer_count: u8, } impl ::std::default::Default for VideoEncodeH265RateControlInfoEXT { @@ -58360,7 +58981,7 @@ impl ::std::default::Default for VideoEncodeH265RateControlInfoEXT { gop_frame_count: u32::default(), idr_period: u32::default(), consecutive_b_frame_count: u32::default(), - rate_control_structure: VideoEncodeH265RateControlStructureFlagsEXT::default(), + rate_control_structure: VideoEncodeH265RateControlStructureEXT::default(), sub_layer_count: u8::default(), } } @@ -58381,8 +59002,8 @@ pub struct VideoEncodeH265RateControlInfoEXTBuilder<'a> { inner: VideoEncodeH265RateControlInfoEXT, marker: ::std::marker::PhantomData<&'a ()>, } -unsafe impl ExtendsVideoEncodeRateControlInfoKHR for VideoEncodeH265RateControlInfoEXTBuilder<'_> {} -unsafe impl ExtendsVideoEncodeRateControlInfoKHR for VideoEncodeH265RateControlInfoEXT {} +unsafe impl ExtendsVideoCodingControlInfoKHR for VideoEncodeH265RateControlInfoEXTBuilder<'_> {} +unsafe impl ExtendsVideoCodingControlInfoKHR for VideoEncodeH265RateControlInfoEXT {} impl<'a> ::std::ops::Deref for VideoEncodeH265RateControlInfoEXTBuilder<'a> { type Target = VideoEncodeH265RateControlInfoEXT; fn deref(&self) -> &Self::Target { @@ -58413,7 +59034,7 @@ impl<'a> VideoEncodeH265RateControlInfoEXTBuilder<'a> { #[inline] pub fn rate_control_structure( mut self, - rate_control_structure: VideoEncodeH265RateControlStructureFlagsEXT, + rate_control_structure: VideoEncodeH265RateControlStructureEXT, ) -> Self { self.inner.rate_control_structure = rate_control_structure; self @@ -58594,6 +59215,8 @@ pub struct VideoEncodeH265RateControlLayerInfoEXTBuilder<'a> { inner: VideoEncodeH265RateControlLayerInfoEXT, marker: ::std::marker::PhantomData<&'a ()>, } +unsafe impl ExtendsVideoCodingControlInfoKHR for VideoEncodeH265RateControlLayerInfoEXTBuilder<'_> {} +unsafe impl ExtendsVideoCodingControlInfoKHR for VideoEncodeH265RateControlLayerInfoEXT {} unsafe impl ExtendsVideoEncodeRateControlLayerInfoKHR for VideoEncodeH265RateControlLayerInfoEXTBuilder<'_> { @@ -58666,13 +59289,13 @@ impl<'a> VideoEncodeH265RateControlLayerInfoEXTBuilder<'a> { #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] -#[doc = ""] -pub struct VideoEncodeH265ProfileEXT { +#[doc = ""] +pub struct VideoEncodeH265ProfileInfoEXT { pub s_type: StructureType, pub p_next: *const c_void, pub std_profile_idc: StdVideoH265ProfileIdc, } -impl ::std::default::Default for VideoEncodeH265ProfileEXT { +impl ::std::default::Default for VideoEncodeH265ProfileInfoEXT { #[inline] fn default() -> Self { Self { @@ -58682,38 +59305,38 @@ impl ::std::default::Default for VideoEncodeH265ProfileEXT { } } } -unsafe impl TaggedStructure for VideoEncodeH265ProfileEXT { - const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_ENCODE_H265_PROFILE_EXT; +unsafe impl TaggedStructure for VideoEncodeH265ProfileInfoEXT { + const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_ENCODE_H265_PROFILE_INFO_EXT; } -impl VideoEncodeH265ProfileEXT { - pub fn builder<'a>() -> VideoEncodeH265ProfileEXTBuilder<'a> { - VideoEncodeH265ProfileEXTBuilder { +impl VideoEncodeH265ProfileInfoEXT { + pub fn builder<'a>() -> VideoEncodeH265ProfileInfoEXTBuilder<'a> { + VideoEncodeH265ProfileInfoEXTBuilder { inner: Self::default(), marker: ::std::marker::PhantomData, } } } #[repr(transparent)] -pub struct VideoEncodeH265ProfileEXTBuilder<'a> { - inner: VideoEncodeH265ProfileEXT, +pub struct VideoEncodeH265ProfileInfoEXTBuilder<'a> { + inner: VideoEncodeH265ProfileInfoEXT, marker: ::std::marker::PhantomData<&'a ()>, } -unsafe impl ExtendsVideoProfileKHR for VideoEncodeH265ProfileEXTBuilder<'_> {} -unsafe impl ExtendsVideoProfileKHR for VideoEncodeH265ProfileEXT {} -unsafe impl ExtendsQueryPoolCreateInfo for VideoEncodeH265ProfileEXTBuilder<'_> {} -unsafe impl ExtendsQueryPoolCreateInfo for VideoEncodeH265ProfileEXT {} -impl<'a> ::std::ops::Deref for VideoEncodeH265ProfileEXTBuilder<'a> { - type Target = VideoEncodeH265ProfileEXT; +unsafe impl ExtendsVideoProfileInfoKHR for VideoEncodeH265ProfileInfoEXTBuilder<'_> {} +unsafe impl ExtendsVideoProfileInfoKHR for VideoEncodeH265ProfileInfoEXT {} +unsafe impl ExtendsQueryPoolCreateInfo for VideoEncodeH265ProfileInfoEXTBuilder<'_> {} +unsafe impl ExtendsQueryPoolCreateInfo for VideoEncodeH265ProfileInfoEXT {} +impl<'a> ::std::ops::Deref for VideoEncodeH265ProfileInfoEXTBuilder<'a> { + type Target = VideoEncodeH265ProfileInfoEXT; fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> ::std::ops::DerefMut for VideoEncodeH265ProfileEXTBuilder<'a> { +impl<'a> ::std::ops::DerefMut for VideoEncodeH265ProfileInfoEXTBuilder<'a> { fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -impl<'a> VideoEncodeH265ProfileEXTBuilder<'a> { +impl<'a> VideoEncodeH265ProfileInfoEXTBuilder<'a> { #[inline] pub fn std_profile_idc(mut self, std_profile_idc: StdVideoH265ProfileIdc) -> Self { self.inner.std_profile_idc = std_profile_idc; @@ -58722,7 +59345,7 @@ impl<'a> VideoEncodeH265ProfileEXTBuilder<'a> { #[doc = r" Calling build will **discard** all the lifetime information. Only call this if"] #[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"] #[doc = r" so references to builders can be passed directly to Vulkan functions."] - pub fn build(self) -> VideoEncodeH265ProfileEXT { + pub fn build(self) -> VideoEncodeH265ProfileInfoEXT { self.inner } } @@ -58798,8 +59421,8 @@ impl<'a> VideoEncodeH265DpbSlotInfoEXTBuilder<'a> { #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] -#[doc = ""] -pub struct VideoEncodeH265ReferenceListsEXT { +#[doc = ""] +pub struct VideoEncodeH265ReferenceListsInfoEXT { pub s_type: StructureType, pub p_next: *const c_void, pub reference_list0_entry_count: u8, @@ -58808,7 +59431,7 @@ pub struct VideoEncodeH265ReferenceListsEXT { pub p_reference_list1_entries: *const VideoEncodeH265DpbSlotInfoEXT, pub p_reference_modifications: *const StdVideoEncodeH265ReferenceModifications, } -impl ::std::default::Default for VideoEncodeH265ReferenceListsEXT { +impl ::std::default::Default for VideoEncodeH265ReferenceListsInfoEXT { #[inline] fn default() -> Self { Self { @@ -58822,34 +59445,34 @@ impl ::std::default::Default for VideoEncodeH265ReferenceListsEXT { } } } -unsafe impl TaggedStructure for VideoEncodeH265ReferenceListsEXT { - const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_ENCODE_H265_REFERENCE_LISTS_EXT; +unsafe impl TaggedStructure for VideoEncodeH265ReferenceListsInfoEXT { + const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_ENCODE_H265_REFERENCE_LISTS_INFO_EXT; } -impl VideoEncodeH265ReferenceListsEXT { - pub fn builder<'a>() -> VideoEncodeH265ReferenceListsEXTBuilder<'a> { - VideoEncodeH265ReferenceListsEXTBuilder { +impl VideoEncodeH265ReferenceListsInfoEXT { + pub fn builder<'a>() -> VideoEncodeH265ReferenceListsInfoEXTBuilder<'a> { + VideoEncodeH265ReferenceListsInfoEXTBuilder { inner: Self::default(), marker: ::std::marker::PhantomData, } } } #[repr(transparent)] -pub struct VideoEncodeH265ReferenceListsEXTBuilder<'a> { - inner: VideoEncodeH265ReferenceListsEXT, +pub struct VideoEncodeH265ReferenceListsInfoEXTBuilder<'a> { + inner: VideoEncodeH265ReferenceListsInfoEXT, marker: ::std::marker::PhantomData<&'a ()>, } -impl<'a> ::std::ops::Deref for VideoEncodeH265ReferenceListsEXTBuilder<'a> { - type Target = VideoEncodeH265ReferenceListsEXT; +impl<'a> ::std::ops::Deref for VideoEncodeH265ReferenceListsInfoEXTBuilder<'a> { + type Target = VideoEncodeH265ReferenceListsInfoEXT; fn deref(&self) -> &Self::Target { &self.inner } } -impl<'a> ::std::ops::DerefMut for VideoEncodeH265ReferenceListsEXTBuilder<'a> { +impl<'a> ::std::ops::DerefMut for VideoEncodeH265ReferenceListsInfoEXTBuilder<'a> { fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -impl<'a> VideoEncodeH265ReferenceListsEXTBuilder<'a> { +impl<'a> VideoEncodeH265ReferenceListsInfoEXTBuilder<'a> { #[inline] pub fn reference_list0_entries( mut self, @@ -58879,7 +59502,7 @@ impl<'a> VideoEncodeH265ReferenceListsEXTBuilder<'a> { #[doc = r" Calling build will **discard** all the lifetime information. Only call this if"] #[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"] #[doc = r" so references to builders can be passed directly to Vulkan functions."] - pub fn build(self) -> VideoEncodeH265ReferenceListsEXT { + pub fn build(self) -> VideoEncodeH265ReferenceListsInfoEXT { self.inner } } @@ -62918,15 +63541,15 @@ impl<'a> ImageViewMinLodCreateInfoEXTBuilder<'a> { #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] -#[doc = ""] -pub struct PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM { +#[doc = ""] +pub struct PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT { pub s_type: StructureType, pub p_next: *mut c_void, pub rasterization_order_color_attachment_access: Bool32, pub rasterization_order_depth_attachment_access: Bool32, pub rasterization_order_stencil_attachment_access: Bool32, } -impl ::std::default::Default for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM { +impl ::std::default::Default for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT { #[inline] fn default() -> Self { Self { @@ -62938,55 +63561,55 @@ impl ::std::default::Default for PhysicalDeviceRasterizationOrderAttachmentAcces } } } -unsafe impl TaggedStructure for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM { +unsafe impl TaggedStructure for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT { const STRUCTURE_TYPE: StructureType = - StructureType::PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM; + StructureType::PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT; } -impl PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM { - pub fn builder<'a>() -> PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARMBuilder<'a> { - PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARMBuilder { +impl PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT { + pub fn builder<'a>() -> PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXTBuilder<'a> { + PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXTBuilder { inner: Self::default(), marker: ::std::marker::PhantomData, } } } #[repr(transparent)] -pub struct PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARMBuilder<'a> { - inner: PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM, +pub struct PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXTBuilder<'a> { + inner: PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT, marker: ::std::marker::PhantomData<&'a ()>, } unsafe impl ExtendsPhysicalDeviceFeatures2 - for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARMBuilder<'_> + for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXTBuilder<'_> { } unsafe impl ExtendsPhysicalDeviceFeatures2 - for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM + for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT { } unsafe impl ExtendsDeviceCreateInfo - for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARMBuilder<'_> + for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXTBuilder<'_> { } unsafe impl ExtendsDeviceCreateInfo - for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM + for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT { } impl<'a> ::std::ops::Deref - for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARMBuilder<'a> + for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXTBuilder<'a> { - type Target = PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM; + type Target = PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT; fn deref(&self) -> &Self::Target { &self.inner } } impl<'a> ::std::ops::DerefMut - for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARMBuilder<'a> + for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXTBuilder<'a> { fn deref_mut(&mut self) -> &mut Self::Target { &mut self.inner } } -impl<'a> PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARMBuilder<'a> { +impl<'a> PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXTBuilder<'a> { #[inline] pub fn rasterization_order_color_attachment_access( mut self, @@ -63017,7 +63640,7 @@ impl<'a> PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARMBuilder<'a> #[doc = r" Calling build will **discard** all the lifetime information. Only call this if"] #[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"] #[doc = r" so references to builders can be passed directly to Vulkan functions."] - pub fn build(self) -> PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM { + pub fn build(self) -> PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT { self.inner } } @@ -65693,3 +66316,910 @@ impl<'a> PhysicalDeviceNonSeamlessCubeMapFeaturesEXTBuilder<'a> { self.inner } } +#[repr(C)] +#[cfg_attr(feature = "debug", derive(Debug))] +#[derive(Copy, Clone)] +#[doc = ""] +pub struct PhysicalDevicePipelineRobustnessFeaturesEXT { + pub s_type: StructureType, + pub p_next: *mut c_void, + pub pipeline_robustness: Bool32, +} +impl ::std::default::Default for PhysicalDevicePipelineRobustnessFeaturesEXT { + #[inline] + fn default() -> Self { + Self { + s_type: Self::STRUCTURE_TYPE, + p_next: ::std::ptr::null_mut(), + pipeline_robustness: Bool32::default(), + } + } +} +unsafe impl TaggedStructure for PhysicalDevicePipelineRobustnessFeaturesEXT { + const STRUCTURE_TYPE: StructureType = + StructureType::PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT; +} +impl PhysicalDevicePipelineRobustnessFeaturesEXT { + pub fn builder<'a>() -> PhysicalDevicePipelineRobustnessFeaturesEXTBuilder<'a> { + PhysicalDevicePipelineRobustnessFeaturesEXTBuilder { + inner: Self::default(), + marker: ::std::marker::PhantomData, + } + } +} +#[repr(transparent)] +pub struct PhysicalDevicePipelineRobustnessFeaturesEXTBuilder<'a> { + inner: PhysicalDevicePipelineRobustnessFeaturesEXT, + marker: ::std::marker::PhantomData<&'a ()>, +} +unsafe impl ExtendsPhysicalDeviceFeatures2 + for PhysicalDevicePipelineRobustnessFeaturesEXTBuilder<'_> +{ +} +unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDevicePipelineRobustnessFeaturesEXT {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDevicePipelineRobustnessFeaturesEXTBuilder<'_> {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDevicePipelineRobustnessFeaturesEXT {} +impl<'a> ::std::ops::Deref for PhysicalDevicePipelineRobustnessFeaturesEXTBuilder<'a> { + type Target = PhysicalDevicePipelineRobustnessFeaturesEXT; + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> ::std::ops::DerefMut for PhysicalDevicePipelineRobustnessFeaturesEXTBuilder<'a> { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +impl<'a> PhysicalDevicePipelineRobustnessFeaturesEXTBuilder<'a> { + #[inline] + pub fn pipeline_robustness(mut self, pipeline_robustness: bool) -> Self { + self.inner.pipeline_robustness = pipeline_robustness.into(); + self + } + #[doc = r" Calling build will **discard** all the lifetime information. Only call this if"] + #[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"] + #[doc = r" so references to builders can be passed directly to Vulkan functions."] + pub fn build(self) -> PhysicalDevicePipelineRobustnessFeaturesEXT { + self.inner + } +} +#[repr(C)] +#[cfg_attr(feature = "debug", derive(Debug))] +#[derive(Copy, Clone)] +#[doc = ""] +pub struct PipelineRobustnessCreateInfoEXT { + pub s_type: StructureType, + pub p_next: *const c_void, + pub storage_buffers: PipelineRobustnessBufferBehaviorEXT, + pub uniform_buffers: PipelineRobustnessBufferBehaviorEXT, + pub vertex_inputs: PipelineRobustnessBufferBehaviorEXT, + pub images: PipelineRobustnessImageBehaviorEXT, +} +impl ::std::default::Default for PipelineRobustnessCreateInfoEXT { + #[inline] + fn default() -> Self { + Self { + s_type: Self::STRUCTURE_TYPE, + p_next: ::std::ptr::null(), + storage_buffers: PipelineRobustnessBufferBehaviorEXT::default(), + uniform_buffers: PipelineRobustnessBufferBehaviorEXT::default(), + vertex_inputs: PipelineRobustnessBufferBehaviorEXT::default(), + images: PipelineRobustnessImageBehaviorEXT::default(), + } + } +} +unsafe impl TaggedStructure for PipelineRobustnessCreateInfoEXT { + const STRUCTURE_TYPE: StructureType = StructureType::PIPELINE_ROBUSTNESS_CREATE_INFO_EXT; +} +impl PipelineRobustnessCreateInfoEXT { + pub fn builder<'a>() -> PipelineRobustnessCreateInfoEXTBuilder<'a> { + PipelineRobustnessCreateInfoEXTBuilder { + inner: Self::default(), + marker: ::std::marker::PhantomData, + } + } +} +#[repr(transparent)] +pub struct PipelineRobustnessCreateInfoEXTBuilder<'a> { + inner: PipelineRobustnessCreateInfoEXT, + marker: ::std::marker::PhantomData<&'a ()>, +} +unsafe impl ExtendsGraphicsPipelineCreateInfo for PipelineRobustnessCreateInfoEXTBuilder<'_> {} +unsafe impl ExtendsGraphicsPipelineCreateInfo for PipelineRobustnessCreateInfoEXT {} +unsafe impl ExtendsComputePipelineCreateInfo for PipelineRobustnessCreateInfoEXTBuilder<'_> {} +unsafe impl ExtendsComputePipelineCreateInfo for PipelineRobustnessCreateInfoEXT {} +unsafe impl ExtendsPipelineShaderStageCreateInfo for PipelineRobustnessCreateInfoEXTBuilder<'_> {} +unsafe impl ExtendsPipelineShaderStageCreateInfo for PipelineRobustnessCreateInfoEXT {} +unsafe impl ExtendsRayTracingPipelineCreateInfoKHR for PipelineRobustnessCreateInfoEXTBuilder<'_> {} +unsafe impl ExtendsRayTracingPipelineCreateInfoKHR for PipelineRobustnessCreateInfoEXT {} +impl<'a> ::std::ops::Deref for PipelineRobustnessCreateInfoEXTBuilder<'a> { + type Target = PipelineRobustnessCreateInfoEXT; + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> ::std::ops::DerefMut for PipelineRobustnessCreateInfoEXTBuilder<'a> { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +impl<'a> PipelineRobustnessCreateInfoEXTBuilder<'a> { + #[inline] + pub fn storage_buffers(mut self, storage_buffers: PipelineRobustnessBufferBehaviorEXT) -> Self { + self.inner.storage_buffers = storage_buffers; + self + } + #[inline] + pub fn uniform_buffers(mut self, uniform_buffers: PipelineRobustnessBufferBehaviorEXT) -> Self { + self.inner.uniform_buffers = uniform_buffers; + self + } + #[inline] + pub fn vertex_inputs(mut self, vertex_inputs: PipelineRobustnessBufferBehaviorEXT) -> Self { + self.inner.vertex_inputs = vertex_inputs; + self + } + #[inline] + pub fn images(mut self, images: PipelineRobustnessImageBehaviorEXT) -> Self { + self.inner.images = images; + self + } + #[doc = r" Calling build will **discard** all the lifetime information. Only call this if"] + #[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"] + #[doc = r" so references to builders can be passed directly to Vulkan functions."] + pub fn build(self) -> PipelineRobustnessCreateInfoEXT { + self.inner + } +} +#[repr(C)] +#[cfg_attr(feature = "debug", derive(Debug))] +#[derive(Copy, Clone)] +#[doc = ""] +pub struct PhysicalDevicePipelineRobustnessPropertiesEXT { + pub s_type: StructureType, + pub p_next: *mut c_void, + pub default_robustness_storage_buffers: PipelineRobustnessBufferBehaviorEXT, + pub default_robustness_uniform_buffers: PipelineRobustnessBufferBehaviorEXT, + pub default_robustness_vertex_inputs: PipelineRobustnessBufferBehaviorEXT, + pub default_robustness_images: PipelineRobustnessImageBehaviorEXT, +} +impl ::std::default::Default for PhysicalDevicePipelineRobustnessPropertiesEXT { + #[inline] + fn default() -> Self { + Self { + s_type: Self::STRUCTURE_TYPE, + p_next: ::std::ptr::null_mut(), + default_robustness_storage_buffers: PipelineRobustnessBufferBehaviorEXT::default(), + default_robustness_uniform_buffers: PipelineRobustnessBufferBehaviorEXT::default(), + default_robustness_vertex_inputs: PipelineRobustnessBufferBehaviorEXT::default(), + default_robustness_images: PipelineRobustnessImageBehaviorEXT::default(), + } + } +} +unsafe impl TaggedStructure for PhysicalDevicePipelineRobustnessPropertiesEXT { + const STRUCTURE_TYPE: StructureType = + StructureType::PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT; +} +impl PhysicalDevicePipelineRobustnessPropertiesEXT { + pub fn builder<'a>() -> PhysicalDevicePipelineRobustnessPropertiesEXTBuilder<'a> { + PhysicalDevicePipelineRobustnessPropertiesEXTBuilder { + inner: Self::default(), + marker: ::std::marker::PhantomData, + } + } +} +#[repr(transparent)] +pub struct PhysicalDevicePipelineRobustnessPropertiesEXTBuilder<'a> { + inner: PhysicalDevicePipelineRobustnessPropertiesEXT, + marker: ::std::marker::PhantomData<&'a ()>, +} +unsafe impl ExtendsPhysicalDeviceProperties2 + for PhysicalDevicePipelineRobustnessPropertiesEXTBuilder<'_> +{ +} +unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDevicePipelineRobustnessPropertiesEXT {} +impl<'a> ::std::ops::Deref for PhysicalDevicePipelineRobustnessPropertiesEXTBuilder<'a> { + type Target = PhysicalDevicePipelineRobustnessPropertiesEXT; + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> ::std::ops::DerefMut for PhysicalDevicePipelineRobustnessPropertiesEXTBuilder<'a> { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +impl<'a> PhysicalDevicePipelineRobustnessPropertiesEXTBuilder<'a> { + #[inline] + pub fn default_robustness_storage_buffers( + mut self, + default_robustness_storage_buffers: PipelineRobustnessBufferBehaviorEXT, + ) -> Self { + self.inner.default_robustness_storage_buffers = default_robustness_storage_buffers; + self + } + #[inline] + pub fn default_robustness_uniform_buffers( + mut self, + default_robustness_uniform_buffers: PipelineRobustnessBufferBehaviorEXT, + ) -> Self { + self.inner.default_robustness_uniform_buffers = default_robustness_uniform_buffers; + self + } + #[inline] + pub fn default_robustness_vertex_inputs( + mut self, + default_robustness_vertex_inputs: PipelineRobustnessBufferBehaviorEXT, + ) -> Self { + self.inner.default_robustness_vertex_inputs = default_robustness_vertex_inputs; + self + } + #[inline] + pub fn default_robustness_images( + mut self, + default_robustness_images: PipelineRobustnessImageBehaviorEXT, + ) -> Self { + self.inner.default_robustness_images = default_robustness_images; + self + } + #[doc = r" Calling build will **discard** all the lifetime information. Only call this if"] + #[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"] + #[doc = r" so references to builders can be passed directly to Vulkan functions."] + pub fn build(self) -> PhysicalDevicePipelineRobustnessPropertiesEXT { + self.inner + } +} +#[repr(C)] +#[cfg_attr(feature = "debug", derive(Debug))] +#[derive(Copy, Clone)] +#[doc = ""] +pub struct ImageViewSampleWeightCreateInfoQCOM { + pub s_type: StructureType, + pub p_next: *const c_void, + pub filter_center: Offset2D, + pub filter_size: Extent2D, + pub num_phases: u32, +} +impl ::std::default::Default for ImageViewSampleWeightCreateInfoQCOM { + #[inline] + fn default() -> Self { + Self { + s_type: Self::STRUCTURE_TYPE, + p_next: ::std::ptr::null(), + filter_center: Offset2D::default(), + filter_size: Extent2D::default(), + num_phases: u32::default(), + } + } +} +unsafe impl TaggedStructure for ImageViewSampleWeightCreateInfoQCOM { + const STRUCTURE_TYPE: StructureType = StructureType::IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM; +} +impl ImageViewSampleWeightCreateInfoQCOM { + pub fn builder<'a>() -> ImageViewSampleWeightCreateInfoQCOMBuilder<'a> { + ImageViewSampleWeightCreateInfoQCOMBuilder { + inner: Self::default(), + marker: ::std::marker::PhantomData, + } + } +} +#[repr(transparent)] +pub struct ImageViewSampleWeightCreateInfoQCOMBuilder<'a> { + inner: ImageViewSampleWeightCreateInfoQCOM, + marker: ::std::marker::PhantomData<&'a ()>, +} +unsafe impl ExtendsImageViewCreateInfo for ImageViewSampleWeightCreateInfoQCOMBuilder<'_> {} +unsafe impl ExtendsImageViewCreateInfo for ImageViewSampleWeightCreateInfoQCOM {} +impl<'a> ::std::ops::Deref for ImageViewSampleWeightCreateInfoQCOMBuilder<'a> { + type Target = ImageViewSampleWeightCreateInfoQCOM; + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> ::std::ops::DerefMut for ImageViewSampleWeightCreateInfoQCOMBuilder<'a> { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +impl<'a> ImageViewSampleWeightCreateInfoQCOMBuilder<'a> { + #[inline] + pub fn filter_center(mut self, filter_center: Offset2D) -> Self { + self.inner.filter_center = filter_center; + self + } + #[inline] + pub fn filter_size(mut self, filter_size: Extent2D) -> Self { + self.inner.filter_size = filter_size; + self + } + #[inline] + pub fn num_phases(mut self, num_phases: u32) -> Self { + self.inner.num_phases = num_phases; + self + } + #[doc = r" Calling build will **discard** all the lifetime information. Only call this if"] + #[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"] + #[doc = r" so references to builders can be passed directly to Vulkan functions."] + pub fn build(self) -> ImageViewSampleWeightCreateInfoQCOM { + self.inner + } +} +#[repr(C)] +#[cfg_attr(feature = "debug", derive(Debug))] +#[derive(Copy, Clone)] +#[doc = ""] +pub struct PhysicalDeviceImageProcessingFeaturesQCOM { + pub s_type: StructureType, + pub p_next: *mut c_void, + pub texture_sample_weighted: Bool32, + pub texture_box_filter: Bool32, + pub texture_block_match: Bool32, +} +impl ::std::default::Default for PhysicalDeviceImageProcessingFeaturesQCOM { + #[inline] + fn default() -> Self { + Self { + s_type: Self::STRUCTURE_TYPE, + p_next: ::std::ptr::null_mut(), + texture_sample_weighted: Bool32::default(), + texture_box_filter: Bool32::default(), + texture_block_match: Bool32::default(), + } + } +} +unsafe impl TaggedStructure for PhysicalDeviceImageProcessingFeaturesQCOM { + const STRUCTURE_TYPE: StructureType = + StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM; +} +impl PhysicalDeviceImageProcessingFeaturesQCOM { + pub fn builder<'a>() -> PhysicalDeviceImageProcessingFeaturesQCOMBuilder<'a> { + PhysicalDeviceImageProcessingFeaturesQCOMBuilder { + inner: Self::default(), + marker: ::std::marker::PhantomData, + } + } +} +#[repr(transparent)] +pub struct PhysicalDeviceImageProcessingFeaturesQCOMBuilder<'a> { + inner: PhysicalDeviceImageProcessingFeaturesQCOM, + marker: ::std::marker::PhantomData<&'a ()>, +} +unsafe impl ExtendsPhysicalDeviceFeatures2 + for PhysicalDeviceImageProcessingFeaturesQCOMBuilder<'_> +{ +} +unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceImageProcessingFeaturesQCOM {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceImageProcessingFeaturesQCOMBuilder<'_> {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceImageProcessingFeaturesQCOM {} +impl<'a> ::std::ops::Deref for PhysicalDeviceImageProcessingFeaturesQCOMBuilder<'a> { + type Target = PhysicalDeviceImageProcessingFeaturesQCOM; + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> ::std::ops::DerefMut for PhysicalDeviceImageProcessingFeaturesQCOMBuilder<'a> { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +impl<'a> PhysicalDeviceImageProcessingFeaturesQCOMBuilder<'a> { + #[inline] + pub fn texture_sample_weighted(mut self, texture_sample_weighted: bool) -> Self { + self.inner.texture_sample_weighted = texture_sample_weighted.into(); + self + } + #[inline] + pub fn texture_box_filter(mut self, texture_box_filter: bool) -> Self { + self.inner.texture_box_filter = texture_box_filter.into(); + self + } + #[inline] + pub fn texture_block_match(mut self, texture_block_match: bool) -> Self { + self.inner.texture_block_match = texture_block_match.into(); + self + } + #[doc = r" Calling build will **discard** all the lifetime information. Only call this if"] + #[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"] + #[doc = r" so references to builders can be passed directly to Vulkan functions."] + pub fn build(self) -> PhysicalDeviceImageProcessingFeaturesQCOM { + self.inner + } +} +#[repr(C)] +#[cfg_attr(feature = "debug", derive(Debug))] +#[derive(Copy, Clone)] +#[doc = ""] +pub struct PhysicalDeviceImageProcessingPropertiesQCOM { + pub s_type: StructureType, + pub p_next: *mut c_void, + pub max_weight_filter_phases: u32, + pub max_weight_filter_dimension: Extent2D, + pub max_block_match_region: Extent2D, + pub max_box_filter_block_size: Extent2D, +} +impl ::std::default::Default for PhysicalDeviceImageProcessingPropertiesQCOM { + #[inline] + fn default() -> Self { + Self { + s_type: Self::STRUCTURE_TYPE, + p_next: ::std::ptr::null_mut(), + max_weight_filter_phases: u32::default(), + max_weight_filter_dimension: Extent2D::default(), + max_block_match_region: Extent2D::default(), + max_box_filter_block_size: Extent2D::default(), + } + } +} +unsafe impl TaggedStructure for PhysicalDeviceImageProcessingPropertiesQCOM { + const STRUCTURE_TYPE: StructureType = + StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM; +} +impl PhysicalDeviceImageProcessingPropertiesQCOM { + pub fn builder<'a>() -> PhysicalDeviceImageProcessingPropertiesQCOMBuilder<'a> { + PhysicalDeviceImageProcessingPropertiesQCOMBuilder { + inner: Self::default(), + marker: ::std::marker::PhantomData, + } + } +} +#[repr(transparent)] +pub struct PhysicalDeviceImageProcessingPropertiesQCOMBuilder<'a> { + inner: PhysicalDeviceImageProcessingPropertiesQCOM, + marker: ::std::marker::PhantomData<&'a ()>, +} +unsafe impl ExtendsPhysicalDeviceProperties2 + for PhysicalDeviceImageProcessingPropertiesQCOMBuilder<'_> +{ +} +unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceImageProcessingPropertiesQCOM {} +impl<'a> ::std::ops::Deref for PhysicalDeviceImageProcessingPropertiesQCOMBuilder<'a> { + type Target = PhysicalDeviceImageProcessingPropertiesQCOM; + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> ::std::ops::DerefMut for PhysicalDeviceImageProcessingPropertiesQCOMBuilder<'a> { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +impl<'a> PhysicalDeviceImageProcessingPropertiesQCOMBuilder<'a> { + #[inline] + pub fn max_weight_filter_phases(mut self, max_weight_filter_phases: u32) -> Self { + self.inner.max_weight_filter_phases = max_weight_filter_phases; + self + } + #[inline] + pub fn max_weight_filter_dimension(mut self, max_weight_filter_dimension: Extent2D) -> Self { + self.inner.max_weight_filter_dimension = max_weight_filter_dimension; + self + } + #[inline] + pub fn max_block_match_region(mut self, max_block_match_region: Extent2D) -> Self { + self.inner.max_block_match_region = max_block_match_region; + self + } + #[inline] + pub fn max_box_filter_block_size(mut self, max_box_filter_block_size: Extent2D) -> Self { + self.inner.max_box_filter_block_size = max_box_filter_block_size; + self + } + #[doc = r" Calling build will **discard** all the lifetime information. Only call this if"] + #[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"] + #[doc = r" so references to builders can be passed directly to Vulkan functions."] + pub fn build(self) -> PhysicalDeviceImageProcessingPropertiesQCOM { + self.inner + } +} +#[repr(C)] +#[cfg_attr(feature = "debug", derive(Debug))] +#[derive(Copy, Clone)] +#[doc = ""] +pub struct PhysicalDeviceTilePropertiesFeaturesQCOM { + pub s_type: StructureType, + pub p_next: *mut c_void, + pub tile_properties: Bool32, +} +impl ::std::default::Default for PhysicalDeviceTilePropertiesFeaturesQCOM { + #[inline] + fn default() -> Self { + Self { + s_type: Self::STRUCTURE_TYPE, + p_next: ::std::ptr::null_mut(), + tile_properties: Bool32::default(), + } + } +} +unsafe impl TaggedStructure for PhysicalDeviceTilePropertiesFeaturesQCOM { + const STRUCTURE_TYPE: StructureType = + StructureType::PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM; +} +impl PhysicalDeviceTilePropertiesFeaturesQCOM { + pub fn builder<'a>() -> PhysicalDeviceTilePropertiesFeaturesQCOMBuilder<'a> { + PhysicalDeviceTilePropertiesFeaturesQCOMBuilder { + inner: Self::default(), + marker: ::std::marker::PhantomData, + } + } +} +#[repr(transparent)] +pub struct PhysicalDeviceTilePropertiesFeaturesQCOMBuilder<'a> { + inner: PhysicalDeviceTilePropertiesFeaturesQCOM, + marker: ::std::marker::PhantomData<&'a ()>, +} +unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceTilePropertiesFeaturesQCOMBuilder<'_> {} +unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceTilePropertiesFeaturesQCOM {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceTilePropertiesFeaturesQCOMBuilder<'_> {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceTilePropertiesFeaturesQCOM {} +impl<'a> ::std::ops::Deref for PhysicalDeviceTilePropertiesFeaturesQCOMBuilder<'a> { + type Target = PhysicalDeviceTilePropertiesFeaturesQCOM; + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> ::std::ops::DerefMut for PhysicalDeviceTilePropertiesFeaturesQCOMBuilder<'a> { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +impl<'a> PhysicalDeviceTilePropertiesFeaturesQCOMBuilder<'a> { + #[inline] + pub fn tile_properties(mut self, tile_properties: bool) -> Self { + self.inner.tile_properties = tile_properties.into(); + self + } + #[doc = r" Calling build will **discard** all the lifetime information. Only call this if"] + #[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"] + #[doc = r" so references to builders can be passed directly to Vulkan functions."] + pub fn build(self) -> PhysicalDeviceTilePropertiesFeaturesQCOM { + self.inner + } +} +#[repr(C)] +#[cfg_attr(feature = "debug", derive(Debug))] +#[derive(Copy, Clone)] +#[doc = ""] +pub struct TilePropertiesQCOM { + pub s_type: StructureType, + pub p_next: *mut c_void, + pub tile_size: Extent3D, + pub apron_size: Extent2D, + pub origin: Offset2D, +} +impl ::std::default::Default for TilePropertiesQCOM { + #[inline] + fn default() -> Self { + Self { + s_type: Self::STRUCTURE_TYPE, + p_next: ::std::ptr::null_mut(), + tile_size: Extent3D::default(), + apron_size: Extent2D::default(), + origin: Offset2D::default(), + } + } +} +unsafe impl TaggedStructure for TilePropertiesQCOM { + const STRUCTURE_TYPE: StructureType = StructureType::TILE_PROPERTIES_QCOM; +} +impl TilePropertiesQCOM { + pub fn builder<'a>() -> TilePropertiesQCOMBuilder<'a> { + TilePropertiesQCOMBuilder { + inner: Self::default(), + marker: ::std::marker::PhantomData, + } + } +} +#[repr(transparent)] +pub struct TilePropertiesQCOMBuilder<'a> { + inner: TilePropertiesQCOM, + marker: ::std::marker::PhantomData<&'a ()>, +} +impl<'a> ::std::ops::Deref for TilePropertiesQCOMBuilder<'a> { + type Target = TilePropertiesQCOM; + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> ::std::ops::DerefMut for TilePropertiesQCOMBuilder<'a> { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +impl<'a> TilePropertiesQCOMBuilder<'a> { + #[inline] + pub fn tile_size(mut self, tile_size: Extent3D) -> Self { + self.inner.tile_size = tile_size; + self + } + #[inline] + pub fn apron_size(mut self, apron_size: Extent2D) -> Self { + self.inner.apron_size = apron_size; + self + } + #[inline] + pub fn origin(mut self, origin: Offset2D) -> Self { + self.inner.origin = origin; + self + } + #[doc = r" Calling build will **discard** all the lifetime information. Only call this if"] + #[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"] + #[doc = r" so references to builders can be passed directly to Vulkan functions."] + pub fn build(self) -> TilePropertiesQCOM { + self.inner + } +} +#[repr(C)] +#[cfg_attr(feature = "debug", derive(Debug))] +#[derive(Copy, Clone)] +#[doc = ""] +pub struct PhysicalDeviceAmigoProfilingFeaturesSEC { + pub s_type: StructureType, + pub p_next: *mut c_void, + pub amigo_profiling: Bool32, +} +impl ::std::default::Default for PhysicalDeviceAmigoProfilingFeaturesSEC { + #[inline] + fn default() -> Self { + Self { + s_type: Self::STRUCTURE_TYPE, + p_next: ::std::ptr::null_mut(), + amigo_profiling: Bool32::default(), + } + } +} +unsafe impl TaggedStructure for PhysicalDeviceAmigoProfilingFeaturesSEC { + const STRUCTURE_TYPE: StructureType = + StructureType::PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC; +} +impl PhysicalDeviceAmigoProfilingFeaturesSEC { + pub fn builder<'a>() -> PhysicalDeviceAmigoProfilingFeaturesSECBuilder<'a> { + PhysicalDeviceAmigoProfilingFeaturesSECBuilder { + inner: Self::default(), + marker: ::std::marker::PhantomData, + } + } +} +#[repr(transparent)] +pub struct PhysicalDeviceAmigoProfilingFeaturesSECBuilder<'a> { + inner: PhysicalDeviceAmigoProfilingFeaturesSEC, + marker: ::std::marker::PhantomData<&'a ()>, +} +unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceAmigoProfilingFeaturesSECBuilder<'_> {} +unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceAmigoProfilingFeaturesSEC {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceAmigoProfilingFeaturesSECBuilder<'_> {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceAmigoProfilingFeaturesSEC {} +impl<'a> ::std::ops::Deref for PhysicalDeviceAmigoProfilingFeaturesSECBuilder<'a> { + type Target = PhysicalDeviceAmigoProfilingFeaturesSEC; + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> ::std::ops::DerefMut for PhysicalDeviceAmigoProfilingFeaturesSECBuilder<'a> { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +impl<'a> PhysicalDeviceAmigoProfilingFeaturesSECBuilder<'a> { + #[inline] + pub fn amigo_profiling(mut self, amigo_profiling: bool) -> Self { + self.inner.amigo_profiling = amigo_profiling.into(); + self + } + #[doc = r" Calling build will **discard** all the lifetime information. Only call this if"] + #[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"] + #[doc = r" so references to builders can be passed directly to Vulkan functions."] + pub fn build(self) -> PhysicalDeviceAmigoProfilingFeaturesSEC { + self.inner + } +} +#[repr(C)] +#[cfg_attr(feature = "debug", derive(Debug))] +#[derive(Copy, Clone)] +#[doc = ""] +pub struct AmigoProfilingSubmitInfoSEC { + pub s_type: StructureType, + pub p_next: *const c_void, + pub first_draw_timestamp: u64, + pub swap_buffer_timestamp: u64, +} +impl ::std::default::Default for AmigoProfilingSubmitInfoSEC { + #[inline] + fn default() -> Self { + Self { + s_type: Self::STRUCTURE_TYPE, + p_next: ::std::ptr::null(), + first_draw_timestamp: u64::default(), + swap_buffer_timestamp: u64::default(), + } + } +} +unsafe impl TaggedStructure for AmigoProfilingSubmitInfoSEC { + const STRUCTURE_TYPE: StructureType = StructureType::AMIGO_PROFILING_SUBMIT_INFO_SEC; +} +impl AmigoProfilingSubmitInfoSEC { + pub fn builder<'a>() -> AmigoProfilingSubmitInfoSECBuilder<'a> { + AmigoProfilingSubmitInfoSECBuilder { + inner: Self::default(), + marker: ::std::marker::PhantomData, + } + } +} +#[repr(transparent)] +pub struct AmigoProfilingSubmitInfoSECBuilder<'a> { + inner: AmigoProfilingSubmitInfoSEC, + marker: ::std::marker::PhantomData<&'a ()>, +} +unsafe impl ExtendsSubmitInfo for AmigoProfilingSubmitInfoSECBuilder<'_> {} +unsafe impl ExtendsSubmitInfo for AmigoProfilingSubmitInfoSEC {} +impl<'a> ::std::ops::Deref for AmigoProfilingSubmitInfoSECBuilder<'a> { + type Target = AmigoProfilingSubmitInfoSEC; + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> ::std::ops::DerefMut for AmigoProfilingSubmitInfoSECBuilder<'a> { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +impl<'a> AmigoProfilingSubmitInfoSECBuilder<'a> { + #[inline] + pub fn first_draw_timestamp(mut self, first_draw_timestamp: u64) -> Self { + self.inner.first_draw_timestamp = first_draw_timestamp; + self + } + #[inline] + pub fn swap_buffer_timestamp(mut self, swap_buffer_timestamp: u64) -> Self { + self.inner.swap_buffer_timestamp = swap_buffer_timestamp; + self + } + #[doc = r" Calling build will **discard** all the lifetime information. Only call this if"] + #[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"] + #[doc = r" so references to builders can be passed directly to Vulkan functions."] + pub fn build(self) -> AmigoProfilingSubmitInfoSEC { + self.inner + } +} +#[repr(C)] +#[cfg_attr(feature = "debug", derive(Debug))] +#[derive(Copy, Clone)] +#[doc = ""] +pub struct PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT { + pub s_type: StructureType, + pub p_next: *mut c_void, + pub attachment_feedback_loop_layout: Bool32, +} +impl ::std::default::Default for PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT { + #[inline] + fn default() -> Self { + Self { + s_type: Self::STRUCTURE_TYPE, + p_next: ::std::ptr::null_mut(), + attachment_feedback_loop_layout: Bool32::default(), + } + } +} +unsafe impl TaggedStructure for PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT { + const STRUCTURE_TYPE: StructureType = + StructureType::PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT; +} +impl PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT { + pub fn builder<'a>() -> PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXTBuilder<'a> { + PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXTBuilder { + inner: Self::default(), + marker: ::std::marker::PhantomData, + } + } +} +#[repr(transparent)] +pub struct PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXTBuilder<'a> { + inner: PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT, + marker: ::std::marker::PhantomData<&'a ()>, +} +unsafe impl ExtendsPhysicalDeviceFeatures2 + for PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXTBuilder<'_> +{ +} +unsafe impl ExtendsPhysicalDeviceFeatures2 + for PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT +{ +} +unsafe impl ExtendsDeviceCreateInfo + for PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXTBuilder<'_> +{ +} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT {} +impl<'a> ::std::ops::Deref for PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXTBuilder<'a> { + type Target = PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT; + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> ::std::ops::DerefMut for PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXTBuilder<'a> { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +impl<'a> PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXTBuilder<'a> { + #[inline] + pub fn attachment_feedback_loop_layout( + mut self, + attachment_feedback_loop_layout: bool, + ) -> Self { + self.inner.attachment_feedback_loop_layout = attachment_feedback_loop_layout.into(); + self + } + #[doc = r" Calling build will **discard** all the lifetime information. Only call this if"] + #[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"] + #[doc = r" so references to builders can be passed directly to Vulkan functions."] + pub fn build(self) -> PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT { + self.inner + } +} +#[repr(C)] +#[cfg_attr(feature = "debug", derive(Debug))] +#[derive(Copy, Clone)] +#[doc = ""] +pub struct PhysicalDeviceDepthClampZeroOneFeaturesEXT { + pub s_type: StructureType, + pub p_next: *mut c_void, + pub depth_clamp_zero_one: Bool32, +} +impl ::std::default::Default for PhysicalDeviceDepthClampZeroOneFeaturesEXT { + #[inline] + fn default() -> Self { + Self { + s_type: Self::STRUCTURE_TYPE, + p_next: ::std::ptr::null_mut(), + depth_clamp_zero_one: Bool32::default(), + } + } +} +unsafe impl TaggedStructure for PhysicalDeviceDepthClampZeroOneFeaturesEXT { + const STRUCTURE_TYPE: StructureType = + StructureType::PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT; +} +impl PhysicalDeviceDepthClampZeroOneFeaturesEXT { + pub fn builder<'a>() -> PhysicalDeviceDepthClampZeroOneFeaturesEXTBuilder<'a> { + PhysicalDeviceDepthClampZeroOneFeaturesEXTBuilder { + inner: Self::default(), + marker: ::std::marker::PhantomData, + } + } +} +#[repr(transparent)] +pub struct PhysicalDeviceDepthClampZeroOneFeaturesEXTBuilder<'a> { + inner: PhysicalDeviceDepthClampZeroOneFeaturesEXT, + marker: ::std::marker::PhantomData<&'a ()>, +} +unsafe impl ExtendsPhysicalDeviceFeatures2 + for PhysicalDeviceDepthClampZeroOneFeaturesEXTBuilder<'_> +{ +} +unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceDepthClampZeroOneFeaturesEXT {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceDepthClampZeroOneFeaturesEXTBuilder<'_> {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceDepthClampZeroOneFeaturesEXT {} +impl<'a> ::std::ops::Deref for PhysicalDeviceDepthClampZeroOneFeaturesEXTBuilder<'a> { + type Target = PhysicalDeviceDepthClampZeroOneFeaturesEXT; + fn deref(&self) -> &Self::Target { + &self.inner + } +} +impl<'a> ::std::ops::DerefMut for PhysicalDeviceDepthClampZeroOneFeaturesEXTBuilder<'a> { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.inner + } +} +impl<'a> PhysicalDeviceDepthClampZeroOneFeaturesEXTBuilder<'a> { + #[inline] + pub fn depth_clamp_zero_one(mut self, depth_clamp_zero_one: bool) -> Self { + self.inner.depth_clamp_zero_one = depth_clamp_zero_one.into(); + self + } + #[doc = r" Calling build will **discard** all the lifetime information. Only call this if"] + #[doc = r" necessary! Builders implement `Deref` targeting their corresponding Vulkan struct,"] + #[doc = r" so references to builders can be passed directly to Vulkan functions."] + pub fn build(self) -> PhysicalDeviceDepthClampZeroOneFeaturesEXT { + self.inner + } +} diff --git a/ash/src/vk/enums.rs b/ash/src/vk/enums.rs index ed7191b..4c18550 100644 --- a/ash/src/vk/enums.rs +++ b/ash/src/vk/enums.rs @@ -2480,6 +2480,105 @@ impl QueryResultStatusKHR { pub const NOT_READY: Self = Self(0); pub const COMPLETE: Self = Self(1); } +#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] +#[repr(transparent)] +#[doc = ""] +pub struct VideoEncodeTuningModeKHR(pub(crate) i32); +impl VideoEncodeTuningModeKHR { + #[inline] + pub const fn from_raw(x: i32) -> Self { + Self(x) + } + #[inline] + pub const fn as_raw(self) -> i32 { + self.0 + } +} +impl VideoEncodeTuningModeKHR { + pub const DEFAULT: Self = Self(0); + pub const HIGH_QUALITY: Self = Self(1); + pub const LOW_LATENCY: Self = Self(2); + pub const ULTRA_LOW_LATENCY: Self = Self(3); + pub const LOSSLESS: Self = Self(4); +} +#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] +#[repr(transparent)] +#[doc = ""] +pub struct VideoEncodeH264RateControlStructureEXT(pub(crate) i32); +impl VideoEncodeH264RateControlStructureEXT { + #[inline] + pub const fn from_raw(x: i32) -> Self { + Self(x) + } + #[inline] + pub const fn as_raw(self) -> i32 { + self.0 + } +} +impl VideoEncodeH264RateControlStructureEXT { + pub const UNKNOWN: Self = Self(0); + pub const FLAT: Self = Self(1); + pub const DYADIC: Self = Self(2); +} +#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] +#[repr(transparent)] +#[doc = ""] +pub struct VideoEncodeH265RateControlStructureEXT(pub(crate) i32); +impl VideoEncodeH265RateControlStructureEXT { + #[inline] + pub const fn from_raw(x: i32) -> Self { + Self(x) + } + #[inline] + pub const fn as_raw(self) -> i32 { + self.0 + } +} +impl VideoEncodeH265RateControlStructureEXT { + pub const UNKNOWN: Self = Self(0); + pub const FLAT: Self = Self(1); + pub const DYADIC: Self = Self(2); +} +#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] +#[repr(transparent)] +#[doc = ""] +pub struct PipelineRobustnessBufferBehaviorEXT(pub(crate) i32); +impl PipelineRobustnessBufferBehaviorEXT { + #[inline] + pub const fn from_raw(x: i32) -> Self { + Self(x) + } + #[inline] + pub const fn as_raw(self) -> i32 { + self.0 + } +} +impl PipelineRobustnessBufferBehaviorEXT { + pub const DEVICE_DEFAULT: Self = Self(0); + pub const DISABLED: Self = Self(1); + pub const ROBUST_BUFFER_ACCESS: Self = Self(2); + pub const ROBUST_BUFFER_ACCESS_2: Self = Self(3); +} +#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] +#[repr(transparent)] +#[doc = ""] +pub struct PipelineRobustnessImageBehaviorEXT(pub(crate) i32); +impl PipelineRobustnessImageBehaviorEXT { + #[inline] + pub const fn from_raw(x: i32) -> Self { + Self(x) + } + #[inline] + pub const fn as_raw(self) -> i32 { + self.0 + } +} +impl PipelineRobustnessImageBehaviorEXT { + pub const DEVICE_DEFAULT: Self = Self(0); + pub const DISABLED: Self = Self(1); + pub const ROBUST_IMAGE_ACCESS: Self = Self(2); + pub const ROBUST_IMAGE_ACCESS_2: Self = Self(3); +} impl fmt::Debug for ObjectType { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let name = match *self { diff --git a/ash/src/vk/extensions.rs b/ash/src/vk/extensions.rs index 88a44de..d42cbdd 100644 --- a/ash/src/vk/extensions.rs +++ b/ash/src/vk/extensions.rs @@ -1562,12 +1562,12 @@ impl ImgFilterCubicFn { } #[doc = "Generated from 'VK_IMG_filter_cubic'"] impl Filter { - pub const CUBIC_IMG: Self = Self(1_000_015_000); + pub const CUBIC_IMG: Self = Self::CUBIC_EXT; } #[doc = "Generated from 'VK_IMG_filter_cubic'"] impl FormatFeatureFlags { #[doc = "Format can be filtered with VK_FILTER_CUBIC_IMG when being sampled"] - pub const SAMPLED_IMAGE_FILTER_CUBIC_IMG: Self = Self(0b10_0000_0000_0000); + pub const SAMPLED_IMAGE_FILTER_CUBIC_IMG: Self = Self::SAMPLED_IMAGE_FILTER_CUBIC_EXT; } impl AmdExtension17Fn { #[inline] @@ -1846,12 +1846,12 @@ impl KhrVideoQueueFn { pub const fn name() -> &'static ::std::ffi::CStr { unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_video_queue\0") } } - pub const SPEC_VERSION: u32 = 4u32; + pub const SPEC_VERSION: u32 = 5u32; } #[allow(non_camel_case_types)] pub type PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR = unsafe extern "system" fn( physical_device: PhysicalDevice, - p_video_profile: *const VideoProfileKHR, + p_video_profile: *const VideoProfileInfoKHR, p_capabilities: *mut VideoCapabilitiesKHR, ) -> Result; #[allow(non_camel_case_types)] @@ -1878,15 +1878,15 @@ pub type PFN_vkDestroyVideoSessionKHR = unsafe extern "system" fn( pub type PFN_vkGetVideoSessionMemoryRequirementsKHR = unsafe extern "system" fn( device: Device, video_session: VideoSessionKHR, - p_video_session_memory_requirements_count: *mut u32, - p_video_session_memory_requirements: *mut VideoGetMemoryPropertiesKHR, + p_memory_requirements_count: *mut u32, + p_memory_requirements: *mut VideoSessionMemoryRequirementsKHR, ) -> Result; #[allow(non_camel_case_types)] pub type PFN_vkBindVideoSessionMemoryKHR = unsafe extern "system" fn( device: Device, video_session: VideoSessionKHR, - video_session_bind_memory_count: u32, - p_video_session_bind_memories: *const VideoBindMemoryKHR, + bind_session_memory_info_count: u32, + p_bind_session_memory_infos: *const BindVideoSessionMemoryInfoKHR, ) -> Result; #[allow(non_camel_case_types)] pub type PFN_vkCreateVideoSessionParametersKHR = unsafe extern "system" fn( @@ -1949,7 +1949,7 @@ impl KhrVideoQueueFn { get_physical_device_video_capabilities_khr: unsafe { unsafe extern "system" fn get_physical_device_video_capabilities_khr( _physical_device: PhysicalDevice, - _p_video_profile: *const VideoProfileKHR, + _p_video_profile: *const VideoProfileInfoKHR, _p_capabilities: *mut VideoCapabilitiesKHR, ) -> Result { panic!(concat!( @@ -2034,8 +2034,8 @@ impl KhrVideoQueueFn { unsafe extern "system" fn get_video_session_memory_requirements_khr( _device: Device, _video_session: VideoSessionKHR, - _p_video_session_memory_requirements_count: *mut u32, - _p_video_session_memory_requirements: *mut VideoGetMemoryPropertiesKHR, + _p_memory_requirements_count: *mut u32, + _p_memory_requirements: *mut VideoSessionMemoryRequirementsKHR, ) -> Result { panic!(concat!( "Unable to load ", @@ -2056,8 +2056,8 @@ impl KhrVideoQueueFn { unsafe extern "system" fn bind_video_session_memory_khr( _device: Device, _video_session: VideoSessionKHR, - _video_session_bind_memory_count: u32, - _p_video_session_bind_memories: *const VideoBindMemoryKHR, + _bind_session_memory_info_count: u32, + _p_bind_session_memory_infos: *const BindVideoSessionMemoryInfoKHR, ) -> Result { panic!(concat!( "Unable to load ", @@ -2225,30 +2225,30 @@ impl Result { } #[doc = "Generated from 'VK_KHR_video_queue'"] impl StructureType { - pub const VIDEO_PROFILE_KHR: Self = Self(1_000_023_000); + pub const VIDEO_PROFILE_INFO_KHR: Self = Self(1_000_023_000); pub const VIDEO_CAPABILITIES_KHR: Self = Self(1_000_023_001); - pub const VIDEO_PICTURE_RESOURCE_KHR: Self = Self(1_000_023_002); - pub const VIDEO_GET_MEMORY_PROPERTIES_KHR: Self = Self(1_000_023_003); - pub const VIDEO_BIND_MEMORY_KHR: Self = Self(1_000_023_004); + pub const VIDEO_PICTURE_RESOURCE_INFO_KHR: Self = Self(1_000_023_002); + pub const VIDEO_SESSION_MEMORY_REQUIREMENTS_KHR: Self = Self(1_000_023_003); + pub const BIND_VIDEO_SESSION_MEMORY_INFO_KHR: Self = Self(1_000_023_004); pub const VIDEO_SESSION_CREATE_INFO_KHR: Self = Self(1_000_023_005); pub const VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR: Self = Self(1_000_023_006); pub const VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR: Self = Self(1_000_023_007); pub const VIDEO_BEGIN_CODING_INFO_KHR: Self = Self(1_000_023_008); pub const VIDEO_END_CODING_INFO_KHR: Self = Self(1_000_023_009); pub const VIDEO_CODING_CONTROL_INFO_KHR: Self = Self(1_000_023_010); - pub const VIDEO_REFERENCE_SLOT_KHR: Self = Self(1_000_023_011); - pub const VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR: Self = Self(1_000_023_012); - pub const VIDEO_PROFILES_KHR: Self = Self(1_000_023_013); + pub const VIDEO_REFERENCE_SLOT_INFO_KHR: Self = Self(1_000_023_011); + pub const QUEUE_FAMILY_VIDEO_PROPERTIES_KHR: Self = Self(1_000_023_012); + pub const VIDEO_PROFILE_LIST_INFO_KHR: Self = Self(1_000_023_013); pub const PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR: Self = Self(1_000_023_014); pub const VIDEO_FORMAT_PROPERTIES_KHR: Self = Self(1_000_023_015); - pub const QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_2_KHR: Self = Self(1_000_023_016); + pub const QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR: Self = Self(1_000_023_016); } impl KhrVideoDecodeQueueFn { #[inline] pub const fn name() -> &'static ::std::ffi::CStr { unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_video_decode_queue\0") } } - pub const SPEC_VERSION: u32 = 4u32; + pub const SPEC_VERSION: u32 = 6u32; } #[allow(non_camel_case_types)] pub type PFN_vkCmdDecodeVideoKHR = unsafe extern "system" fn( @@ -2330,6 +2330,7 @@ impl QueueFlags { impl StructureType { pub const VIDEO_DECODE_INFO_KHR: Self = Self(1_000_024_000); pub const VIDEO_DECODE_CAPABILITIES_KHR: Self = Self(1_000_024_001); + pub const VIDEO_DECODE_USAGE_INFO_KHR: Self = Self(1_000_024_002); } impl AmdGcnShaderFn { #[inline] @@ -3095,7 +3096,7 @@ impl ExtVideoEncodeH264Fn { pub const fn name() -> &'static ::std::ffi::CStr { unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_video_encode_h264\0") } } - pub const SPEC_VERSION: u32 = 7u32; + pub const SPEC_VERSION: u32 = 8u32; } #[derive(Clone)] pub struct ExtVideoEncodeH264Fn {} @@ -3116,12 +3117,12 @@ impl StructureType { pub const VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT: Self = Self(1_000_038_002); pub const VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT: Self = Self(1_000_038_003); pub const VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT: Self = Self(1_000_038_004); - pub const VIDEO_ENCODE_H264_NALU_SLICE_EXT: Self = Self(1_000_038_005); - pub const VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT: Self = Self(1_000_038_006); - pub const VIDEO_ENCODE_H264_PROFILE_EXT: Self = Self(1_000_038_007); + pub const VIDEO_ENCODE_H264_NALU_SLICE_INFO_EXT: Self = Self(1_000_038_005); + pub const VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_INFO_EXT: Self = Self(1_000_038_006); + pub const VIDEO_ENCODE_H264_PROFILE_INFO_EXT: Self = Self(1_000_038_007); pub const VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT: Self = Self(1_000_038_008); pub const VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT: Self = Self(1_000_038_009); - pub const VIDEO_ENCODE_H264_REFERENCE_LISTS_EXT: Self = Self(1_000_038_010); + pub const VIDEO_ENCODE_H264_REFERENCE_LISTS_INFO_EXT: Self = Self(1_000_038_010); } #[doc = "Generated from 'VK_EXT_video_encode_h264'"] impl VideoCodecOperationFlagsKHR { @@ -3132,7 +3133,7 @@ impl ExtVideoEncodeH265Fn { pub const fn name() -> &'static ::std::ffi::CStr { unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_video_encode_h265\0") } } - pub const SPEC_VERSION: u32 = 7u32; + pub const SPEC_VERSION: u32 = 8u32; } #[derive(Clone)] pub struct ExtVideoEncodeH265Fn {} @@ -3153,10 +3154,10 @@ impl StructureType { pub const VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT: Self = Self(1_000_039_002); pub const VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT: Self = Self(1_000_039_003); pub const VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT: Self = Self(1_000_039_004); - pub const VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_EXT: Self = Self(1_000_039_005); - pub const VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_EXT: Self = Self(1_000_039_006); - pub const VIDEO_ENCODE_H265_PROFILE_EXT: Self = Self(1_000_039_007); - pub const VIDEO_ENCODE_H265_REFERENCE_LISTS_EXT: Self = Self(1_000_039_008); + pub const VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_EXT: Self = Self(1_000_039_005); + pub const VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_INFO_EXT: Self = Self(1_000_039_006); + pub const VIDEO_ENCODE_H265_PROFILE_INFO_EXT: Self = Self(1_000_039_007); + pub const VIDEO_ENCODE_H265_REFERENCE_LISTS_INFO_EXT: Self = Self(1_000_039_008); pub const VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT: Self = Self(1_000_039_009); pub const VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT: Self = Self(1_000_039_010); } @@ -3169,7 +3170,7 @@ impl ExtVideoDecodeH264Fn { pub const fn name() -> &'static ::std::ffi::CStr { unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_video_decode_h264\0") } } - pub const SPEC_VERSION: u32 = 5u32; + pub const SPEC_VERSION: u32 = 6u32; } #[derive(Clone)] pub struct ExtVideoDecodeH264Fn {} @@ -3187,8 +3188,8 @@ impl ExtVideoDecodeH264Fn { impl StructureType { pub const VIDEO_DECODE_H264_CAPABILITIES_EXT: Self = Self(1_000_040_000); pub const VIDEO_DECODE_H264_PICTURE_INFO_EXT: Self = Self(1_000_040_001); - pub const VIDEO_DECODE_H264_MVC_EXT: Self = Self(1_000_040_002); - pub const VIDEO_DECODE_H264_PROFILE_EXT: Self = Self(1_000_040_003); + pub const VIDEO_DECODE_H264_MVC_INFO_EXT: Self = Self(1_000_040_002); + pub const VIDEO_DECODE_H264_PROFILE_INFO_EXT: Self = Self(1_000_040_003); pub const VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT: Self = Self(1_000_040_004); pub const VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT: Self = Self(1_000_040_005); pub const VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT: Self = Self(1_000_040_006); @@ -3564,14 +3565,6 @@ impl NvExtension52Fn { Self {} } } -#[doc = "Generated from 'VK_NV_extension_52'"] -impl PipelineShaderStageCreateFlags { - pub const RESERVED_2_NV: Self = Self(0b100); -} -#[doc = "Generated from 'VK_NV_extension_52'"] -impl ShaderModuleCreateFlags { - pub const RESERVED_0_NV: Self = Self(0b1); -} impl NvExtension53Fn { #[inline] pub const fn name() -> &'static ::std::ffi::CStr { @@ -4494,18 +4487,18 @@ impl StructureType { pub const IMAGE_VIEW_ASTC_DECODE_MODE_EXT: Self = Self(1_000_067_000); pub const PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT: Self = Self(1_000_067_001); } -impl ImgExtension69Fn { +impl ExtPipelineRobustnessFn { #[inline] pub const fn name() -> &'static ::std::ffi::CStr { - unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_IMG_extension_69\0") } + unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_pipeline_robustness\0") } } - pub const SPEC_VERSION: u32 = 0u32; + pub const SPEC_VERSION: u32 = 1u32; } #[derive(Clone)] -pub struct ImgExtension69Fn {} -unsafe impl Send for ImgExtension69Fn {} -unsafe impl Sync for ImgExtension69Fn {} -impl ImgExtension69Fn { +pub struct ExtPipelineRobustnessFn {} +unsafe impl Send for ExtPipelineRobustnessFn {} +unsafe impl Sync for ExtPipelineRobustnessFn {} +impl ExtPipelineRobustnessFn { pub fn load(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void, @@ -4513,6 +4506,12 @@ impl ImgExtension69Fn { Self {} } } +#[doc = "Generated from 'VK_EXT_pipeline_robustness'"] +impl StructureType { + pub const PIPELINE_ROBUSTNESS_CREATE_INFO_EXT: Self = Self(1_000_068_000); + pub const PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT: Self = Self(1_000_068_001); + pub const PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT: Self = Self(1_000_068_002); +} impl KhrMaintenance1Fn { #[inline] pub const fn name() -> &'static ::std::ffi::CStr { @@ -11164,11 +11163,11 @@ impl ExtFilterCubicFn { } #[doc = "Generated from 'VK_EXT_filter_cubic'"] impl Filter { - pub const CUBIC_EXT: Self = Self::CUBIC_IMG; + pub const CUBIC_EXT: Self = Self(1_000_015_000); } #[doc = "Generated from 'VK_EXT_filter_cubic'"] impl FormatFeatureFlags { - pub const SAMPLED_IMAGE_FILTER_CUBIC_EXT: Self = Self::SAMPLED_IMAGE_FILTER_CUBIC_IMG; + pub const SAMPLED_IMAGE_FILTER_CUBIC_EXT: Self = Self(0b10_0000_0000_0000); } #[doc = "Generated from 'VK_EXT_filter_cubic'"] impl StructureType { @@ -11689,7 +11688,7 @@ impl ExtVideoDecodeH265Fn { pub const fn name() -> &'static ::std::ffi::CStr { unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_video_decode_h265\0") } } - pub const SPEC_VERSION: u32 = 3u32; + pub const SPEC_VERSION: u32 = 4u32; } #[derive(Clone)] pub struct ExtVideoDecodeH265Fn {} @@ -11708,7 +11707,7 @@ impl StructureType { pub const VIDEO_DECODE_H265_CAPABILITIES_EXT: Self = Self(1_000_187_000); pub const VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT: Self = Self(1_000_187_001); pub const VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT: Self = Self(1_000_187_002); - pub const VIDEO_DECODE_H265_PROFILE_EXT: Self = Self(1_000_187_003); + pub const VIDEO_DECODE_H265_PROFILE_INFO_EXT: Self = Self(1_000_187_003); pub const VIDEO_DECODE_H265_PICTURE_INFO_EXT: Self = Self(1_000_187_004); pub const VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT: Self = Self(1_000_187_005); } @@ -12205,13 +12204,13 @@ impl NvMeshShaderFn { } #[doc = "Generated from 'VK_NV_mesh_shader'"] impl PipelineStageFlags { - pub const TASK_SHADER_NV: Self = Self(0b1000_0000_0000_0000_0000); - pub const MESH_SHADER_NV: Self = Self(0b1_0000_0000_0000_0000_0000); + pub const TASK_SHADER_NV: Self = Self::TASK_SHADER_EXT; + pub const MESH_SHADER_NV: Self = Self::MESH_SHADER_EXT; } #[doc = "Generated from 'VK_NV_mesh_shader'"] impl ShaderStageFlags { - pub const TASK_NV: Self = Self(0b100_0000); - pub const MESH_NV: Self = Self(0b1000_0000); + pub const TASK_NV: Self = Self::TASK_EXT; + pub const MESH_NV: Self = Self::MESH_EXT; } #[doc = "Generated from 'VK_NV_mesh_shader'"] impl StructureType { @@ -13806,6 +13805,11 @@ impl IntelExtension243Fn { Self {} } } +#[doc = "Generated from 'VK_INTEL_extension_243'"] +impl AccessFlags2 { + pub const RESERVED_46_EXT: Self = + Self(0b100_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000); +} impl MesaExtension244Fn { #[inline] pub const fn name() -> &'static ::std::ffi::CStr { @@ -14609,6 +14613,21 @@ impl ExtExtension259Fn { Self {} } } +#[doc = "Generated from 'VK_EXT_extension_259'"] +impl FormatFeatureFlags2 { + pub const RESERVED_44_EXT: Self = + Self(0b1_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000); + pub const RESERVED_45_EXT: Self = + Self(0b10_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000); +} +#[doc = "Generated from 'VK_EXT_extension_259'"] +impl ImageCreateFlags { + pub const RESERVED_19_EXT: Self = Self(0b1000_0000_0000_0000_0000); +} +#[doc = "Generated from 'VK_EXT_extension_259'"] +impl QueueFlags { + pub const RESERVED_9_EXT: Self = Self(0b10_0000_0000); +} impl ExtLineRasterizationFn { #[inline] pub const fn name() -> &'static ::std::ffi::CStr { @@ -15976,7 +15995,7 @@ impl QcomRenderPassTransformFn { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_QCOM_render_pass_transform\0") } } - pub const SPEC_VERSION: u32 = 2u32; + pub const SPEC_VERSION: u32 = 3u32; } #[derive(Clone)] pub struct QcomRenderPassTransformFn {} @@ -16597,7 +16616,7 @@ impl KhrVideoEncodeQueueFn { pub const fn name() -> &'static ::std::ffi::CStr { unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_video_encode_queue\0") } } - pub const SPEC_VERSION: u32 = 5u32; + pub const SPEC_VERSION: u32 = 7u32; } #[allow(non_camel_case_types)] pub type PFN_vkCmdEncodeVideoKHR = unsafe extern "system" fn( @@ -16686,6 +16705,12 @@ impl StructureType { pub const VIDEO_ENCODE_RATE_CONTROL_INFO_KHR: Self = Self(1_000_299_001); pub const VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR: Self = Self(1_000_299_002); pub const VIDEO_ENCODE_CAPABILITIES_KHR: Self = Self(1_000_299_003); + pub const VIDEO_ENCODE_USAGE_INFO_KHR: Self = Self(1_000_299_004); +} +#[doc = "Generated from 'VK_KHR_video_encode_queue'"] +impl VideoCodingControlFlagsKHR { + pub const ENCODE_RATE_CONTROL: Self = Self(0b10); + pub const ENCODE_RATE_CONTROL_LAYER: Self = Self(0b100); } impl NvDeviceDiagnosticsConfigFn { #[inline] @@ -17293,8 +17318,10 @@ impl PipelineStageFlags2 { pub const RAY_TRACING_SHADER_NV: Self = Self::RAY_TRACING_SHADER_KHR; pub const ACCELERATION_STRUCTURE_BUILD_NV: Self = Self::ACCELERATION_STRUCTURE_BUILD_KHR; pub const FRAGMENT_DENSITY_PROCESS_EXT: Self = Self(0b1000_0000_0000_0000_0000_0000); - pub const TASK_SHADER_NV: Self = Self(0b1000_0000_0000_0000_0000); - pub const MESH_SHADER_NV: Self = Self(0b1_0000_0000_0000_0000_0000); + pub const TASK_SHADER_NV: Self = Self::TASK_SHADER_EXT; + pub const MESH_SHADER_NV: Self = Self::MESH_SHADER_EXT; + pub const TASK_SHADER_EXT: Self = Self(0b1000_0000_0000_0000_0000); + pub const MESH_SHADER_EXT: Self = Self(0b1_0000_0000_0000_0000_0000); } #[doc = "Generated from 'VK_KHR_synchronization2'"] impl StructureType { @@ -17349,6 +17376,10 @@ impl AmdExtension317Fn { } } #[doc = "Generated from 'VK_AMD_extension_317'"] +impl AccelerationStructureCreateFlagsKHR { + pub const RESERVED_3_AMD: Self = Self(0b1000); +} +#[doc = "Generated from 'VK_AMD_extension_317'"] impl AccessFlags2 { pub const RESERVED_41_AMD: Self = Self(0b10_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000); } @@ -17364,6 +17395,7 @@ impl BufferUsageFlags { #[doc = "Generated from 'VK_AMD_extension_317'"] impl DescriptorSetLayoutCreateFlags { pub const RESERVED_4_AMD: Self = Self(0b1_0000); + pub const RESERVED_5_AMD: Self = Self(0b10_0000); } #[doc = "Generated from 'VK_AMD_extension_317'"] impl ImageCreateFlags { @@ -17374,6 +17406,10 @@ impl ImageViewCreateFlags { pub const RESERVED_2_AMD: Self = Self(0b100); } #[doc = "Generated from 'VK_AMD_extension_317'"] +impl PipelineCreateFlags { + pub const RESERVED_29_AMD: Self = Self(0b10_0000_0000_0000_0000_0000_0000_0000); +} +#[doc = "Generated from 'VK_AMD_extension_317'"] impl SamplerCreateFlags { pub const RESERVED_3_AMD: Self = Self(0b1000); } @@ -17704,25 +17740,152 @@ impl StructureType { pub const PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV: Self = Self(1_000_327_001); pub const ACCELERATION_STRUCTURE_MOTION_INFO_NV: Self = Self(1_000_327_002); } -impl NvExtension329Fn { +impl ExtMeshShaderFn { #[inline] pub const fn name() -> &'static ::std::ffi::CStr { - unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_extension_329\0") } + unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_mesh_shader\0") } } - pub const SPEC_VERSION: u32 = 0u32; + pub const SPEC_VERSION: u32 = 1u32; } +#[allow(non_camel_case_types)] +pub type PFN_vkCmdDrawMeshTasksEXT = unsafe extern "system" fn( + command_buffer: CommandBuffer, + group_count_x: u32, + group_count_y: u32, + group_count_z: u32, +); +#[allow(non_camel_case_types)] +pub type PFN_vkCmdDrawMeshTasksIndirectEXT = unsafe extern "system" fn( + command_buffer: CommandBuffer, + buffer: Buffer, + offset: DeviceSize, + draw_count: u32, + stride: u32, +); +#[allow(non_camel_case_types)] +pub type PFN_vkCmdDrawMeshTasksIndirectCountEXT = unsafe extern "system" fn( + command_buffer: CommandBuffer, + buffer: Buffer, + offset: DeviceSize, + count_buffer: Buffer, + count_buffer_offset: DeviceSize, + max_draw_count: u32, + stride: u32, +); #[derive(Clone)] -pub struct NvExtension329Fn {} -unsafe impl Send for NvExtension329Fn {} -unsafe impl Sync for NvExtension329Fn {} -impl NvExtension329Fn { +pub struct ExtMeshShaderFn { + pub cmd_draw_mesh_tasks_ext: PFN_vkCmdDrawMeshTasksEXT, + pub cmd_draw_mesh_tasks_indirect_ext: PFN_vkCmdDrawMeshTasksIndirectEXT, + pub cmd_draw_mesh_tasks_indirect_count_ext: PFN_vkCmdDrawMeshTasksIndirectCountEXT, +} +unsafe impl Send for ExtMeshShaderFn {} +unsafe impl Sync for ExtMeshShaderFn {} +impl ExtMeshShaderFn { pub fn load(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void, { - Self {} + Self { + cmd_draw_mesh_tasks_ext: unsafe { + unsafe extern "system" fn cmd_draw_mesh_tasks_ext( + _command_buffer: CommandBuffer, + _group_count_x: u32, + _group_count_y: u32, + _group_count_z: u32, + ) { + panic!(concat!( + "Unable to load ", + stringify!(cmd_draw_mesh_tasks_ext) + )) + } + let cname = + ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdDrawMeshTasksEXT\0"); + let val = _f(cname); + if val.is_null() { + cmd_draw_mesh_tasks_ext + } else { + ::std::mem::transmute(val) + } + }, + cmd_draw_mesh_tasks_indirect_ext: unsafe { + unsafe extern "system" fn cmd_draw_mesh_tasks_indirect_ext( + _command_buffer: CommandBuffer, + _buffer: Buffer, + _offset: DeviceSize, + _draw_count: u32, + _stride: u32, + ) { + panic!(concat!( + "Unable to load ", + stringify!(cmd_draw_mesh_tasks_indirect_ext) + )) + } + let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( + b"vkCmdDrawMeshTasksIndirectEXT\0", + ); + let val = _f(cname); + if val.is_null() { + cmd_draw_mesh_tasks_indirect_ext + } else { + ::std::mem::transmute(val) + } + }, + cmd_draw_mesh_tasks_indirect_count_ext: unsafe { + unsafe extern "system" fn cmd_draw_mesh_tasks_indirect_count_ext( + _command_buffer: CommandBuffer, + _buffer: Buffer, + _offset: DeviceSize, + _count_buffer: Buffer, + _count_buffer_offset: DeviceSize, + _max_draw_count: u32, + _stride: u32, + ) { + panic!(concat!( + "Unable to load ", + stringify!(cmd_draw_mesh_tasks_indirect_count_ext) + )) + } + let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( + b"vkCmdDrawMeshTasksIndirectCountEXT\0", + ); + let val = _f(cname); + if val.is_null() { + cmd_draw_mesh_tasks_indirect_count_ext + } else { + ::std::mem::transmute(val) + } + }, + } } } +#[doc = "Generated from 'VK_EXT_mesh_shader'"] +impl IndirectCommandsTokenTypeNV { + pub const DRAW_MESH_TASKS: Self = Self(1_000_328_000); +} +#[doc = "Generated from 'VK_EXT_mesh_shader'"] +impl PipelineStageFlags { + pub const TASK_SHADER_EXT: Self = Self(0b1000_0000_0000_0000_0000); + pub const MESH_SHADER_EXT: Self = Self(0b1_0000_0000_0000_0000_0000); +} +#[doc = "Generated from 'VK_EXT_mesh_shader'"] +impl QueryPipelineStatisticFlags { + pub const TASK_SHADER_INVOCATIONS_EXT: Self = Self(0b1000_0000_0000); + pub const MESH_SHADER_INVOCATIONS_EXT: Self = Self(0b1_0000_0000_0000); +} +#[doc = "Generated from 'VK_EXT_mesh_shader'"] +impl QueryType { + pub const MESH_PRIMITIVES_GENERATED_EXT: Self = Self(1_000_328_000); +} +#[doc = "Generated from 'VK_EXT_mesh_shader'"] +impl ShaderStageFlags { + pub const TASK_EXT: Self = Self(0b100_0000); + pub const MESH_EXT: Self = Self(0b1000_0000); +} +#[doc = "Generated from 'VK_EXT_mesh_shader'"] +impl StructureType { + pub const PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT: Self = Self(1_000_328_000); + pub const PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT: Self = Self(1_000_328_001); +} impl NvExtension330Fn { #[inline] pub const fn name() -> &'static ::std::ffi::CStr { @@ -18164,18 +18327,22 @@ impl StructureType { pub const IMAGE_SUBRESOURCE_2_EXT: Self = Self(1_000_338_003); pub const IMAGE_COMPRESSION_PROPERTIES_EXT: Self = Self(1_000_338_004); } -impl ExtExtension340Fn { +impl ExtAttachmentFeedbackLoopLayoutFn { #[inline] pub const fn name() -> &'static ::std::ffi::CStr { - unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_340\0") } + unsafe { + ::std::ffi::CStr::from_bytes_with_nul_unchecked( + b"VK_EXT_attachment_feedback_loop_layout\0", + ) + } } - pub const SPEC_VERSION: u32 = 0u32; + pub const SPEC_VERSION: u32 = 2u32; } #[derive(Clone)] -pub struct ExtExtension340Fn {} -unsafe impl Send for ExtExtension340Fn {} -unsafe impl Sync for ExtExtension340Fn {} -impl ExtExtension340Fn { +pub struct ExtAttachmentFeedbackLoopLayoutFn {} +unsafe impl Send for ExtAttachmentFeedbackLoopLayoutFn {} +unsafe impl Sync for ExtAttachmentFeedbackLoopLayoutFn {} +impl ExtAttachmentFeedbackLoopLayoutFn { pub fn load(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void, @@ -18183,18 +18350,29 @@ impl ExtExtension340Fn { Self {} } } -#[doc = "Generated from 'VK_EXT_extension_340'"] +#[doc = "Generated from 'VK_EXT_attachment_feedback_loop_layout'"] impl DependencyFlags { - pub const RESERVED_3_EXT: Self = Self(0b1000); + #[doc = "Dependency may be a feedback loop"] + pub const FEEDBACK_LOOP_EXT: Self = Self(0b1000); } -#[doc = "Generated from 'VK_EXT_extension_340'"] +#[doc = "Generated from 'VK_EXT_attachment_feedback_loop_layout'"] +impl ImageLayout { + pub const ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT: Self = Self(1_000_339_000); +} +#[doc = "Generated from 'VK_EXT_attachment_feedback_loop_layout'"] impl ImageUsageFlags { - pub const RESERVED_19_EXT: Self = Self(0b1000_0000_0000_0000_0000); + pub const ATTACHMENT_FEEDBACK_LOOP_EXT: Self = Self(0b1000_0000_0000_0000_0000); } -#[doc = "Generated from 'VK_EXT_extension_340'"] +#[doc = "Generated from 'VK_EXT_attachment_feedback_loop_layout'"] impl PipelineCreateFlags { - pub const RESERVED_25_EXT: Self = Self(0b10_0000_0000_0000_0000_0000_0000); - pub const RESERVED_26_EXT: Self = Self(0b100_0000_0000_0000_0000_0000_0000); + pub const COLOR_ATTACHMENT_FEEDBACK_LOOP_EXT: Self = Self(0b10_0000_0000_0000_0000_0000_0000); + pub const DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_EXT: Self = + Self(0b100_0000_0000_0000_0000_0000_0000); +} +#[doc = "Generated from 'VK_EXT_attachment_feedback_loop_layout'"] +impl StructureType { + pub const PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT: Self = + Self(1_000_339_000); } impl Ext4444FormatsFn { #[inline] @@ -18268,23 +18446,29 @@ impl ArmRasterizationOrderAttachmentAccessFn { } #[doc = "Generated from 'VK_ARM_rasterization_order_attachment_access'"] impl PipelineColorBlendStateCreateFlags { - pub const RASTERIZATION_ORDER_ATTACHMENT_ACCESS_ARM: Self = Self(0b1); + pub const RASTERIZATION_ORDER_ATTACHMENT_ACCESS_ARM: Self = + Self::RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXT; } #[doc = "Generated from 'VK_ARM_rasterization_order_attachment_access'"] impl PipelineDepthStencilStateCreateFlags { - pub const RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_ARM: Self = Self(0b1); - pub const RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_ARM: Self = Self(0b10); + pub const RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_ARM: Self = + Self::RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_EXT; + pub const RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_ARM: Self = + Self::RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_EXT; } #[doc = "Generated from 'VK_ARM_rasterization_order_attachment_access'"] impl StructureType { pub const PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM: Self = - Self(1_000_342_000); + Self::PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT; } #[doc = "Generated from 'VK_ARM_rasterization_order_attachment_access'"] impl SubpassDescriptionFlags { - pub const RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_ARM: Self = Self(0b1_0000); - pub const RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_ARM: Self = Self(0b10_0000); - pub const RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_ARM: Self = Self(0b100_0000); + pub const RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_ARM: Self = + Self::RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_EXT; + pub const RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_ARM: Self = + Self::RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_EXT; + pub const RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_ARM: Self = + Self::RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_EXT; } impl ArmExtension344Fn { #[inline] @@ -18542,20 +18726,22 @@ impl ValveMutableDescriptorTypeFn { } #[doc = "Generated from 'VK_VALVE_mutable_descriptor_type'"] impl DescriptorPoolCreateFlags { - pub const HOST_ONLY_VALVE: Self = Self(0b100); + pub const HOST_ONLY_VALVE: Self = Self::HOST_ONLY_EXT; } #[doc = "Generated from 'VK_VALVE_mutable_descriptor_type'"] impl DescriptorSetLayoutCreateFlags { - pub const HOST_ONLY_POOL_VALVE: Self = Self(0b100); + pub const HOST_ONLY_POOL_VALVE: Self = Self::HOST_ONLY_POOL_EXT; } #[doc = "Generated from 'VK_VALVE_mutable_descriptor_type'"] impl DescriptorType { - pub const MUTABLE_VALVE: Self = Self(1_000_351_000); + pub const MUTABLE_VALVE: Self = Self::MUTABLE_EXT; } #[doc = "Generated from 'VK_VALVE_mutable_descriptor_type'"] impl StructureType { - pub const PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE: Self = Self(1_000_351_000); - pub const MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE: Self = Self(1_000_351_002); + pub const PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE: Self = + Self::PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT; + pub const MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE: Self = + Self::MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT; } impl ExtVertexInputDynamicStateFn { #[inline] @@ -18779,7 +18965,7 @@ impl KhrFormatFeatureFlags2Fn { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_format_feature_flags2\0") } } - pub const SPEC_VERSION: u32 = 1u32; + pub const SPEC_VERSION: u32 = 2u32; } #[derive(Clone)] pub struct KhrFormatFeatureFlags2Fn {} @@ -20464,6 +20650,15 @@ impl NvExtension398Fn { Self {} } } +#[doc = "Generated from 'VK_NV_extension_398'"] +impl BuildAccelerationStructureFlagsKHR { + pub const RESERVED_9_NV: Self = Self(0b10_0000_0000); + pub const RESERVED_10_NV: Self = Self(0b100_0000_0000); +} +#[doc = "Generated from 'VK_NV_extension_398'"] +impl PipelineCreateFlags { + pub const RESERVED_28_NV: Self = Self(0b1_0000_0000_0000_0000_0000_0000_0000); +} impl JuiceExtension399Fn { #[inline] pub const fn name() -> &'static ::std::ffi::CStr { @@ -21125,18 +21320,18 @@ impl StructureType { pub const DESCRIPTOR_SET_BINDING_REFERENCE_VALVE: Self = Self(1_000_420_001); pub const DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE: Self = Self(1_000_420_002); } -impl ExtExtension422Fn { +impl ExtDepthClampZeroOneFn { #[inline] pub const fn name() -> &'static ::std::ffi::CStr { - unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_422\0") } + unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_depth_clamp_zero_one\0") } } - pub const SPEC_VERSION: u32 = 0u32; + pub const SPEC_VERSION: u32 = 1u32; } #[derive(Clone)] -pub struct ExtExtension422Fn {} -unsafe impl Send for ExtExtension422Fn {} -unsafe impl Sync for ExtExtension422Fn {} -impl ExtExtension422Fn { +pub struct ExtDepthClampZeroOneFn {} +unsafe impl Send for ExtDepthClampZeroOneFn {} +unsafe impl Sync for ExtDepthClampZeroOneFn {} +impl ExtDepthClampZeroOneFn { pub fn load(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void, @@ -21144,6 +21339,10 @@ impl ExtExtension422Fn { Self {} } } +#[doc = "Generated from 'VK_EXT_depth_clamp_zero_one'"] +impl StructureType { + pub const PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT: Self = Self(1_000_421_000); +} impl ExtNonSeamlessCubeMapFn { #[inline] pub const fn name() -> &'static ::std::ffi::CStr { @@ -21395,7 +21594,7 @@ impl GoogleSurfacelessQueryFn { pub const fn name() -> &'static ::std::ffi::CStr { unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_GOOGLE_surfaceless_query\0") } } - pub const SPEC_VERSION: u32 = 1u32; + pub const SPEC_VERSION: u32 = 2u32; } #[derive(Clone)] pub struct GoogleSurfacelessQueryFn {} @@ -21540,18 +21739,18 @@ impl DeviceQueueCreateFlags { impl QueueFlags { pub const RESERVED_7_QCOM: Self = Self(0b1000_0000); } -impl QcomExtension441Fn { +impl QcomImageProcessingFn { #[inline] pub const fn name() -> &'static ::std::ffi::CStr { - unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_QCOM_extension_441\0") } + unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_QCOM_image_processing\0") } } - pub const SPEC_VERSION: u32 = 0u32; + pub const SPEC_VERSION: u32 = 1u32; } #[derive(Clone)] -pub struct QcomExtension441Fn {} -unsafe impl Send for QcomExtension441Fn {} -unsafe impl Sync for QcomExtension441Fn {} -impl QcomExtension441Fn { +pub struct QcomImageProcessingFn {} +unsafe impl Send for QcomImageProcessingFn {} +unsafe impl Sync for QcomImageProcessingFn {} +impl QcomImageProcessingFn { pub fn load(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void, @@ -21559,22 +21758,35 @@ impl QcomExtension441Fn { Self {} } } -#[doc = "Generated from 'VK_QCOM_extension_441'"] +#[doc = "Generated from 'VK_QCOM_image_processing'"] +impl DescriptorType { + pub const SAMPLE_WEIGHT_IMAGE_QCOM: Self = Self(1_000_440_000); + pub const BLOCK_MATCH_IMAGE_QCOM: Self = Self(1_000_440_001); +} +#[doc = "Generated from 'VK_QCOM_image_processing'"] impl FormatFeatureFlags2 { - pub const RESERVED_34_QCOM: Self = Self(0b100_0000_0000_0000_0000_0000_0000_0000_0000); - pub const RESERVED_35_QCOM: Self = Self(0b1000_0000_0000_0000_0000_0000_0000_0000_0000); - pub const RESERVED_36_QCOM: Self = Self(0b1_0000_0000_0000_0000_0000_0000_0000_0000_0000); - pub const RESERVED_37_QCOM: Self = Self(0b10_0000_0000_0000_0000_0000_0000_0000_0000_0000); + pub const WEIGHT_IMAGE_QCOM: Self = Self(0b100_0000_0000_0000_0000_0000_0000_0000_0000); + pub const WEIGHT_SAMPLED_IMAGE_QCOM: Self = + Self(0b1000_0000_0000_0000_0000_0000_0000_0000_0000); + pub const BLOCK_MATCHING_QCOM: Self = Self(0b1_0000_0000_0000_0000_0000_0000_0000_0000_0000); + pub const BOX_FILTER_SAMPLED_QCOM: Self = + Self(0b10_0000_0000_0000_0000_0000_0000_0000_0000_0000); } -#[doc = "Generated from 'VK_QCOM_extension_441'"] +#[doc = "Generated from 'VK_QCOM_image_processing'"] impl ImageUsageFlags { - pub const RESERVED_20_QCOM: Self = Self(0b1_0000_0000_0000_0000_0000); - pub const RESERVED_21_QCOM: Self = Self(0b10_0000_0000_0000_0000_0000); + pub const SAMPLE_WEIGHT_QCOM: Self = Self(0b1_0000_0000_0000_0000_0000); + pub const SAMPLE_BLOCK_MATCH_QCOM: Self = Self(0b10_0000_0000_0000_0000_0000); } -#[doc = "Generated from 'VK_QCOM_extension_441'"] +#[doc = "Generated from 'VK_QCOM_image_processing'"] impl SamplerCreateFlags { pub const IMAGE_PROCESSING_QCOM: Self = Self(0b1_0000); } +#[doc = "Generated from 'VK_QCOM_image_processing'"] +impl StructureType { + pub const PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM: Self = Self(1_000_440_000); + pub const PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM: Self = Self(1_000_440_001); + pub const IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM: Self = Self(1_000_440_002); +} impl CoreaviExtension442Fn { #[inline] pub const fn name() -> &'static ::std::ffi::CStr { @@ -21712,6 +21924,10 @@ impl SecExtension448Fn { Self {} } } +#[doc = "Generated from 'VK_SEC_extension_448'"] +impl SwapchainCreateFlagsKHR { + pub const RESERVED_3_SEC: Self = Self(0b1000); +} impl SecExtension449Fn { #[inline] pub const fn name() -> &'static ::std::ffi::CStr { @@ -22077,18 +22293,22 @@ impl StructureType { pub const PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT: Self = Self(1_000_462_002); pub const SHADER_MODULE_IDENTIFIER_EXT: Self = Self(1_000_462_003); } -impl ExtExtension464Fn { +impl ExtRasterizationOrderAttachmentAccessFn { #[inline] pub const fn name() -> &'static ::std::ffi::CStr { - unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_464\0") } + unsafe { + ::std::ffi::CStr::from_bytes_with_nul_unchecked( + b"VK_EXT_rasterization_order_attachment_access\0", + ) + } } - pub const SPEC_VERSION: u32 = 0u32; + pub const SPEC_VERSION: u32 = 1u32; } #[derive(Clone)] -pub struct ExtExtension464Fn {} -unsafe impl Send for ExtExtension464Fn {} -unsafe impl Sync for ExtExtension464Fn {} -impl ExtExtension464Fn { +pub struct ExtRasterizationOrderAttachmentAccessFn {} +unsafe impl Send for ExtRasterizationOrderAttachmentAccessFn {} +unsafe impl Sync for ExtRasterizationOrderAttachmentAccessFn {} +impl ExtRasterizationOrderAttachmentAccessFn { pub fn load(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void, @@ -22096,6 +22316,26 @@ impl ExtExtension464Fn { Self {} } } +#[doc = "Generated from 'VK_EXT_rasterization_order_attachment_access'"] +impl PipelineColorBlendStateCreateFlags { + pub const RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXT: Self = Self(0b1); +} +#[doc = "Generated from 'VK_EXT_rasterization_order_attachment_access'"] +impl PipelineDepthStencilStateCreateFlags { + pub const RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_EXT: Self = Self(0b1); + pub const RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_EXT: Self = Self(0b10); +} +#[doc = "Generated from 'VK_EXT_rasterization_order_attachment_access'"] +impl StructureType { + pub const PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT: Self = + Self(1_000_342_000); +} +#[doc = "Generated from 'VK_EXT_rasterization_order_attachment_access'"] +impl SubpassDescriptionFlags { + pub const RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_EXT: Self = Self(0b1_0000); + pub const RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_EXT: Self = Self(0b10_0000); + pub const RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_EXT: Self = Self(0b100_0000); +} impl NvExtension465Fn { #[inline] pub const fn name() -> &'static ::std::ffi::CStr { @@ -22135,18 +22375,18 @@ impl PipelineStageFlags2 { impl QueueFlags { pub const RESERVED_8_NV: Self = Self(0b1_0000_0000); } -impl ExtExtension466Fn { +impl ExtLegacyDitheringFn { #[inline] pub const fn name() -> &'static ::std::ffi::CStr { - unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_466\0") } + unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_legacy_dithering\0") } } - pub const SPEC_VERSION: u32 = 0u32; + pub const SPEC_VERSION: u32 = 1u32; } #[derive(Clone)] -pub struct ExtExtension466Fn {} -unsafe impl Send for ExtExtension466Fn {} -unsafe impl Sync for ExtExtension466Fn {} -impl ExtExtension466Fn { +pub struct ExtLegacyDitheringFn {} +unsafe impl Send for ExtLegacyDitheringFn {} +unsafe impl Sync for ExtLegacyDitheringFn {} +impl ExtLegacyDitheringFn { pub fn load(mut _f: F) -> Self where F: FnMut(&::std::ffi::CStr) -> *const c_void, @@ -22154,13 +22394,17 @@ impl ExtExtension466Fn { Self {} } } -#[doc = "Generated from 'VK_EXT_extension_466'"] +#[doc = "Generated from 'VK_EXT_legacy_dithering'"] impl RenderingFlags { - pub const RESERVED_3_EXT: Self = Self(0b1000); + pub const ENABLE_LEGACY_DITHERING_EXT: Self = Self(0b1000); } -#[doc = "Generated from 'VK_EXT_extension_466'"] +#[doc = "Generated from 'VK_EXT_legacy_dithering'"] +impl StructureType { + pub const PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT: Self = Self(1_000_465_000); +} +#[doc = "Generated from 'VK_EXT_legacy_dithering'"] impl SubpassDescriptionFlags { - pub const RESERVED_7_EXT: Self = Self(0b1000_0000); + pub const ENABLE_LEGACY_DITHERING_EXT: Self = Self(0b1000_0000); } impl ExtExtension467Fn { #[inline] @@ -22184,6 +22428,7 @@ impl ExtExtension467Fn { #[doc = "Generated from 'VK_EXT_extension_467'"] impl PipelineCreateFlags { pub const RESERVED_27_EXT: Self = Self(0b1000_0000_0000_0000_0000_0000_0000); + pub const RESERVED_30_EXT: Self = Self(0b100_0000_0000_0000_0000_0000_0000_0000); } impl ExtExtension468Fn { #[inline] @@ -22514,3 +22759,301 @@ impl ExtExtension484Fn { Self {} } } +impl QcomTilePropertiesFn { + #[inline] + pub const fn name() -> &'static ::std::ffi::CStr { + unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_QCOM_tile_properties\0") } + } + pub const SPEC_VERSION: u32 = 1u32; +} +#[allow(non_camel_case_types)] +pub type PFN_vkGetFramebufferTilePropertiesQCOM = unsafe extern "system" fn( + device: Device, + framebuffer: Framebuffer, + p_properties_count: *mut u32, + p_properties: *mut TilePropertiesQCOM, +) -> Result; +#[allow(non_camel_case_types)] +pub type PFN_vkGetDynamicRenderingTilePropertiesQCOM = unsafe extern "system" fn( + device: Device, + p_rendering_info: *const RenderingInfo, + p_properties: *mut TilePropertiesQCOM, +) -> Result; +#[derive(Clone)] +pub struct QcomTilePropertiesFn { + pub get_framebuffer_tile_properties_qcom: PFN_vkGetFramebufferTilePropertiesQCOM, + pub get_dynamic_rendering_tile_properties_qcom: PFN_vkGetDynamicRenderingTilePropertiesQCOM, +} +unsafe impl Send for QcomTilePropertiesFn {} +unsafe impl Sync for QcomTilePropertiesFn {} +impl QcomTilePropertiesFn { + pub fn load(mut _f: F) -> Self + where + F: FnMut(&::std::ffi::CStr) -> *const c_void, + { + Self { + get_framebuffer_tile_properties_qcom: unsafe { + unsafe extern "system" fn get_framebuffer_tile_properties_qcom( + _device: Device, + _framebuffer: Framebuffer, + _p_properties_count: *mut u32, + _p_properties: *mut TilePropertiesQCOM, + ) -> Result { + panic!(concat!( + "Unable to load ", + stringify!(get_framebuffer_tile_properties_qcom) + )) + } + let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( + b"vkGetFramebufferTilePropertiesQCOM\0", + ); + let val = _f(cname); + if val.is_null() { + get_framebuffer_tile_properties_qcom + } else { + ::std::mem::transmute(val) + } + }, + get_dynamic_rendering_tile_properties_qcom: unsafe { + unsafe extern "system" fn get_dynamic_rendering_tile_properties_qcom( + _device: Device, + _p_rendering_info: *const RenderingInfo, + _p_properties: *mut TilePropertiesQCOM, + ) -> Result { + panic!(concat!( + "Unable to load ", + stringify!(get_dynamic_rendering_tile_properties_qcom) + )) + } + let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( + b"vkGetDynamicRenderingTilePropertiesQCOM\0", + ); + let val = _f(cname); + if val.is_null() { + get_dynamic_rendering_tile_properties_qcom + } else { + ::std::mem::transmute(val) + } + }, + } + } +} +#[doc = "Generated from 'VK_QCOM_tile_properties'"] +impl StructureType { + pub const PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM: Self = Self(1_000_484_000); + pub const TILE_PROPERTIES_QCOM: Self = Self(1_000_484_001); +} +impl SecAmigoProfilingFn { + #[inline] + pub const fn name() -> &'static ::std::ffi::CStr { + unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_SEC_amigo_profiling\0") } + } + pub const SPEC_VERSION: u32 = 1u32; +} +#[derive(Clone)] +pub struct SecAmigoProfilingFn {} +unsafe impl Send for SecAmigoProfilingFn {} +unsafe impl Sync for SecAmigoProfilingFn {} +impl SecAmigoProfilingFn { + pub fn load(mut _f: F) -> Self + where + F: FnMut(&::std::ffi::CStr) -> *const c_void, + { + Self {} + } +} +#[doc = "Generated from 'VK_SEC_amigo_profiling'"] +impl StructureType { + pub const PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC: Self = Self(1_000_485_000); + pub const AMIGO_PROFILING_SUBMIT_INFO_SEC: Self = Self(1_000_485_001); +} +impl ExtExtension487Fn { + #[inline] + pub const fn name() -> &'static ::std::ffi::CStr { + unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_487\0") } + } + pub const SPEC_VERSION: u32 = 0u32; +} +#[derive(Clone)] +pub struct ExtExtension487Fn {} +unsafe impl Send for ExtExtension487Fn {} +unsafe impl Sync for ExtExtension487Fn {} +impl ExtExtension487Fn { + pub fn load(mut _f: F) -> Self + where + F: FnMut(&::std::ffi::CStr) -> *const c_void, + { + Self {} + } +} +impl ExtExtension488Fn { + #[inline] + pub const fn name() -> &'static ::std::ffi::CStr { + unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_488\0") } + } + pub const SPEC_VERSION: u32 = 0u32; +} +#[derive(Clone)] +pub struct ExtExtension488Fn {} +unsafe impl Send for ExtExtension488Fn {} +unsafe impl Sync for ExtExtension488Fn {} +impl ExtExtension488Fn { + pub fn load(mut _f: F) -> Self + where + F: FnMut(&::std::ffi::CStr) -> *const c_void, + { + Self {} + } +} +impl QcomExtension489Fn { + #[inline] + pub const fn name() -> &'static ::std::ffi::CStr { + unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_QCOM_extension_489\0") } + } + pub const SPEC_VERSION: u32 = 0u32; +} +#[derive(Clone)] +pub struct QcomExtension489Fn {} +unsafe impl Send for QcomExtension489Fn {} +unsafe impl Sync for QcomExtension489Fn {} +impl QcomExtension489Fn { + pub fn load(mut _f: F) -> Self + where + F: FnMut(&::std::ffi::CStr) -> *const c_void, + { + Self {} + } +} +impl NvExtension490Fn { + #[inline] + pub const fn name() -> &'static ::std::ffi::CStr { + unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_extension_490\0") } + } + pub const SPEC_VERSION: u32 = 0u32; +} +#[derive(Clone)] +pub struct NvExtension490Fn {} +unsafe impl Send for NvExtension490Fn {} +unsafe impl Sync for NvExtension490Fn {} +impl NvExtension490Fn { + pub fn load(mut _f: F) -> Self + where + F: FnMut(&::std::ffi::CStr) -> *const c_void, + { + Self {} + } +} +impl NvExtension491Fn { + #[inline] + pub const fn name() -> &'static ::std::ffi::CStr { + unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_extension_491\0") } + } + pub const SPEC_VERSION: u32 = 0u32; +} +#[derive(Clone)] +pub struct NvExtension491Fn {} +unsafe impl Send for NvExtension491Fn {} +unsafe impl Sync for NvExtension491Fn {} +impl NvExtension491Fn { + pub fn load(mut _f: F) -> Self + where + F: FnMut(&::std::ffi::CStr) -> *const c_void, + { + Self {} + } +} +impl NvExtension492Fn { + #[inline] + pub const fn name() -> &'static ::std::ffi::CStr { + unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_extension_492\0") } + } + pub const SPEC_VERSION: u32 = 0u32; +} +#[derive(Clone)] +pub struct NvExtension492Fn {} +unsafe impl Send for NvExtension492Fn {} +unsafe impl Sync for NvExtension492Fn {} +impl NvExtension492Fn { + pub fn load(mut _f: F) -> Self + where + F: FnMut(&::std::ffi::CStr) -> *const c_void, + { + Self {} + } +} +impl NvExtension493Fn { + #[inline] + pub const fn name() -> &'static ::std::ffi::CStr { + unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_extension_493\0") } + } + pub const SPEC_VERSION: u32 = 0u32; +} +#[derive(Clone)] +pub struct NvExtension493Fn {} +unsafe impl Send for NvExtension493Fn {} +unsafe impl Sync for NvExtension493Fn {} +impl NvExtension493Fn { + pub fn load(mut _f: F) -> Self + where + F: FnMut(&::std::ffi::CStr) -> *const c_void, + { + Self {} + } +} +impl NvExtension494Fn { + #[inline] + pub const fn name() -> &'static ::std::ffi::CStr { + unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_NV_extension_494\0") } + } + pub const SPEC_VERSION: u32 = 0u32; +} +#[derive(Clone)] +pub struct NvExtension494Fn {} +unsafe impl Send for NvExtension494Fn {} +unsafe impl Sync for NvExtension494Fn {} +impl NvExtension494Fn { + pub fn load(mut _f: F) -> Self + where + F: FnMut(&::std::ffi::CStr) -> *const c_void, + { + Self {} + } +} +impl ExtMutableDescriptorTypeFn { + #[inline] + pub const fn name() -> &'static ::std::ffi::CStr { + unsafe { + ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_mutable_descriptor_type\0") + } + } + pub const SPEC_VERSION: u32 = 1u32; +} +#[derive(Clone)] +pub struct ExtMutableDescriptorTypeFn {} +unsafe impl Send for ExtMutableDescriptorTypeFn {} +unsafe impl Sync for ExtMutableDescriptorTypeFn {} +impl ExtMutableDescriptorTypeFn { + pub fn load(mut _f: F) -> Self + where + F: FnMut(&::std::ffi::CStr) -> *const c_void, + { + Self {} + } +} +#[doc = "Generated from 'VK_EXT_mutable_descriptor_type'"] +impl DescriptorPoolCreateFlags { + pub const HOST_ONLY_EXT: Self = Self(0b100); +} +#[doc = "Generated from 'VK_EXT_mutable_descriptor_type'"] +impl DescriptorSetLayoutCreateFlags { + pub const HOST_ONLY_POOL_EXT: Self = Self(0b100); +} +#[doc = "Generated from 'VK_EXT_mutable_descriptor_type'"] +impl DescriptorType { + pub const MUTABLE_EXT: Self = Self(1_000_351_000); +} +#[doc = "Generated from 'VK_EXT_mutable_descriptor_type'"] +impl StructureType { + pub const PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT: Self = Self(1_000_351_000); + pub const MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT: Self = Self(1_000_351_002); +} diff --git a/generator/Vulkan-Headers b/generator/Vulkan-Headers index 2c823b7..5177b11 160000 --- a/generator/Vulkan-Headers +++ b/generator/Vulkan-Headers @@ -1 +1 @@ -Subproject commit 2c823b7f27590ec0a489f7fbe14b154e13fa5cfb +Subproject commit 5177b119bbdf463b7b909855a83230253c2d8b68