From 02a60bd9cb29784ea75634d46a25b29d0f493c57 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 | 1522 +++++++++++++++++++++++++++++------- ash/src/vk/enums.rs | 99 +++ ash/src/vk/extensions.rs | 821 +++++++++++++++---- generator/Vulkan-Headers | 2 +- 9 files changed, 2357 insertions(+), 617 deletions(-) diff --git a/Changelog.md b/Changelog.md index c2fa51b..78d73cd 100644 --- a/Changelog.md +++ b/Changelog.md @@ -15,7 +15,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 bd56248..fda56e0 100644 --- a/ash/src/vk/aliases.rs +++ b/ash/src/vk/aliases.rs @@ -242,6 +242,10 @@ pub type CopyImageToBufferInfo2KHR<'a> = CopyImageToBufferInfo2<'a>; pub type ResolveImageInfo2KHR<'a> = ResolveImageInfo2<'a>; pub type PhysicalDeviceShaderTerminateInvocationFeaturesKHR<'a> = PhysicalDeviceShaderTerminateInvocationFeatures<'a>; +pub type PhysicalDeviceMutableDescriptorTypeFeaturesVALVE<'a> = + PhysicalDeviceMutableDescriptorTypeFeaturesEXT<'a>; +pub type MutableDescriptorTypeListVALVE<'a> = MutableDescriptorTypeListEXT<'a>; +pub type MutableDescriptorTypeCreateInfoVALVE<'a> = MutableDescriptorTypeCreateInfoEXT<'a>; pub type MemoryBarrier2KHR<'a> = MemoryBarrier2<'a>; pub type ImageMemoryBarrier2KHR<'a> = ImageMemoryBarrier2<'a>; pub type BufferMemoryBarrier2KHR<'a> = BufferMemoryBarrier2<'a>; @@ -261,3 +265,5 @@ pub type RenderingAttachmentInfoKHR<'a> = RenderingAttachmentInfo<'a>; pub type PhysicalDeviceDynamicRenderingFeaturesKHR<'a> = PhysicalDeviceDynamicRenderingFeatures<'a>; pub type CommandBufferInheritanceRenderingInfoKHR<'a> = CommandBufferInheritanceRenderingInfo<'a>; pub type AttachmentSampleCountInfoNV<'a> = AttachmentSampleCountInfoAMD<'a>; +pub type PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM<'a> = + PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT<'a>; 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 e532e07..cc16575 100644 --- a/ash/src/vk/definitions.rs +++ b/ash/src/vk/definitions.rs @@ -57,7 +57,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 = ""] @@ -294,6 +294,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); @@ -302,6 +307,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, @@ -16849,6 +16869,7 @@ unsafe impl<'a> TaggedStructure for ShaderModuleValidationCacheCreateInfoEXT<'a> StructureType::SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT; } unsafe impl ExtendsShaderModuleCreateInfo for ShaderModuleValidationCacheCreateInfoEXT<'_> {} +unsafe impl ExtendsPipelineShaderStageCreateInfo for ShaderModuleValidationCacheCreateInfoEXT<'_> {} impl<'a> ShaderModuleValidationCacheCreateInfoEXT<'a> { #[inline] pub fn validation_cache(mut self, validation_cache: ValidationCacheEXT) -> Self { @@ -22223,6 +22244,349 @@ impl DrawMeshTasksIndirectCommandNV { #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] +#[doc = ""] +pub struct PhysicalDeviceMeshShaderFeaturesEXT<'a> { + 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, + pub _marker: PhantomData<&'a ()>, +} +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(), + _marker: PhantomData, + } + } +} +unsafe impl<'a> TaggedStructure for PhysicalDeviceMeshShaderFeaturesEXT<'a> { + const STRUCTURE_TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT; +} +unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceMeshShaderFeaturesEXT<'_> {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceMeshShaderFeaturesEXT<'_> {} +impl<'a> PhysicalDeviceMeshShaderFeaturesEXT<'a> { + #[inline] + pub fn task_shader(mut self, task_shader: bool) -> Self { + self.task_shader = task_shader.into(); + self + } + #[inline] + pub fn mesh_shader(mut self, mesh_shader: bool) -> Self { + self.mesh_shader = mesh_shader.into(); + self + } + #[inline] + pub fn multiview_mesh_shader(mut self, multiview_mesh_shader: bool) -> Self { + self.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.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.mesh_shader_queries = mesh_shader_queries.into(); + self + } +} +#[repr(C)] +#[cfg_attr(feature = "debug", derive(Debug))] +#[derive(Copy, Clone)] +#[doc = ""] +pub struct PhysicalDeviceMeshShaderPropertiesEXT<'a> { + 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, + pub _marker: PhantomData<&'a ()>, +} +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(), + _marker: PhantomData, + } + } +} +unsafe impl<'a> TaggedStructure for PhysicalDeviceMeshShaderPropertiesEXT<'a> { + const STRUCTURE_TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT; +} +unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceMeshShaderPropertiesEXT<'_> {} +impl<'a> PhysicalDeviceMeshShaderPropertiesEXT<'a> { + #[inline] + pub fn max_task_work_group_total_count(mut self, max_task_work_group_total_count: u32) -> Self { + self.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.prefers_compact_primitive_output = prefers_compact_primitive_output.into(); + self + } +} +#[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 { + #[inline] + pub fn group_count_x(mut self, group_count_x: u32) -> Self { + self.group_count_x = group_count_x; + self + } + #[inline] + pub fn group_count_y(mut self, group_count_y: u32) -> Self { + self.group_count_y = group_count_y; + self + } + #[inline] + pub fn group_count_z(mut self, group_count_z: u32) -> Self { + self.group_count_z = group_count_z; + self + } +} +#[repr(C)] +#[cfg_attr(feature = "debug", derive(Debug))] +#[derive(Copy, Clone)] #[doc = ""] pub struct RayTracingShaderGroupCreateInfoNV<'a> { pub s_type: StructureType, @@ -33252,14 +33616,14 @@ impl<'a> PhysicalDeviceImage2DViewOf3DFeaturesEXT<'a> { #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] -#[doc = ""] -pub struct PhysicalDeviceMutableDescriptorTypeFeaturesVALVE<'a> { +#[doc = ""] +pub struct PhysicalDeviceMutableDescriptorTypeFeaturesEXT<'a> { pub s_type: StructureType, pub p_next: *mut c_void, pub mutable_descriptor_type: Bool32, pub _marker: PhantomData<&'a ()>, } -impl ::std::default::Default for PhysicalDeviceMutableDescriptorTypeFeaturesVALVE<'_> { +impl ::std::default::Default for PhysicalDeviceMutableDescriptorTypeFeaturesEXT<'_> { #[inline] fn default() -> Self { Self { @@ -33270,16 +33634,13 @@ impl ::std::default::Default for PhysicalDeviceMutableDescriptorTypeFeaturesVALV } } } -unsafe impl<'a> TaggedStructure for PhysicalDeviceMutableDescriptorTypeFeaturesVALVE<'a> { +unsafe impl<'a> TaggedStructure for PhysicalDeviceMutableDescriptorTypeFeaturesEXT<'a> { const STRUCTURE_TYPE: StructureType = - StructureType::PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE; + StructureType::PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT; } -unsafe impl ExtendsPhysicalDeviceFeatures2 - for PhysicalDeviceMutableDescriptorTypeFeaturesVALVE<'_> -{ -} -unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceMutableDescriptorTypeFeaturesVALVE<'_> {} -impl<'a> PhysicalDeviceMutableDescriptorTypeFeaturesVALVE<'a> { +unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceMutableDescriptorTypeFeaturesEXT<'_> {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceMutableDescriptorTypeFeaturesEXT<'_> {} +impl<'a> PhysicalDeviceMutableDescriptorTypeFeaturesEXT<'a> { #[inline] pub fn mutable_descriptor_type(mut self, mutable_descriptor_type: bool) -> Self { self.mutable_descriptor_type = mutable_descriptor_type.into(); @@ -33289,13 +33650,13 @@ impl<'a> PhysicalDeviceMutableDescriptorTypeFeaturesVALVE<'a> { #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] -#[doc = ""] -pub struct MutableDescriptorTypeListVALVE<'a> { +#[doc = ""] +pub struct MutableDescriptorTypeListEXT<'a> { pub descriptor_type_count: u32, pub p_descriptor_types: *const DescriptorType, pub _marker: PhantomData<&'a ()>, } -impl ::std::default::Default for MutableDescriptorTypeListVALVE<'_> { +impl ::std::default::Default for MutableDescriptorTypeListEXT<'_> { #[inline] fn default() -> Self { Self { @@ -33305,7 +33666,7 @@ impl ::std::default::Default for MutableDescriptorTypeListVALVE<'_> { } } } -impl<'a> MutableDescriptorTypeListVALVE<'a> { +impl<'a> MutableDescriptorTypeListEXT<'a> { #[inline] pub fn descriptor_types(mut self, descriptor_types: &'a [DescriptorType]) -> Self { self.descriptor_type_count = descriptor_types.len() as _; @@ -33316,15 +33677,15 @@ impl<'a> MutableDescriptorTypeListVALVE<'a> { #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] -#[doc = ""] -pub struct MutableDescriptorTypeCreateInfoVALVE<'a> { +#[doc = ""] +pub struct MutableDescriptorTypeCreateInfoEXT<'a> { 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<'a>, + pub p_mutable_descriptor_type_lists: *const MutableDescriptorTypeListEXT<'a>, pub _marker: PhantomData<&'a ()>, } -impl ::std::default::Default for MutableDescriptorTypeCreateInfoVALVE<'_> { +impl ::std::default::Default for MutableDescriptorTypeCreateInfoEXT<'_> { #[inline] fn default() -> Self { Self { @@ -33336,16 +33697,16 @@ impl ::std::default::Default for MutableDescriptorTypeCreateInfoVALVE<'_> { } } } -unsafe impl<'a> TaggedStructure for MutableDescriptorTypeCreateInfoVALVE<'a> { - const STRUCTURE_TYPE: StructureType = StructureType::MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE; +unsafe impl<'a> TaggedStructure for MutableDescriptorTypeCreateInfoEXT<'a> { + const STRUCTURE_TYPE: StructureType = StructureType::MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT; } -unsafe impl ExtendsDescriptorSetLayoutCreateInfo for MutableDescriptorTypeCreateInfoVALVE<'_> {} -unsafe impl ExtendsDescriptorPoolCreateInfo for MutableDescriptorTypeCreateInfoVALVE<'_> {} -impl<'a> MutableDescriptorTypeCreateInfoVALVE<'a> { +unsafe impl ExtendsDescriptorSetLayoutCreateInfo for MutableDescriptorTypeCreateInfoEXT<'_> {} +unsafe impl ExtendsDescriptorPoolCreateInfo for MutableDescriptorTypeCreateInfoEXT<'_> {} +impl<'a> MutableDescriptorTypeCreateInfoEXT<'a> { #[inline] pub fn mutable_descriptor_type_lists( mut self, - mutable_descriptor_type_lists: &'a [MutableDescriptorTypeListVALVE], + mutable_descriptor_type_lists: &'a [MutableDescriptorTypeListEXT], ) -> Self { self.mutable_descriptor_type_list_count = mutable_descriptor_type_lists.len() as _; self.p_mutable_descriptor_type_lists = mutable_descriptor_type_lists.as_ptr(); @@ -34322,6 +34683,40 @@ impl<'a> PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT<'a> { #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] +#[doc = ""] +pub struct PhysicalDeviceLegacyDitheringFeaturesEXT<'a> { + pub s_type: StructureType, + pub p_next: *mut c_void, + pub legacy_dithering: Bool32, + pub _marker: PhantomData<&'a ()>, +} +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(), + _marker: PhantomData, + } + } +} +unsafe impl<'a> TaggedStructure for PhysicalDeviceLegacyDitheringFeaturesEXT<'a> { + const STRUCTURE_TYPE: StructureType = + StructureType::PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT; +} +unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceLegacyDitheringFeaturesEXT<'_> {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceLegacyDitheringFeaturesEXT<'_> {} +impl<'a> PhysicalDeviceLegacyDitheringFeaturesEXT<'a> { + #[inline] + pub fn legacy_dithering(mut self, legacy_dithering: bool) -> Self { + self.legacy_dithering = legacy_dithering.into(); + self + } +} +#[repr(C)] +#[cfg_attr(feature = "debug", derive(Debug))] +#[derive(Copy, Clone)] #[doc = ""] pub struct PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT<'a> { pub s_type: StructureType, @@ -34442,14 +34837,14 @@ impl<'a> MultisampledRenderToSingleSampledInfoEXT<'a> { #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] -#[doc = ""] -pub struct VideoQueueFamilyProperties2KHR<'a> { +#[doc = ""] +pub struct QueueFamilyVideoPropertiesKHR<'a> { pub s_type: StructureType, pub p_next: *mut c_void, pub video_codec_operations: VideoCodecOperationFlagsKHR, pub _marker: PhantomData<&'a ()>, } -impl ::std::default::Default for VideoQueueFamilyProperties2KHR<'_> { +impl ::std::default::Default for QueueFamilyVideoPropertiesKHR<'_> { #[inline] fn default() -> Self { Self { @@ -34460,11 +34855,11 @@ impl ::std::default::Default for VideoQueueFamilyProperties2KHR<'_> { } } } -unsafe impl<'a> TaggedStructure for VideoQueueFamilyProperties2KHR<'a> { - const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR; +unsafe impl<'a> TaggedStructure for QueueFamilyVideoPropertiesKHR<'a> { + const STRUCTURE_TYPE: StructureType = StructureType::QUEUE_FAMILY_VIDEO_PROPERTIES_KHR; } -unsafe impl ExtendsQueueFamilyProperties2 for VideoQueueFamilyProperties2KHR<'_> {} -impl<'a> VideoQueueFamilyProperties2KHR<'a> { +unsafe impl ExtendsQueueFamilyProperties2 for QueueFamilyVideoPropertiesKHR<'_> {} +impl<'a> QueueFamilyVideoPropertiesKHR<'a> { #[inline] pub fn video_codec_operations( mut self, @@ -34477,14 +34872,14 @@ impl<'a> VideoQueueFamilyProperties2KHR<'a> { #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] -#[doc = ""] -pub struct QueueFamilyQueryResultStatusProperties2KHR<'a> { +#[doc = ""] +pub struct QueueFamilyQueryResultStatusPropertiesKHR<'a> { pub s_type: StructureType, pub p_next: *mut c_void, pub query_result_status_support: Bool32, pub _marker: PhantomData<&'a ()>, } -impl ::std::default::Default for QueueFamilyQueryResultStatusProperties2KHR<'_> { +impl ::std::default::Default for QueueFamilyQueryResultStatusPropertiesKHR<'_> { #[inline] fn default() -> Self { Self { @@ -34495,12 +34890,12 @@ impl ::std::default::Default for QueueFamilyQueryResultStatusProperties2KHR<'_> } } } -unsafe impl<'a> TaggedStructure for QueueFamilyQueryResultStatusProperties2KHR<'a> { +unsafe impl<'a> TaggedStructure for QueueFamilyQueryResultStatusPropertiesKHR<'a> { const STRUCTURE_TYPE: StructureType = - StructureType::QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_2_KHR; + StructureType::QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR; } -unsafe impl ExtendsQueueFamilyProperties2 for QueueFamilyQueryResultStatusProperties2KHR<'_> {} -impl<'a> QueueFamilyQueryResultStatusProperties2KHR<'a> { +unsafe impl ExtendsQueueFamilyProperties2 for QueueFamilyQueryResultStatusPropertiesKHR<'_> {} +impl<'a> QueueFamilyQueryResultStatusPropertiesKHR<'a> { #[inline] pub fn query_result_status_support(mut self, query_result_status_support: bool) -> Self { self.query_result_status_support = query_result_status_support.into(); @@ -34510,15 +34905,15 @@ impl<'a> QueueFamilyQueryResultStatusProperties2KHR<'a> { #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] -#[doc = ""] -pub struct VideoProfilesKHR<'a> { +#[doc = ""] +pub struct VideoProfileListInfoKHR<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub profile_count: u32, - pub p_profiles: *const VideoProfileKHR<'a>, + pub p_profiles: *const VideoProfileInfoKHR<'a>, pub _marker: PhantomData<&'a ()>, } -impl ::std::default::Default for VideoProfilesKHR<'_> { +impl ::std::default::Default for VideoProfileListInfoKHR<'_> { #[inline] fn default() -> Self { Self { @@ -34530,16 +34925,16 @@ impl ::std::default::Default for VideoProfilesKHR<'_> { } } } -unsafe impl<'a> TaggedStructure for VideoProfilesKHR<'a> { - const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_PROFILES_KHR; +unsafe impl<'a> TaggedStructure for VideoProfileListInfoKHR<'a> { + const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_PROFILE_LIST_INFO_KHR; } -unsafe impl ExtendsPhysicalDeviceImageFormatInfo2 for VideoProfilesKHR<'_> {} -unsafe impl ExtendsPhysicalDeviceVideoFormatInfoKHR for VideoProfilesKHR<'_> {} -unsafe impl ExtendsImageCreateInfo for VideoProfilesKHR<'_> {} -unsafe impl ExtendsBufferCreateInfo for VideoProfilesKHR<'_> {} -impl<'a> VideoProfilesKHR<'a> { +unsafe impl ExtendsPhysicalDeviceImageFormatInfo2 for VideoProfileListInfoKHR<'_> {} +unsafe impl ExtendsPhysicalDeviceVideoFormatInfoKHR for VideoProfileListInfoKHR<'_> {} +unsafe impl ExtendsImageCreateInfo for VideoProfileListInfoKHR<'_> {} +unsafe impl ExtendsBufferCreateInfo for VideoProfileListInfoKHR<'_> {} +impl<'a> VideoProfileListInfoKHR<'a> { #[inline] - pub fn profiles(mut self, profiles: &'a [VideoProfileKHR]) -> Self { + pub fn profiles(mut self, profiles: &'a [VideoProfileInfoKHR]) -> Self { self.profile_count = profiles.len() as _; self.p_profiles = profiles.as_ptr(); self @@ -34551,7 +34946,7 @@ impl<'a> VideoProfilesKHR<'a> { #[doc = ""] pub struct PhysicalDeviceVideoFormatInfoKHR<'a> { pub s_type: StructureType, - pub p_next: *mut c_void, + pub p_next: *const c_void, pub image_usage: ImageUsageFlags, pub _marker: PhantomData<&'a ()>, } @@ -34560,7 +34955,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(), _marker: PhantomData, } @@ -34586,7 +34981,7 @@ impl<'a> PhysicalDeviceVideoFormatInfoKHR<'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.p_next as _; self.p_next = next_ptr; @@ -34663,8 +35058,8 @@ impl<'a> VideoFormatPropertiesKHR<'a> { #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] -#[doc = ""] -pub struct VideoProfileKHR<'a> { +#[doc = ""] +pub struct VideoProfileInfoKHR<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub video_codec_operation: VideoCodecOperationFlagsKHR, @@ -34673,7 +35068,7 @@ pub struct VideoProfileKHR<'a> { pub chroma_bit_depth: VideoComponentBitDepthFlagsKHR, pub _marker: PhantomData<&'a ()>, } -impl ::std::default::Default for VideoProfileKHR<'_> { +impl ::std::default::Default for VideoProfileInfoKHR<'_> { #[inline] fn default() -> Self { Self { @@ -34687,12 +35082,12 @@ impl ::std::default::Default for VideoProfileKHR<'_> { } } } -unsafe impl<'a> TaggedStructure for VideoProfileKHR<'a> { - const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_PROFILE_KHR; +unsafe impl<'a> TaggedStructure for VideoProfileInfoKHR<'a> { + const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_PROFILE_INFO_KHR; } -unsafe impl ExtendsQueryPoolCreateInfo for VideoProfileKHR<'_> {} -pub unsafe trait ExtendsVideoProfileKHR {} -impl<'a> VideoProfileKHR<'a> { +unsafe impl ExtendsQueryPoolCreateInfo for VideoProfileInfoKHR<'_> {} +pub unsafe trait ExtendsVideoProfileInfoKHR {} +impl<'a> VideoProfileInfoKHR<'a> { #[inline] pub fn video_codec_operation( mut self, @@ -34724,7 +35119,7 @@ impl<'a> VideoProfileKHR<'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 `x.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(); @@ -34854,49 +35249,46 @@ impl<'a> VideoCapabilitiesKHR<'a> { #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] -#[doc = ""] -pub struct VideoGetMemoryPropertiesKHR<'a> { +#[doc = ""] +pub struct VideoSessionMemoryRequirementsKHR<'a> { 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<'a>, + pub memory_requirements: MemoryRequirements, pub _marker: PhantomData<&'a ()>, } -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(), _marker: PhantomData, } } } -unsafe impl<'a> TaggedStructure for VideoGetMemoryPropertiesKHR<'a> { - const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_GET_MEMORY_PROPERTIES_KHR; +unsafe impl<'a> TaggedStructure for VideoSessionMemoryRequirementsKHR<'a> { + const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_SESSION_MEMORY_REQUIREMENTS_KHR; } -impl<'a> VideoGetMemoryPropertiesKHR<'a> { +impl<'a> VideoSessionMemoryRequirementsKHR<'a> { #[inline] pub fn memory_bind_index(mut self, memory_bind_index: u32) -> Self { self.memory_bind_index = memory_bind_index; self } #[inline] - pub fn memory_requirements( - mut self, - memory_requirements: &'a mut MemoryRequirements2<'a>, - ) -> Self { - self.p_memory_requirements = memory_requirements; + pub fn memory_requirements(mut self, memory_requirements: MemoryRequirements) -> Self { + self.memory_requirements = memory_requirements; self } } #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] -#[doc = ""] -pub struct VideoBindMemoryKHR<'a> { +#[doc = ""] +pub struct BindVideoSessionMemoryInfoKHR<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub memory_bind_index: u32, @@ -34905,7 +35297,7 @@ pub struct VideoBindMemoryKHR<'a> { pub memory_size: DeviceSize, pub _marker: PhantomData<&'a ()>, } -impl ::std::default::Default for VideoBindMemoryKHR<'_> { +impl ::std::default::Default for BindVideoSessionMemoryInfoKHR<'_> { #[inline] fn default() -> Self { Self { @@ -34919,10 +35311,10 @@ impl ::std::default::Default for VideoBindMemoryKHR<'_> { } } } -unsafe impl<'a> TaggedStructure for VideoBindMemoryKHR<'a> { - const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_BIND_MEMORY_KHR; +unsafe impl<'a> TaggedStructure for BindVideoSessionMemoryInfoKHR<'a> { + const STRUCTURE_TYPE: StructureType = StructureType::BIND_VIDEO_SESSION_MEMORY_INFO_KHR; } -impl<'a> VideoBindMemoryKHR<'a> { +impl<'a> BindVideoSessionMemoryInfoKHR<'a> { #[inline] pub fn memory_bind_index(mut self, memory_bind_index: u32) -> Self { self.memory_bind_index = memory_bind_index; @@ -34947,8 +35339,8 @@ impl<'a> VideoBindMemoryKHR<'a> { #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] -#[doc = ""] -pub struct VideoPictureResourceKHR<'a> { +#[doc = ""] +pub struct VideoPictureResourceInfoKHR<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub coded_offset: Offset2D, @@ -34957,7 +35349,7 @@ pub struct VideoPictureResourceKHR<'a> { pub image_view_binding: ImageView, pub _marker: PhantomData<&'a ()>, } -impl ::std::default::Default for VideoPictureResourceKHR<'_> { +impl ::std::default::Default for VideoPictureResourceInfoKHR<'_> { #[inline] fn default() -> Self { Self { @@ -34971,10 +35363,10 @@ impl ::std::default::Default for VideoPictureResourceKHR<'_> { } } } -unsafe impl<'a> TaggedStructure for VideoPictureResourceKHR<'a> { - const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_PICTURE_RESOURCE_KHR; +unsafe impl<'a> TaggedStructure for VideoPictureResourceInfoKHR<'a> { + const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_PICTURE_RESOURCE_INFO_KHR; } -impl<'a> VideoPictureResourceKHR<'a> { +impl<'a> VideoPictureResourceInfoKHR<'a> { #[inline] pub fn coded_offset(mut self, coded_offset: Offset2D) -> Self { self.coded_offset = coded_offset; @@ -34999,15 +35391,15 @@ impl<'a> VideoPictureResourceKHR<'a> { #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] -#[doc = ""] -pub struct VideoReferenceSlotKHR<'a> { +#[doc = ""] +pub struct VideoReferenceSlotInfoKHR<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub slot_index: i8, - pub p_picture_resource: *const VideoPictureResourceKHR<'a>, + pub p_picture_resource: *const VideoPictureResourceInfoKHR<'a>, pub _marker: PhantomData<&'a ()>, } -impl ::std::default::Default for VideoReferenceSlotKHR<'_> { +impl ::std::default::Default for VideoReferenceSlotInfoKHR<'_> { #[inline] fn default() -> Self { Self { @@ -35019,18 +35411,21 @@ impl ::std::default::Default for VideoReferenceSlotKHR<'_> { } } } -unsafe impl<'a> TaggedStructure for VideoReferenceSlotKHR<'a> { - const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_REFERENCE_SLOT_KHR; +unsafe impl<'a> TaggedStructure for VideoReferenceSlotInfoKHR<'a> { + const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_REFERENCE_SLOT_INFO_KHR; } -pub unsafe trait ExtendsVideoReferenceSlotKHR {} -impl<'a> VideoReferenceSlotKHR<'a> { +pub unsafe trait ExtendsVideoReferenceSlotInfoKHR {} +impl<'a> VideoReferenceSlotInfoKHR<'a> { #[inline] pub fn slot_index(mut self, slot_index: i8) -> Self { self.slot_index = slot_index; self } #[inline] - pub fn picture_resource(mut self, picture_resource: &'a VideoPictureResourceKHR<'a>) -> Self { + pub fn picture_resource( + mut self, + picture_resource: &'a VideoPictureResourceInfoKHR<'a>, + ) -> Self { self.p_picture_resource = picture_resource; self } @@ -35039,7 +35434,7 @@ impl<'a> VideoReferenceSlotKHR<'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 `x.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(); @@ -35074,25 +35469,42 @@ unsafe impl<'a> TaggedStructure for VideoDecodeCapabilitiesKHR<'a> { const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_DECODE_CAPABILITIES_KHR; } unsafe impl ExtendsVideoCapabilitiesKHR for VideoDecodeCapabilitiesKHR<'_> {} -pub unsafe trait ExtendsVideoDecodeCapabilitiesKHR {} impl<'a> VideoDecodeCapabilitiesKHR<'a> { #[inline] pub fn flags(mut self, flags: VideoDecodeCapabilityFlagsKHR) -> Self { self.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 `x.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.p_next as _; - self.p_next = next_ptr; +} +#[repr(C)] +#[cfg_attr(feature = "debug", derive(Debug))] +#[derive(Copy, Clone)] +#[doc = ""] +pub struct VideoDecodeUsageInfoKHR<'a> { + pub s_type: StructureType, + pub p_next: *const c_void, + pub video_usage_hints: VideoDecodeUsageFlagsKHR, + pub _marker: PhantomData<&'a ()>, +} +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(), + _marker: PhantomData, } + } +} +unsafe impl<'a> TaggedStructure for VideoDecodeUsageInfoKHR<'a> { + const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_DECODE_USAGE_INFO_KHR; +} +unsafe impl ExtendsVideoProfileInfoKHR for VideoDecodeUsageInfoKHR<'_> {} +impl<'a> VideoDecodeUsageInfoKHR<'a> { + #[inline] + pub fn video_usage_hints(mut self, video_usage_hints: VideoDecodeUsageFlagsKHR) -> Self { + self.video_usage_hints = video_usage_hints; self } } @@ -35107,10 +35519,10 @@ pub struct VideoDecodeInfoKHR<'a> { pub src_buffer: Buffer, pub src_buffer_offset: DeviceSize, pub src_buffer_range: DeviceSize, - pub dst_picture_resource: VideoPictureResourceKHR<'a>, - pub p_setup_reference_slot: *const VideoReferenceSlotKHR<'a>, + pub dst_picture_resource: VideoPictureResourceInfoKHR<'a>, + pub p_setup_reference_slot: *const VideoReferenceSlotInfoKHR<'a>, pub reference_slot_count: u32, - pub p_reference_slots: *const VideoReferenceSlotKHR<'a>, + pub p_reference_slots: *const VideoReferenceSlotInfoKHR<'a>, pub _marker: PhantomData<&'a ()>, } impl ::std::default::Default for VideoDecodeInfoKHR<'_> { @@ -35123,7 +35535,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(), @@ -35159,7 +35571,7 @@ impl<'a> VideoDecodeInfoKHR<'a> { #[inline] pub fn dst_picture_resource( mut self, - dst_picture_resource: VideoPictureResourceKHR<'a>, + dst_picture_resource: VideoPictureResourceInfoKHR<'a>, ) -> Self { self.dst_picture_resource = dst_picture_resource; self @@ -35167,13 +35579,13 @@ impl<'a> VideoDecodeInfoKHR<'a> { #[inline] pub fn setup_reference_slot( mut self, - setup_reference_slot: &'a VideoReferenceSlotKHR<'a>, + setup_reference_slot: &'a VideoReferenceSlotInfoKHR<'a>, ) -> Self { self.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.reference_slot_count = reference_slots.len() as _; self.p_reference_slots = reference_slots.as_ptr(); self @@ -35196,15 +35608,15 @@ impl<'a> VideoDecodeInfoKHR<'a> { #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] -#[doc = ""] -pub struct VideoDecodeH264ProfileEXT<'a> { +#[doc = ""] +pub struct VideoDecodeH264ProfileInfoEXT<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub std_profile_idc: StdVideoH264ProfileIdc, pub picture_layout: VideoDecodeH264PictureLayoutFlagsEXT, pub _marker: PhantomData<&'a ()>, } -impl ::std::default::Default for VideoDecodeH264ProfileEXT<'_> { +impl ::std::default::Default for VideoDecodeH264ProfileInfoEXT<'_> { #[inline] fn default() -> Self { Self { @@ -35216,12 +35628,12 @@ impl ::std::default::Default for VideoDecodeH264ProfileEXT<'_> { } } } -unsafe impl<'a> TaggedStructure for VideoDecodeH264ProfileEXT<'a> { - const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_DECODE_H264_PROFILE_EXT; +unsafe impl<'a> TaggedStructure for VideoDecodeH264ProfileInfoEXT<'a> { + const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_DECODE_H264_PROFILE_INFO_EXT; } -unsafe impl ExtendsVideoProfileKHR for VideoDecodeH264ProfileEXT<'_> {} -unsafe impl ExtendsQueryPoolCreateInfo for VideoDecodeH264ProfileEXT<'_> {} -impl<'a> VideoDecodeH264ProfileEXT<'a> { +unsafe impl ExtendsVideoProfileInfoKHR for VideoDecodeH264ProfileInfoEXT<'_> {} +unsafe impl ExtendsQueryPoolCreateInfo for VideoDecodeH264ProfileInfoEXT<'_> {} +impl<'a> VideoDecodeH264ProfileInfoEXT<'a> { #[inline] pub fn std_profile_idc(mut self, std_profile_idc: StdVideoH264ProfileIdc) -> Self { self.std_profile_idc = std_profile_idc; @@ -35259,7 +35671,7 @@ impl ::std::default::Default for VideoDecodeH264CapabilitiesEXT<'_> { unsafe impl<'a> TaggedStructure for VideoDecodeH264CapabilitiesEXT<'a> { const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_DECODE_H264_CAPABILITIES_EXT; } -unsafe impl ExtendsVideoDecodeCapabilitiesKHR for VideoDecodeH264CapabilitiesEXT<'_> {} +unsafe impl ExtendsVideoCapabilitiesKHR for VideoDecodeH264CapabilitiesEXT<'_> {} impl<'a> VideoDecodeH264CapabilitiesEXT<'a> { #[inline] pub fn max_level(mut self, max_level: StdVideoH264Level) -> Self { @@ -35455,7 +35867,7 @@ impl ::std::default::Default for VideoDecodeH264DpbSlotInfoEXT<'_> { unsafe impl<'a> TaggedStructure for VideoDecodeH264DpbSlotInfoEXT<'a> { const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT; } -unsafe impl ExtendsVideoReferenceSlotKHR for VideoDecodeH264DpbSlotInfoEXT<'_> {} +unsafe impl ExtendsVideoReferenceSlotInfoKHR for VideoDecodeH264DpbSlotInfoEXT<'_> {} impl<'a> VideoDecodeH264DpbSlotInfoEXT<'a> { #[inline] pub fn std_reference_info( @@ -35469,14 +35881,14 @@ impl<'a> VideoDecodeH264DpbSlotInfoEXT<'a> { #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] -#[doc = ""] -pub struct VideoDecodeH264MvcEXT<'a> { +#[doc = ""] +pub struct VideoDecodeH264MvcInfoEXT<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub p_std_mvc: *const StdVideoDecodeH264Mvc, pub _marker: PhantomData<&'a ()>, } -impl ::std::default::Default for VideoDecodeH264MvcEXT<'_> { +impl ::std::default::Default for VideoDecodeH264MvcInfoEXT<'_> { #[inline] fn default() -> Self { Self { @@ -35487,11 +35899,11 @@ impl ::std::default::Default for VideoDecodeH264MvcEXT<'_> { } } } -unsafe impl<'a> TaggedStructure for VideoDecodeH264MvcEXT<'a> { - const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_DECODE_H264_MVC_EXT; +unsafe impl<'a> TaggedStructure for VideoDecodeH264MvcInfoEXT<'a> { + const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_DECODE_H264_MVC_INFO_EXT; } -unsafe impl ExtendsVideoDecodeH264PictureInfoEXT for VideoDecodeH264MvcEXT<'_> {} -impl<'a> VideoDecodeH264MvcEXT<'a> { +unsafe impl ExtendsVideoDecodeH264PictureInfoEXT for VideoDecodeH264MvcInfoEXT<'_> {} +impl<'a> VideoDecodeH264MvcInfoEXT<'a> { #[inline] pub fn std_mvc(mut self, std_mvc: &'a StdVideoDecodeH264Mvc) -> Self { self.p_std_mvc = std_mvc; @@ -35501,14 +35913,14 @@ impl<'a> VideoDecodeH264MvcEXT<'a> { #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] -#[doc = ""] -pub struct VideoDecodeH265ProfileEXT<'a> { +#[doc = ""] +pub struct VideoDecodeH265ProfileInfoEXT<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub std_profile_idc: StdVideoH265ProfileIdc, pub _marker: PhantomData<&'a ()>, } -impl ::std::default::Default for VideoDecodeH265ProfileEXT<'_> { +impl ::std::default::Default for VideoDecodeH265ProfileInfoEXT<'_> { #[inline] fn default() -> Self { Self { @@ -35519,12 +35931,12 @@ impl ::std::default::Default for VideoDecodeH265ProfileEXT<'_> { } } } -unsafe impl<'a> TaggedStructure for VideoDecodeH265ProfileEXT<'a> { - const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_DECODE_H265_PROFILE_EXT; +unsafe impl<'a> TaggedStructure for VideoDecodeH265ProfileInfoEXT<'a> { + const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_DECODE_H265_PROFILE_INFO_EXT; } -unsafe impl ExtendsVideoProfileKHR for VideoDecodeH265ProfileEXT<'_> {} -unsafe impl ExtendsQueryPoolCreateInfo for VideoDecodeH265ProfileEXT<'_> {} -impl<'a> VideoDecodeH265ProfileEXT<'a> { +unsafe impl ExtendsVideoProfileInfoKHR for VideoDecodeH265ProfileInfoEXT<'_> {} +unsafe impl ExtendsQueryPoolCreateInfo for VideoDecodeH265ProfileInfoEXT<'_> {} +impl<'a> VideoDecodeH265ProfileInfoEXT<'a> { #[inline] pub fn std_profile_idc(mut self, std_profile_idc: StdVideoH265ProfileIdc) -> Self { self.std_profile_idc = std_profile_idc; @@ -35555,7 +35967,7 @@ impl ::std::default::Default for VideoDecodeH265CapabilitiesEXT<'_> { unsafe impl<'a> TaggedStructure for VideoDecodeH265CapabilitiesEXT<'a> { const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_DECODE_H265_CAPABILITIES_EXT; } -unsafe impl ExtendsVideoDecodeCapabilitiesKHR for VideoDecodeH265CapabilitiesEXT<'_> {} +unsafe impl ExtendsVideoCapabilitiesKHR for VideoDecodeH265CapabilitiesEXT<'_> {} impl<'a> VideoDecodeH265CapabilitiesEXT<'a> { #[inline] pub fn max_level(mut self, max_level: StdVideoH265Level) -> Self { @@ -35751,7 +36163,7 @@ impl ::std::default::Default for VideoDecodeH265DpbSlotInfoEXT<'_> { unsafe impl<'a> TaggedStructure for VideoDecodeH265DpbSlotInfoEXT<'a> { const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT; } -unsafe impl ExtendsVideoReferenceSlotKHR for VideoDecodeH265DpbSlotInfoEXT<'_> {} +unsafe impl ExtendsVideoReferenceSlotInfoKHR for VideoDecodeH265DpbSlotInfoEXT<'_> {} impl<'a> VideoDecodeH265DpbSlotInfoEXT<'a> { #[inline] pub fn std_reference_info( @@ -35771,7 +36183,7 @@ pub struct VideoSessionCreateInfoKHR<'a> { pub p_next: *const c_void, pub queue_family_index: u32, pub flags: VideoSessionCreateFlagsKHR, - pub p_video_profile: *const VideoProfileKHR<'a>, + pub p_video_profile: *const VideoProfileInfoKHR<'a>, pub picture_format: Format, pub max_coded_extent: Extent2D, pub reference_pictures_format: Format, @@ -35814,7 +36226,7 @@ impl<'a> VideoSessionCreateInfoKHR<'a> { self } #[inline] - pub fn video_profile(mut self, video_profile: &'a VideoProfileKHR<'a>) -> Self { + pub fn video_profile(mut self, video_profile: &'a VideoProfileInfoKHR<'a>) -> Self { self.p_video_profile = video_profile; self } @@ -35862,6 +36274,7 @@ impl<'a> VideoSessionCreateInfoKHR<'a> { pub struct VideoSessionParametersCreateInfoKHR<'a> { pub s_type: StructureType, pub p_next: *const c_void, + pub flags: VideoSessionParametersCreateFlagsKHR, pub video_session_parameters_template: VideoSessionParametersKHR, pub video_session: VideoSessionKHR, pub _marker: PhantomData<&'a ()>, @@ -35872,6 +36285,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(), _marker: PhantomData, @@ -35883,6 +36297,11 @@ unsafe impl<'a> TaggedStructure for VideoSessionParametersCreateInfoKHR<'a> { } pub unsafe trait ExtendsVideoSessionParametersCreateInfoKHR {} impl<'a> VideoSessionParametersCreateInfoKHR<'a> { + #[inline] + pub fn flags(mut self, flags: VideoSessionParametersCreateFlagsKHR) -> Self { + self.flags = flags; + self + } #[inline] pub fn video_session_parameters_template( mut self, @@ -35971,11 +36390,10 @@ pub struct VideoBeginCodingInfoKHR<'a> { 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<'a>, + pub p_reference_slots: *const VideoReferenceSlotInfoKHR<'a>, pub _marker: PhantomData<&'a ()>, } impl ::std::default::Default for VideoBeginCodingInfoKHR<'_> { @@ -35985,7 +36403,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(), @@ -36004,14 +36421,6 @@ impl<'a> VideoBeginCodingInfoKHR<'a> { self } #[inline] - pub fn codec_quality_preset( - mut self, - codec_quality_preset: VideoCodingQualityPresetFlagsKHR, - ) -> Self { - self.codec_quality_preset = codec_quality_preset; - self - } - #[inline] pub fn video_session(mut self, video_session: VideoSessionKHR) -> Self { self.video_session = video_session; self @@ -36025,7 +36434,7 @@ impl<'a> VideoBeginCodingInfoKHR<'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.reference_slot_count = reference_slots.len() as _; self.p_reference_slots = reference_slots.as_ptr(); self @@ -36111,6 +36520,52 @@ impl<'a> VideoCodingControlInfoKHR<'a> { #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] +#[doc = ""] +pub struct VideoEncodeUsageInfoKHR<'a> { + pub s_type: StructureType, + pub p_next: *const c_void, + pub video_usage_hints: VideoEncodeUsageFlagsKHR, + pub video_content_hints: VideoEncodeContentFlagsKHR, + pub tuning_mode: VideoEncodeTuningModeKHR, + pub _marker: PhantomData<&'a ()>, +} +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(), + _marker: PhantomData, + } + } +} +unsafe impl<'a> TaggedStructure for VideoEncodeUsageInfoKHR<'a> { + const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_ENCODE_USAGE_INFO_KHR; +} +unsafe impl ExtendsVideoProfileInfoKHR for VideoEncodeUsageInfoKHR<'_> {} +impl<'a> VideoEncodeUsageInfoKHR<'a> { + #[inline] + pub fn video_usage_hints(mut self, video_usage_hints: VideoEncodeUsageFlagsKHR) -> Self { + self.video_usage_hints = video_usage_hints; + self + } + #[inline] + pub fn video_content_hints(mut self, video_content_hints: VideoEncodeContentFlagsKHR) -> Self { + self.video_content_hints = video_content_hints; + self + } + #[inline] + pub fn tuning_mode(mut self, tuning_mode: VideoEncodeTuningModeKHR) -> Self { + self.tuning_mode = tuning_mode; + self + } +} +#[repr(C)] +#[cfg_attr(feature = "debug", derive(Debug))] +#[derive(Copy, Clone)] #[doc = ""] pub struct VideoEncodeInfoKHR<'a> { pub s_type: StructureType, @@ -36120,10 +36575,10 @@ pub struct VideoEncodeInfoKHR<'a> { pub dst_bitstream_buffer: Buffer, pub dst_bitstream_buffer_offset: DeviceSize, pub dst_bitstream_buffer_max_range: DeviceSize, - pub src_picture_resource: VideoPictureResourceKHR<'a>, - pub p_setup_reference_slot: *const VideoReferenceSlotKHR<'a>, + pub src_picture_resource: VideoPictureResourceInfoKHR<'a>, + pub p_setup_reference_slot: *const VideoReferenceSlotInfoKHR<'a>, pub reference_slot_count: u32, - pub p_reference_slots: *const VideoReferenceSlotKHR<'a>, + pub p_reference_slots: *const VideoReferenceSlotInfoKHR<'a>, pub preceding_externally_encoded_bytes: u32, pub _marker: PhantomData<&'a ()>, } @@ -36138,7 +36593,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(), @@ -36183,7 +36638,7 @@ impl<'a> VideoEncodeInfoKHR<'a> { #[inline] pub fn src_picture_resource( mut self, - src_picture_resource: VideoPictureResourceKHR<'a>, + src_picture_resource: VideoPictureResourceInfoKHR<'a>, ) -> Self { self.src_picture_resource = src_picture_resource; self @@ -36191,13 +36646,13 @@ impl<'a> VideoEncodeInfoKHR<'a> { #[inline] pub fn setup_reference_slot( mut self, - setup_reference_slot: &'a VideoReferenceSlotKHR<'a>, + setup_reference_slot: &'a VideoReferenceSlotInfoKHR<'a>, ) -> Self { self.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.reference_slot_count = reference_slots.len() as _; self.p_reference_slots = reference_slots.as_ptr(); self @@ -36256,7 +36711,6 @@ unsafe impl<'a> TaggedStructure for VideoEncodeRateControlInfoKHR<'a> { const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_ENCODE_RATE_CONTROL_INFO_KHR; } unsafe impl ExtendsVideoCodingControlInfoKHR for VideoEncodeRateControlInfoKHR<'_> {} -pub unsafe trait ExtendsVideoEncodeRateControlInfoKHR {} impl<'a> VideoEncodeRateControlInfoKHR<'a> { #[inline] pub fn flags(mut self, flags: VideoEncodeRateControlFlagsKHR) -> Self { @@ -36280,20 +36734,6 @@ impl<'a> VideoEncodeRateControlInfoKHR<'a> { self.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 `x.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.p_next as _; - self.p_next = next_ptr; - } - self - } } #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] @@ -36416,7 +36856,6 @@ unsafe impl<'a> TaggedStructure for VideoEncodeCapabilitiesKHR<'a> { const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_ENCODE_CAPABILITIES_KHR; } unsafe impl ExtendsVideoCapabilitiesKHR for VideoEncodeCapabilitiesKHR<'_> {} -pub unsafe trait ExtendsVideoEncodeCapabilitiesKHR {} impl<'a> VideoEncodeCapabilitiesKHR<'a> { #[inline] pub fn flags(mut self, flags: VideoEncodeCapabilityFlagsKHR) -> Self { @@ -36449,20 +36888,6 @@ impl<'a> VideoEncodeCapabilitiesKHR<'a> { self.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 `x.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.p_next as _; - self.p_next = next_ptr; - } - self - } } #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] @@ -36508,7 +36933,7 @@ impl ::std::default::Default for VideoEncodeH264CapabilitiesEXT<'_> { unsafe impl<'a> TaggedStructure for VideoEncodeH264CapabilitiesEXT<'a> { const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_ENCODE_H264_CAPABILITIES_EXT; } -unsafe impl ExtendsVideoEncodeCapabilitiesKHR for VideoEncodeH264CapabilitiesEXT<'_> {} +unsafe impl ExtendsVideoCapabilitiesKHR for VideoEncodeH264CapabilitiesEXT<'_> {} impl<'a> VideoEncodeH264CapabilitiesEXT<'a> { #[inline] pub fn flags(mut self, flags: VideoEncodeH264CapabilityFlagsEXT) -> Self { @@ -36729,9 +37154,9 @@ impl<'a> VideoEncodeH264DpbSlotInfoEXT<'a> { pub struct VideoEncodeH264VclFrameInfoEXT<'a> { pub s_type: StructureType, pub p_next: *const c_void, - pub p_reference_final_lists: *const VideoEncodeH264ReferenceListsEXT<'a>, + pub p_reference_final_lists: *const VideoEncodeH264ReferenceListsInfoEXT<'a>, pub nalu_slice_entry_count: u32, - pub p_nalu_slice_entries: *const VideoEncodeH264NaluSliceEXT<'a>, + pub p_nalu_slice_entries: *const VideoEncodeH264NaluSliceInfoEXT<'a>, pub p_current_picture_info: *const StdVideoEncodeH264PictureInfo, pub _marker: PhantomData<&'a ()>, } @@ -36757,7 +37182,7 @@ impl<'a> VideoEncodeH264VclFrameInfoEXT<'a> { #[inline] pub fn reference_final_lists( mut self, - reference_final_lists: &'a VideoEncodeH264ReferenceListsEXT<'a>, + reference_final_lists: &'a VideoEncodeH264ReferenceListsInfoEXT<'a>, ) -> Self { self.p_reference_final_lists = reference_final_lists; self @@ -36765,7 +37190,7 @@ impl<'a> VideoEncodeH264VclFrameInfoEXT<'a> { #[inline] pub fn nalu_slice_entries( mut self, - nalu_slice_entries: &'a [VideoEncodeH264NaluSliceEXT], + nalu_slice_entries: &'a [VideoEncodeH264NaluSliceInfoEXT], ) -> Self { self.nalu_slice_entry_count = nalu_slice_entries.len() as _; self.p_nalu_slice_entries = nalu_slice_entries.as_ptr(); @@ -36783,8 +37208,8 @@ impl<'a> VideoEncodeH264VclFrameInfoEXT<'a> { #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] -#[doc = ""] -pub struct VideoEncodeH264ReferenceListsEXT<'a> { +#[doc = ""] +pub struct VideoEncodeH264ReferenceListsInfoEXT<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub reference_list0_entry_count: u8, @@ -36794,7 +37219,7 @@ pub struct VideoEncodeH264ReferenceListsEXT<'a> { pub p_mem_mgmt_ctrl_operations: *const StdVideoEncodeH264RefMemMgmtCtrlOperations, pub _marker: PhantomData<&'a ()>, } -impl ::std::default::Default for VideoEncodeH264ReferenceListsEXT<'_> { +impl ::std::default::Default for VideoEncodeH264ReferenceListsInfoEXT<'_> { #[inline] fn default() -> Self { Self { @@ -36809,10 +37234,10 @@ impl ::std::default::Default for VideoEncodeH264ReferenceListsEXT<'_> { } } } -unsafe impl<'a> TaggedStructure for VideoEncodeH264ReferenceListsEXT<'a> { - const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_ENCODE_H264_REFERENCE_LISTS_EXT; +unsafe impl<'a> TaggedStructure for VideoEncodeH264ReferenceListsInfoEXT<'a> { + const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_ENCODE_H264_REFERENCE_LISTS_INFO_EXT; } -impl<'a> VideoEncodeH264ReferenceListsEXT<'a> { +impl<'a> VideoEncodeH264ReferenceListsInfoEXT<'a> { #[inline] pub fn reference_list0_entries( mut self, @@ -36843,8 +37268,8 @@ impl<'a> VideoEncodeH264ReferenceListsEXT<'a> { #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] -#[doc = ""] -pub struct VideoEncodeH264EmitPictureParametersEXT<'a> { +#[doc = ""] +pub struct VideoEncodeH264EmitPictureParametersInfoEXT<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub sps_id: u8, @@ -36853,7 +37278,7 @@ pub struct VideoEncodeH264EmitPictureParametersEXT<'a> { pub pps_id_entries: *const u8, pub _marker: PhantomData<&'a ()>, } -impl ::std::default::Default for VideoEncodeH264EmitPictureParametersEXT<'_> { +impl ::std::default::Default for VideoEncodeH264EmitPictureParametersInfoEXT<'_> { #[inline] fn default() -> Self { Self { @@ -36867,12 +37292,12 @@ impl ::std::default::Default for VideoEncodeH264EmitPictureParametersEXT<'_> { } } } -unsafe impl<'a> TaggedStructure for VideoEncodeH264EmitPictureParametersEXT<'a> { +unsafe impl<'a> TaggedStructure for VideoEncodeH264EmitPictureParametersInfoEXT<'a> { const STRUCTURE_TYPE: StructureType = - StructureType::VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT; + StructureType::VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_INFO_EXT; } -unsafe impl ExtendsVideoEncodeInfoKHR for VideoEncodeH264EmitPictureParametersEXT<'_> {} -impl<'a> VideoEncodeH264EmitPictureParametersEXT<'a> { +unsafe impl ExtendsVideoEncodeInfoKHR for VideoEncodeH264EmitPictureParametersInfoEXT<'_> {} +impl<'a> VideoEncodeH264EmitPictureParametersInfoEXT<'a> { #[inline] pub fn sps_id(mut self, sps_id: u8) -> Self { self.sps_id = sps_id; @@ -36893,14 +37318,14 @@ impl<'a> VideoEncodeH264EmitPictureParametersEXT<'a> { #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] -#[doc = ""] -pub struct VideoEncodeH264ProfileEXT<'a> { +#[doc = ""] +pub struct VideoEncodeH264ProfileInfoEXT<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub std_profile_idc: StdVideoH264ProfileIdc, pub _marker: PhantomData<&'a ()>, } -impl ::std::default::Default for VideoEncodeH264ProfileEXT<'_> { +impl ::std::default::Default for VideoEncodeH264ProfileInfoEXT<'_> { #[inline] fn default() -> Self { Self { @@ -36911,12 +37336,12 @@ impl ::std::default::Default for VideoEncodeH264ProfileEXT<'_> { } } } -unsafe impl<'a> TaggedStructure for VideoEncodeH264ProfileEXT<'a> { - const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_ENCODE_H264_PROFILE_EXT; +unsafe impl<'a> TaggedStructure for VideoEncodeH264ProfileInfoEXT<'a> { + const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_ENCODE_H264_PROFILE_INFO_EXT; } -unsafe impl ExtendsVideoProfileKHR for VideoEncodeH264ProfileEXT<'_> {} -unsafe impl ExtendsQueryPoolCreateInfo for VideoEncodeH264ProfileEXT<'_> {} -impl<'a> VideoEncodeH264ProfileEXT<'a> { +unsafe impl ExtendsVideoProfileInfoKHR for VideoEncodeH264ProfileInfoEXT<'_> {} +unsafe impl ExtendsQueryPoolCreateInfo for VideoEncodeH264ProfileInfoEXT<'_> {} +impl<'a> VideoEncodeH264ProfileInfoEXT<'a> { #[inline] pub fn std_profile_idc(mut self, std_profile_idc: StdVideoH264ProfileIdc) -> Self { self.std_profile_idc = std_profile_idc; @@ -36926,16 +37351,16 @@ impl<'a> VideoEncodeH264ProfileEXT<'a> { #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] -#[doc = ""] -pub struct VideoEncodeH264NaluSliceEXT<'a> { +#[doc = ""] +pub struct VideoEncodeH264NaluSliceInfoEXT<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub mb_count: u32, - pub p_reference_final_lists: *const VideoEncodeH264ReferenceListsEXT<'a>, + pub p_reference_final_lists: *const VideoEncodeH264ReferenceListsInfoEXT<'a>, pub p_slice_header_std: *const StdVideoEncodeH264SliceHeader, pub _marker: PhantomData<&'a ()>, } -impl ::std::default::Default for VideoEncodeH264NaluSliceEXT<'_> { +impl ::std::default::Default for VideoEncodeH264NaluSliceInfoEXT<'_> { #[inline] fn default() -> Self { Self { @@ -36948,10 +37373,10 @@ impl ::std::default::Default for VideoEncodeH264NaluSliceEXT<'_> { } } } -unsafe impl<'a> TaggedStructure for VideoEncodeH264NaluSliceEXT<'a> { - const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_ENCODE_H264_NALU_SLICE_EXT; +unsafe impl<'a> TaggedStructure for VideoEncodeH264NaluSliceInfoEXT<'a> { + const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_ENCODE_H264_NALU_SLICE_INFO_EXT; } -impl<'a> VideoEncodeH264NaluSliceEXT<'a> { +impl<'a> VideoEncodeH264NaluSliceInfoEXT<'a> { #[inline] pub fn mb_count(mut self, mb_count: u32) -> Self { self.mb_count = mb_count; @@ -36960,7 +37385,7 @@ impl<'a> VideoEncodeH264NaluSliceEXT<'a> { #[inline] pub fn reference_final_lists( mut self, - reference_final_lists: &'a VideoEncodeH264ReferenceListsEXT<'a>, + reference_final_lists: &'a VideoEncodeH264ReferenceListsInfoEXT<'a>, ) -> Self { self.p_reference_final_lists = reference_final_lists; self @@ -36981,7 +37406,7 @@ pub struct VideoEncodeH264RateControlInfoEXT<'a> { 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, pub _marker: PhantomData<&'a ()>, } @@ -36994,7 +37419,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(), _marker: PhantomData, } @@ -37003,7 +37428,7 @@ impl ::std::default::Default for VideoEncodeH264RateControlInfoEXT<'_> { unsafe impl<'a> TaggedStructure for VideoEncodeH264RateControlInfoEXT<'a> { const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT; } -unsafe impl ExtendsVideoEncodeRateControlInfoKHR for VideoEncodeH264RateControlInfoEXT<'_> {} +unsafe impl ExtendsVideoCodingControlInfoKHR for VideoEncodeH264RateControlInfoEXT<'_> {} impl<'a> VideoEncodeH264RateControlInfoEXT<'a> { #[inline] pub fn gop_frame_count(mut self, gop_frame_count: u32) -> Self { @@ -37023,7 +37448,7 @@ impl<'a> VideoEncodeH264RateControlInfoEXT<'a> { #[inline] pub fn rate_control_structure( mut self, - rate_control_structure: VideoEncodeH264RateControlStructureFlagsEXT, + rate_control_structure: VideoEncodeH264RateControlStructureEXT, ) -> Self { self.rate_control_structure = rate_control_structure; self @@ -37127,6 +37552,7 @@ unsafe impl<'a> TaggedStructure for VideoEncodeH264RateControlLayerInfoEXT<'a> { const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT; } +unsafe impl ExtendsVideoCodingControlInfoKHR for VideoEncodeH264RateControlLayerInfoEXT<'_> {} unsafe impl ExtendsVideoEncodeRateControlLayerInfoKHR for VideoEncodeH264RateControlLayerInfoEXT<'_> { @@ -37240,7 +37666,7 @@ impl ::std::default::Default for VideoEncodeH265CapabilitiesEXT<'_> { unsafe impl<'a> TaggedStructure for VideoEncodeH265CapabilitiesEXT<'a> { const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_ENCODE_H265_CAPABILITIES_EXT; } -unsafe impl ExtendsVideoEncodeCapabilitiesKHR for VideoEncodeH265CapabilitiesEXT<'_> {} +unsafe impl ExtendsVideoCapabilitiesKHR for VideoEncodeH265CapabilitiesEXT<'_> {} impl<'a> VideoEncodeH265CapabilitiesEXT<'a> { #[inline] pub fn flags(mut self, flags: VideoEncodeH265CapabilityFlagsEXT) -> Self { @@ -37509,9 +37935,9 @@ impl<'a> VideoEncodeH265SessionParametersCreateInfoEXT<'a> { pub struct VideoEncodeH265VclFrameInfoEXT<'a> { pub s_type: StructureType, pub p_next: *const c_void, - pub p_reference_final_lists: *const VideoEncodeH265ReferenceListsEXT<'a>, + pub p_reference_final_lists: *const VideoEncodeH265ReferenceListsInfoEXT<'a>, pub nalu_slice_segment_entry_count: u32, - pub p_nalu_slice_segment_entries: *const VideoEncodeH265NaluSliceSegmentEXT<'a>, + pub p_nalu_slice_segment_entries: *const VideoEncodeH265NaluSliceSegmentInfoEXT<'a>, pub p_current_picture_info: *const StdVideoEncodeH265PictureInfo, pub _marker: PhantomData<&'a ()>, } @@ -37537,7 +37963,7 @@ impl<'a> VideoEncodeH265VclFrameInfoEXT<'a> { #[inline] pub fn reference_final_lists( mut self, - reference_final_lists: &'a VideoEncodeH265ReferenceListsEXT<'a>, + reference_final_lists: &'a VideoEncodeH265ReferenceListsInfoEXT<'a>, ) -> Self { self.p_reference_final_lists = reference_final_lists; self @@ -37545,7 +37971,7 @@ impl<'a> VideoEncodeH265VclFrameInfoEXT<'a> { #[inline] pub fn nalu_slice_segment_entries( mut self, - nalu_slice_segment_entries: &'a [VideoEncodeH265NaluSliceSegmentEXT], + nalu_slice_segment_entries: &'a [VideoEncodeH265NaluSliceSegmentInfoEXT], ) -> Self { self.nalu_slice_segment_entry_count = nalu_slice_segment_entries.len() as _; self.p_nalu_slice_segment_entries = nalu_slice_segment_entries.as_ptr(); @@ -37563,8 +37989,8 @@ impl<'a> VideoEncodeH265VclFrameInfoEXT<'a> { #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] -#[doc = ""] -pub struct VideoEncodeH265EmitPictureParametersEXT<'a> { +#[doc = ""] +pub struct VideoEncodeH265EmitPictureParametersInfoEXT<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub vps_id: u8, @@ -37575,7 +38001,7 @@ pub struct VideoEncodeH265EmitPictureParametersEXT<'a> { pub pps_id_entries: *const u8, pub _marker: PhantomData<&'a ()>, } -impl ::std::default::Default for VideoEncodeH265EmitPictureParametersEXT<'_> { +impl ::std::default::Default for VideoEncodeH265EmitPictureParametersInfoEXT<'_> { #[inline] fn default() -> Self { Self { @@ -37591,12 +38017,12 @@ impl ::std::default::Default for VideoEncodeH265EmitPictureParametersEXT<'_> { } } } -unsafe impl<'a> TaggedStructure for VideoEncodeH265EmitPictureParametersEXT<'a> { +unsafe impl<'a> TaggedStructure for VideoEncodeH265EmitPictureParametersInfoEXT<'a> { const STRUCTURE_TYPE: StructureType = - StructureType::VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_EXT; + StructureType::VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_INFO_EXT; } -unsafe impl ExtendsVideoEncodeInfoKHR for VideoEncodeH265EmitPictureParametersEXT<'_> {} -impl<'a> VideoEncodeH265EmitPictureParametersEXT<'a> { +unsafe impl ExtendsVideoEncodeInfoKHR for VideoEncodeH265EmitPictureParametersInfoEXT<'_> {} +impl<'a> VideoEncodeH265EmitPictureParametersInfoEXT<'a> { #[inline] pub fn vps_id(mut self, vps_id: u8) -> Self { self.vps_id = vps_id; @@ -37627,16 +38053,16 @@ impl<'a> VideoEncodeH265EmitPictureParametersEXT<'a> { #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] -#[doc = ""] -pub struct VideoEncodeH265NaluSliceSegmentEXT<'a> { +#[doc = ""] +pub struct VideoEncodeH265NaluSliceSegmentInfoEXT<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub ctb_count: u32, - pub p_reference_final_lists: *const VideoEncodeH265ReferenceListsEXT<'a>, + pub p_reference_final_lists: *const VideoEncodeH265ReferenceListsInfoEXT<'a>, pub p_slice_segment_header_std: *const StdVideoEncodeH265SliceSegmentHeader, pub _marker: PhantomData<&'a ()>, } -impl ::std::default::Default for VideoEncodeH265NaluSliceSegmentEXT<'_> { +impl ::std::default::Default for VideoEncodeH265NaluSliceSegmentInfoEXT<'_> { #[inline] fn default() -> Self { Self { @@ -37649,10 +38075,11 @@ impl ::std::default::Default for VideoEncodeH265NaluSliceSegmentEXT<'_> { } } } -unsafe impl<'a> TaggedStructure for VideoEncodeH265NaluSliceSegmentEXT<'a> { - const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_EXT; +unsafe impl<'a> TaggedStructure for VideoEncodeH265NaluSliceSegmentInfoEXT<'a> { + const STRUCTURE_TYPE: StructureType = + StructureType::VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_EXT; } -impl<'a> VideoEncodeH265NaluSliceSegmentEXT<'a> { +impl<'a> VideoEncodeH265NaluSliceSegmentInfoEXT<'a> { #[inline] pub fn ctb_count(mut self, ctb_count: u32) -> Self { self.ctb_count = ctb_count; @@ -37661,7 +38088,7 @@ impl<'a> VideoEncodeH265NaluSliceSegmentEXT<'a> { #[inline] pub fn reference_final_lists( mut self, - reference_final_lists: &'a VideoEncodeH265ReferenceListsEXT<'a>, + reference_final_lists: &'a VideoEncodeH265ReferenceListsInfoEXT<'a>, ) -> Self { self.p_reference_final_lists = reference_final_lists; self @@ -37685,7 +38112,7 @@ pub struct VideoEncodeH265RateControlInfoEXT<'a> { 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, pub _marker: PhantomData<&'a ()>, } @@ -37698,7 +38125,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(), _marker: PhantomData, } @@ -37707,7 +38134,7 @@ impl ::std::default::Default for VideoEncodeH265RateControlInfoEXT<'_> { unsafe impl<'a> TaggedStructure for VideoEncodeH265RateControlInfoEXT<'a> { const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT; } -unsafe impl ExtendsVideoEncodeRateControlInfoKHR for VideoEncodeH265RateControlInfoEXT<'_> {} +unsafe impl ExtendsVideoCodingControlInfoKHR for VideoEncodeH265RateControlInfoEXT<'_> {} impl<'a> VideoEncodeH265RateControlInfoEXT<'a> { #[inline] pub fn gop_frame_count(mut self, gop_frame_count: u32) -> Self { @@ -37727,7 +38154,7 @@ impl<'a> VideoEncodeH265RateControlInfoEXT<'a> { #[inline] pub fn rate_control_structure( mut self, - rate_control_structure: VideoEncodeH265RateControlStructureFlagsEXT, + rate_control_structure: VideoEncodeH265RateControlStructureEXT, ) -> Self { self.rate_control_structure = rate_control_structure; self @@ -37831,6 +38258,7 @@ unsafe impl<'a> TaggedStructure for VideoEncodeH265RateControlLayerInfoEXT<'a> { const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT; } +unsafe impl ExtendsVideoCodingControlInfoKHR for VideoEncodeH265RateControlLayerInfoEXT<'_> {} unsafe impl ExtendsVideoEncodeRateControlLayerInfoKHR for VideoEncodeH265RateControlLayerInfoEXT<'_> { @@ -37885,14 +38313,14 @@ impl<'a> VideoEncodeH265RateControlLayerInfoEXT<'a> { #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] -#[doc = ""] -pub struct VideoEncodeH265ProfileEXT<'a> { +#[doc = ""] +pub struct VideoEncodeH265ProfileInfoEXT<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub std_profile_idc: StdVideoH265ProfileIdc, pub _marker: PhantomData<&'a ()>, } -impl ::std::default::Default for VideoEncodeH265ProfileEXT<'_> { +impl ::std::default::Default for VideoEncodeH265ProfileInfoEXT<'_> { #[inline] fn default() -> Self { Self { @@ -37903,12 +38331,12 @@ impl ::std::default::Default for VideoEncodeH265ProfileEXT<'_> { } } } -unsafe impl<'a> TaggedStructure for VideoEncodeH265ProfileEXT<'a> { - const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_ENCODE_H265_PROFILE_EXT; +unsafe impl<'a> TaggedStructure for VideoEncodeH265ProfileInfoEXT<'a> { + const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_ENCODE_H265_PROFILE_INFO_EXT; } -unsafe impl ExtendsVideoProfileKHR for VideoEncodeH265ProfileEXT<'_> {} -unsafe impl ExtendsQueryPoolCreateInfo for VideoEncodeH265ProfileEXT<'_> {} -impl<'a> VideoEncodeH265ProfileEXT<'a> { +unsafe impl ExtendsVideoProfileInfoKHR for VideoEncodeH265ProfileInfoEXT<'_> {} +unsafe impl ExtendsQueryPoolCreateInfo for VideoEncodeH265ProfileInfoEXT<'_> {} +impl<'a> VideoEncodeH265ProfileInfoEXT<'a> { #[inline] pub fn std_profile_idc(mut self, std_profile_idc: StdVideoH265ProfileIdc) -> Self { self.std_profile_idc = std_profile_idc; @@ -37959,8 +38387,8 @@ impl<'a> VideoEncodeH265DpbSlotInfoEXT<'a> { #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] -#[doc = ""] -pub struct VideoEncodeH265ReferenceListsEXT<'a> { +#[doc = ""] +pub struct VideoEncodeH265ReferenceListsInfoEXT<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub reference_list0_entry_count: u8, @@ -37970,7 +38398,7 @@ pub struct VideoEncodeH265ReferenceListsEXT<'a> { pub p_reference_modifications: *const StdVideoEncodeH265ReferenceModifications, pub _marker: PhantomData<&'a ()>, } -impl ::std::default::Default for VideoEncodeH265ReferenceListsEXT<'_> { +impl ::std::default::Default for VideoEncodeH265ReferenceListsInfoEXT<'_> { #[inline] fn default() -> Self { Self { @@ -37985,10 +38413,10 @@ impl ::std::default::Default for VideoEncodeH265ReferenceListsEXT<'_> { } } } -unsafe impl<'a> TaggedStructure for VideoEncodeH265ReferenceListsEXT<'a> { - const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_ENCODE_H265_REFERENCE_LISTS_EXT; +unsafe impl<'a> TaggedStructure for VideoEncodeH265ReferenceListsInfoEXT<'a> { + const STRUCTURE_TYPE: StructureType = StructureType::VIDEO_ENCODE_H265_REFERENCE_LISTS_INFO_EXT; } -impl<'a> VideoEncodeH265ReferenceListsEXT<'a> { +impl<'a> VideoEncodeH265ReferenceListsInfoEXT<'a> { #[inline] pub fn reference_list0_entries( mut self, @@ -40655,8 +41083,8 @@ impl<'a> ImageViewMinLodCreateInfoEXT<'a> { #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] -#[doc = ""] -pub struct PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM<'a> { +#[doc = ""] +pub struct PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT<'a> { pub s_type: StructureType, pub p_next: *mut c_void, pub rasterization_order_color_attachment_access: Bool32, @@ -40664,7 +41092,7 @@ pub struct PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM<'a> { pub rasterization_order_stencil_attachment_access: Bool32, pub _marker: PhantomData<&'a ()>, } -impl ::std::default::Default for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM<'_> { +impl ::std::default::Default for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT<'_> { #[inline] fn default() -> Self { Self { @@ -40678,20 +41106,20 @@ impl ::std::default::Default for PhysicalDeviceRasterizationOrderAttachmentAcces } } unsafe impl<'a> TaggedStructure - for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM<'a> + for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT<'a> { const STRUCTURE_TYPE: StructureType = - StructureType::PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM; + StructureType::PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT; } unsafe impl ExtendsPhysicalDeviceFeatures2 - for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM<'_> + for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT<'_> { } unsafe impl ExtendsDeviceCreateInfo - for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM<'_> + for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT<'_> { } -impl<'a> PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM<'a> { +impl<'a> PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT<'a> { #[inline] pub fn rasterization_order_color_attachment_access( mut self, @@ -42198,3 +42626,533 @@ impl<'a> PhysicalDeviceNonSeamlessCubeMapFeaturesEXT<'a> { self } } +#[repr(C)] +#[cfg_attr(feature = "debug", derive(Debug))] +#[derive(Copy, Clone)] +#[doc = ""] +pub struct PhysicalDevicePipelineRobustnessFeaturesEXT<'a> { + pub s_type: StructureType, + pub p_next: *mut c_void, + pub pipeline_robustness: Bool32, + pub _marker: PhantomData<&'a ()>, +} +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(), + _marker: PhantomData, + } + } +} +unsafe impl<'a> TaggedStructure for PhysicalDevicePipelineRobustnessFeaturesEXT<'a> { + const STRUCTURE_TYPE: StructureType = + StructureType::PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT; +} +unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDevicePipelineRobustnessFeaturesEXT<'_> {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDevicePipelineRobustnessFeaturesEXT<'_> {} +impl<'a> PhysicalDevicePipelineRobustnessFeaturesEXT<'a> { + #[inline] + pub fn pipeline_robustness(mut self, pipeline_robustness: bool) -> Self { + self.pipeline_robustness = pipeline_robustness.into(); + self + } +} +#[repr(C)] +#[cfg_attr(feature = "debug", derive(Debug))] +#[derive(Copy, Clone)] +#[doc = ""] +pub struct PipelineRobustnessCreateInfoEXT<'a> { + 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, + pub _marker: PhantomData<&'a ()>, +} +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(), + _marker: PhantomData, + } + } +} +unsafe impl<'a> TaggedStructure for PipelineRobustnessCreateInfoEXT<'a> { + const STRUCTURE_TYPE: StructureType = StructureType::PIPELINE_ROBUSTNESS_CREATE_INFO_EXT; +} +unsafe impl ExtendsGraphicsPipelineCreateInfo for PipelineRobustnessCreateInfoEXT<'_> {} +unsafe impl ExtendsComputePipelineCreateInfo for PipelineRobustnessCreateInfoEXT<'_> {} +unsafe impl ExtendsPipelineShaderStageCreateInfo for PipelineRobustnessCreateInfoEXT<'_> {} +unsafe impl ExtendsRayTracingPipelineCreateInfoKHR for PipelineRobustnessCreateInfoEXT<'_> {} +impl<'a> PipelineRobustnessCreateInfoEXT<'a> { + #[inline] + pub fn storage_buffers(mut self, storage_buffers: PipelineRobustnessBufferBehaviorEXT) -> Self { + self.storage_buffers = storage_buffers; + self + } + #[inline] + pub fn uniform_buffers(mut self, uniform_buffers: PipelineRobustnessBufferBehaviorEXT) -> Self { + self.uniform_buffers = uniform_buffers; + self + } + #[inline] + pub fn vertex_inputs(mut self, vertex_inputs: PipelineRobustnessBufferBehaviorEXT) -> Self { + self.vertex_inputs = vertex_inputs; + self + } + #[inline] + pub fn images(mut self, images: PipelineRobustnessImageBehaviorEXT) -> Self { + self.images = images; + self + } +} +#[repr(C)] +#[cfg_attr(feature = "debug", derive(Debug))] +#[derive(Copy, Clone)] +#[doc = ""] +pub struct PhysicalDevicePipelineRobustnessPropertiesEXT<'a> { + 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, + pub _marker: PhantomData<&'a ()>, +} +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(), + _marker: PhantomData, + } + } +} +unsafe impl<'a> TaggedStructure for PhysicalDevicePipelineRobustnessPropertiesEXT<'a> { + const STRUCTURE_TYPE: StructureType = + StructureType::PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT; +} +unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDevicePipelineRobustnessPropertiesEXT<'_> {} +impl<'a> PhysicalDevicePipelineRobustnessPropertiesEXT<'a> { + #[inline] + pub fn default_robustness_storage_buffers( + mut self, + default_robustness_storage_buffers: PipelineRobustnessBufferBehaviorEXT, + ) -> Self { + self.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.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.default_robustness_vertex_inputs = default_robustness_vertex_inputs; + self + } + #[inline] + pub fn default_robustness_images( + mut self, + default_robustness_images: PipelineRobustnessImageBehaviorEXT, + ) -> Self { + self.default_robustness_images = default_robustness_images; + self + } +} +#[repr(C)] +#[cfg_attr(feature = "debug", derive(Debug))] +#[derive(Copy, Clone)] +#[doc = ""] +pub struct ImageViewSampleWeightCreateInfoQCOM<'a> { + pub s_type: StructureType, + pub p_next: *const c_void, + pub filter_center: Offset2D, + pub filter_size: Extent2D, + pub num_phases: u32, + pub _marker: PhantomData<&'a ()>, +} +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(), + _marker: PhantomData, + } + } +} +unsafe impl<'a> TaggedStructure for ImageViewSampleWeightCreateInfoQCOM<'a> { + const STRUCTURE_TYPE: StructureType = StructureType::IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM; +} +unsafe impl ExtendsImageViewCreateInfo for ImageViewSampleWeightCreateInfoQCOM<'_> {} +impl<'a> ImageViewSampleWeightCreateInfoQCOM<'a> { + #[inline] + pub fn filter_center(mut self, filter_center: Offset2D) -> Self { + self.filter_center = filter_center; + self + } + #[inline] + pub fn filter_size(mut self, filter_size: Extent2D) -> Self { + self.filter_size = filter_size; + self + } + #[inline] + pub fn num_phases(mut self, num_phases: u32) -> Self { + self.num_phases = num_phases; + self + } +} +#[repr(C)] +#[cfg_attr(feature = "debug", derive(Debug))] +#[derive(Copy, Clone)] +#[doc = ""] +pub struct PhysicalDeviceImageProcessingFeaturesQCOM<'a> { + 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, + pub _marker: PhantomData<&'a ()>, +} +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(), + _marker: PhantomData, + } + } +} +unsafe impl<'a> TaggedStructure for PhysicalDeviceImageProcessingFeaturesQCOM<'a> { + const STRUCTURE_TYPE: StructureType = + StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM; +} +unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceImageProcessingFeaturesQCOM<'_> {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceImageProcessingFeaturesQCOM<'_> {} +impl<'a> PhysicalDeviceImageProcessingFeaturesQCOM<'a> { + #[inline] + pub fn texture_sample_weighted(mut self, texture_sample_weighted: bool) -> Self { + self.texture_sample_weighted = texture_sample_weighted.into(); + self + } + #[inline] + pub fn texture_box_filter(mut self, texture_box_filter: bool) -> Self { + self.texture_box_filter = texture_box_filter.into(); + self + } + #[inline] + pub fn texture_block_match(mut self, texture_block_match: bool) -> Self { + self.texture_block_match = texture_block_match.into(); + self + } +} +#[repr(C)] +#[cfg_attr(feature = "debug", derive(Debug))] +#[derive(Copy, Clone)] +#[doc = ""] +pub struct PhysicalDeviceImageProcessingPropertiesQCOM<'a> { + 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, + pub _marker: PhantomData<&'a ()>, +} +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(), + _marker: PhantomData, + } + } +} +unsafe impl<'a> TaggedStructure for PhysicalDeviceImageProcessingPropertiesQCOM<'a> { + const STRUCTURE_TYPE: StructureType = + StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM; +} +unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceImageProcessingPropertiesQCOM<'_> {} +impl<'a> PhysicalDeviceImageProcessingPropertiesQCOM<'a> { + #[inline] + pub fn max_weight_filter_phases(mut self, max_weight_filter_phases: u32) -> Self { + self.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.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.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.max_box_filter_block_size = max_box_filter_block_size; + self + } +} +#[repr(C)] +#[cfg_attr(feature = "debug", derive(Debug))] +#[derive(Copy, Clone)] +#[doc = ""] +pub struct PhysicalDeviceTilePropertiesFeaturesQCOM<'a> { + pub s_type: StructureType, + pub p_next: *mut c_void, + pub tile_properties: Bool32, + pub _marker: PhantomData<&'a ()>, +} +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(), + _marker: PhantomData, + } + } +} +unsafe impl<'a> TaggedStructure for PhysicalDeviceTilePropertiesFeaturesQCOM<'a> { + const STRUCTURE_TYPE: StructureType = + StructureType::PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM; +} +unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceTilePropertiesFeaturesQCOM<'_> {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceTilePropertiesFeaturesQCOM<'_> {} +impl<'a> PhysicalDeviceTilePropertiesFeaturesQCOM<'a> { + #[inline] + pub fn tile_properties(mut self, tile_properties: bool) -> Self { + self.tile_properties = tile_properties.into(); + self + } +} +#[repr(C)] +#[cfg_attr(feature = "debug", derive(Debug))] +#[derive(Copy, Clone)] +#[doc = ""] +pub struct TilePropertiesQCOM<'a> { + pub s_type: StructureType, + pub p_next: *mut c_void, + pub tile_size: Extent3D, + pub apron_size: Extent2D, + pub origin: Offset2D, + pub _marker: PhantomData<&'a ()>, +} +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(), + _marker: PhantomData, + } + } +} +unsafe impl<'a> TaggedStructure for TilePropertiesQCOM<'a> { + const STRUCTURE_TYPE: StructureType = StructureType::TILE_PROPERTIES_QCOM; +} +impl<'a> TilePropertiesQCOM<'a> { + #[inline] + pub fn tile_size(mut self, tile_size: Extent3D) -> Self { + self.tile_size = tile_size; + self + } + #[inline] + pub fn apron_size(mut self, apron_size: Extent2D) -> Self { + self.apron_size = apron_size; + self + } + #[inline] + pub fn origin(mut self, origin: Offset2D) -> Self { + self.origin = origin; + self + } +} +#[repr(C)] +#[cfg_attr(feature = "debug", derive(Debug))] +#[derive(Copy, Clone)] +#[doc = ""] +pub struct PhysicalDeviceAmigoProfilingFeaturesSEC<'a> { + pub s_type: StructureType, + pub p_next: *mut c_void, + pub amigo_profiling: Bool32, + pub _marker: PhantomData<&'a ()>, +} +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(), + _marker: PhantomData, + } + } +} +unsafe impl<'a> TaggedStructure for PhysicalDeviceAmigoProfilingFeaturesSEC<'a> { + const STRUCTURE_TYPE: StructureType = + StructureType::PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC; +} +unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceAmigoProfilingFeaturesSEC<'_> {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceAmigoProfilingFeaturesSEC<'_> {} +impl<'a> PhysicalDeviceAmigoProfilingFeaturesSEC<'a> { + #[inline] + pub fn amigo_profiling(mut self, amigo_profiling: bool) -> Self { + self.amigo_profiling = amigo_profiling.into(); + self + } +} +#[repr(C)] +#[cfg_attr(feature = "debug", derive(Debug))] +#[derive(Copy, Clone)] +#[doc = ""] +pub struct AmigoProfilingSubmitInfoSEC<'a> { + pub s_type: StructureType, + pub p_next: *const c_void, + pub first_draw_timestamp: u64, + pub swap_buffer_timestamp: u64, + pub _marker: PhantomData<&'a ()>, +} +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(), + _marker: PhantomData, + } + } +} +unsafe impl<'a> TaggedStructure for AmigoProfilingSubmitInfoSEC<'a> { + const STRUCTURE_TYPE: StructureType = StructureType::AMIGO_PROFILING_SUBMIT_INFO_SEC; +} +unsafe impl ExtendsSubmitInfo for AmigoProfilingSubmitInfoSEC<'_> {} +impl<'a> AmigoProfilingSubmitInfoSEC<'a> { + #[inline] + pub fn first_draw_timestamp(mut self, first_draw_timestamp: u64) -> Self { + self.first_draw_timestamp = first_draw_timestamp; + self + } + #[inline] + pub fn swap_buffer_timestamp(mut self, swap_buffer_timestamp: u64) -> Self { + self.swap_buffer_timestamp = swap_buffer_timestamp; + self + } +} +#[repr(C)] +#[cfg_attr(feature = "debug", derive(Debug))] +#[derive(Copy, Clone)] +#[doc = ""] +pub struct PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT<'a> { + pub s_type: StructureType, + pub p_next: *mut c_void, + pub attachment_feedback_loop_layout: Bool32, + pub _marker: PhantomData<&'a ()>, +} +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(), + _marker: PhantomData, + } + } +} +unsafe impl<'a> TaggedStructure for PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT<'a> { + const STRUCTURE_TYPE: StructureType = + StructureType::PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT; +} +unsafe impl ExtendsPhysicalDeviceFeatures2 + for PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT<'_> +{ +} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT<'_> {} +impl<'a> PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT<'a> { + #[inline] + pub fn attachment_feedback_loop_layout( + mut self, + attachment_feedback_loop_layout: bool, + ) -> Self { + self.attachment_feedback_loop_layout = attachment_feedback_loop_layout.into(); + self + } +} +#[repr(C)] +#[cfg_attr(feature = "debug", derive(Debug))] +#[derive(Copy, Clone)] +#[doc = ""] +pub struct PhysicalDeviceDepthClampZeroOneFeaturesEXT<'a> { + pub s_type: StructureType, + pub p_next: *mut c_void, + pub depth_clamp_zero_one: Bool32, + pub _marker: PhantomData<&'a ()>, +} +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(), + _marker: PhantomData, + } + } +} +unsafe impl<'a> TaggedStructure for PhysicalDeviceDepthClampZeroOneFeaturesEXT<'a> { + const STRUCTURE_TYPE: StructureType = + StructureType::PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT; +} +unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceDepthClampZeroOneFeaturesEXT<'_> {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceDepthClampZeroOneFeaturesEXT<'_> {} +impl<'a> PhysicalDeviceDepthClampZeroOneFeaturesEXT<'a> { + #[inline] + pub fn depth_clamp_zero_one(mut self, depth_clamp_zero_one: bool) -> Self { + self.depth_clamp_zero_one = depth_clamp_zero_one.into(); + self + } +} 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