diff --git a/ash/src/extensions/ext/mesh_shader.rs b/ash/src/extensions/ext/mesh_shader.rs new file mode 100644 index 000000000..4f265a364 --- /dev/null +++ b/ash/src/extensions/ext/mesh_shader.rs @@ -0,0 +1,87 @@ +use crate::vk; +use crate::{Device, Instance}; +use std::ffi::CStr; +use std::mem; + +#[derive(Clone)] +pub struct MeshShader { + fp: vk::ExtMeshShaderFn, +} + +impl MeshShader { + pub fn new(instance: &Instance, device: &Device) -> Self { + let fp = vk::ExtMeshShaderFn::load(|name| unsafe { + mem::transmute(instance.get_device_proc_addr(device.handle(), name.as_ptr())) + }); + Self { fp } + } + + /// + #[inline] + pub unsafe fn cmd_draw_mesh_tasks( + &self, + command_buffer: vk::CommandBuffer, + group_count_x: u32, + group_count_y: u32, + group_count_z: u32, + ) { + (self.fp.cmd_draw_mesh_tasks_ext)( + command_buffer, + group_count_x, + group_count_y, + group_count_z, + ); + } + + /// + #[inline] + pub unsafe fn cmd_draw_mesh_tasks_indirect( + &self, + command_buffer: vk::CommandBuffer, + buffer: vk::Buffer, + offset: vk::DeviceSize, + draw_count: u32, + stride: u32, + ) { + (self.fp.cmd_draw_mesh_tasks_indirect_ext)( + command_buffer, + buffer, + offset, + draw_count, + stride, + ); + } + + /// + #[inline] + pub unsafe fn cmd_draw_mesh_tasks_indirect_count( + &self, + command_buffer: vk::CommandBuffer, + buffer: vk::Buffer, + offset: vk::DeviceSize, + count_buffer: vk::Buffer, + count_buffer_offset: vk::DeviceSize, + max_draw_count: u32, + stride: u32, + ) { + (self.fp.cmd_draw_mesh_tasks_indirect_count_ext)( + command_buffer, + buffer, + offset, + count_buffer, + count_buffer_offset, + max_draw_count, + stride, + ); + } + + #[inline] + pub const fn name() -> &'static CStr { + vk::ExtMeshShaderFn::name() + } + + #[inline] + pub fn fp(&self) -> &vk::ExtMeshShaderFn { + &self.fp + } +} diff --git a/ash/src/extensions/ext/mod.rs b/ash/src/extensions/ext/mod.rs index 477eb817a..93fca2f73 100644 --- a/ash/src/extensions/ext/mod.rs +++ b/ash/src/extensions/ext/mod.rs @@ -11,6 +11,7 @@ pub use self::full_screen_exclusive::FullScreenExclusive; pub use self::headless_surface::HeadlessSurface; pub use self::image_compression_control::ImageCompressionControl; pub use self::image_drm_format_modifier::ImageDrmFormatModifier; +pub use self::mesh_shader::MeshShader; pub use self::metal_surface::MetalSurface; pub use self::physical_device_drm::PhysicalDeviceDrm; pub use self::private_data::PrivateData; @@ -30,6 +31,7 @@ mod full_screen_exclusive; mod headless_surface; mod image_compression_control; mod image_drm_format_modifier; +mod mesh_shader; mod metal_surface; mod physical_device_drm; mod private_data; diff --git a/ash/src/vk/aliases.rs b/ash/src/vk/aliases.rs index bd56248b6..3b99039d6 100644 --- a/ash/src/vk/aliases.rs +++ b/ash/src/vk/aliases.rs @@ -261,3 +261,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 403b0401d..88b35b2d6 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 9e895d19c..6958760d5 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", @@ -620,6 +624,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 +1049,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"), ]; @@ -1101,6 +1113,10 @@ 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", @@ -1134,6 +1150,8 @@ impl fmt::Debug for DescriptorType { 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::INLINE_UNIFORM_BLOCK => Some("INLINE_UNIFORM_BLOCK"), _ => None, }; @@ -1638,7 +1656,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 +1989,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 +2328,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 +2392,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 +2504,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 +2603,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 +2968,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 +3060,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 +3073,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 +3120,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 +3203,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 +3305,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 +3317,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 +3403,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 +3591,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 +3671,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 +3694,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"), @@ -3927,8 +4003,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 +4030,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 +4245,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 +4262,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 +4311,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_EMIT_PICTURE_PARAMETERS_INFO_EXT => { + Some("VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_INFO_EXT") } - Self::VIDEO_ENCODE_H264_PROFILE_EXT => Some("VIDEO_ENCODE_H264_PROFILE_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 +4340,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 +4358,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 +4403,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 +4742,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 +5017,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 +5084,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,12 +5110,12 @@ 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") } @@ -5166,6 +5260,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 +5281,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 +5310,17 @@ 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_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_SUBGROUP_PROPERTIES => { Some("PHYSICAL_DEVICE_SUBGROUP_PROPERTIES") } @@ -5606,16 +5723,16 @@ 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::RESERVED_7_EXT.0, "RESERVED_7_EXT"), ]; @@ -5695,6 +5812,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 +6034,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 +6058,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 +6085,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 +6099,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,27 +6122,43 @@ 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 VideoEncodeFlagsKHR { +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)] = &[ - (VideoEncodeFlagsKHR::DEFAULT.0, "DEFAULT"), - (VideoEncodeFlagsKHR::RESERVED_0.0, "RESERVED_0"), + (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)] = &[]; + debug_flags(f, KNOWN, self.0) + } +} impl fmt::Debug for VideoEncodeH264CapabilityFlagsEXT { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { const KNOWN: &[(Flags, &str)] = &[ @@ -6153,20 +6280,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 +6442,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 +6482,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 +6496,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 +6533,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 b3c606fcd..4ff716f10 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 = 226u32; #[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, @@ -16101,6 +16121,7 @@ impl ::std::default::Default for ShaderModuleValidationCacheCreateInfoEXT<'_> { } } 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 { @@ -21159,6 +21180,343 @@ 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: StructureType::PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT, + 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 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: StructureType::PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT, + 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 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, @@ -32655,26 +33013,26 @@ 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 { - s_type: StructureType::VIDEO_QUEUE_FAMILY_PROPERTIES_2_KHR, + s_type: StructureType::QUEUE_FAMILY_VIDEO_PROPERTIES_KHR, p_next: ::std::ptr::null_mut(), video_codec_operations: VideoCodecOperationFlagsKHR::default(), _marker: PhantomData, } } } -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, @@ -32687,26 +33045,26 @@ 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 { - s_type: StructureType::QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_2_KHR, + s_type: StructureType::QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR, p_next: ::std::ptr::null_mut(), query_result_status_support: Bool32::default(), _marker: PhantomData, } } } -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(); @@ -32716,19 +33074,19 @@ 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 { - s_type: StructureType::VIDEO_PROFILES_KHR, + s_type: StructureType::VIDEO_PROFILE_LIST_INFO_KHR, p_next: ::std::ptr::null(), profile_count: u32::default(), p_profiles: ::std::ptr::null(), @@ -32736,13 +33094,13 @@ impl ::std::default::Default for VideoProfilesKHR<'_> { } } } -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 @@ -32754,7 +33112,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 ()>, } @@ -32763,7 +33121,7 @@ impl ::std::default::Default for PhysicalDeviceVideoFormatInfoKHR<'_> { fn default() -> Self { Self { s_type: StructureType::PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR, - p_next: ::std::ptr::null_mut(), + p_next: ::std::ptr::null(), image_usage: ImageUsageFlags::default(), _marker: PhantomData, } @@ -32786,7 +33144,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; @@ -32860,8 +33218,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, @@ -32870,11 +33228,11 @@ 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 { - s_type: StructureType::VIDEO_PROFILE_KHR, + s_type: StructureType::VIDEO_PROFILE_INFO_KHR, p_next: ::std::ptr::null(), video_codec_operation: VideoCodecOperationFlagsKHR::default(), chroma_subsampling: VideoChromaSubsamplingFlagsKHR::default(), @@ -32884,9 +33242,9 @@ impl ::std::default::Default for VideoProfileKHR<'_> { } } } -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, @@ -32918,7 +33276,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(); @@ -33045,46 +33403,43 @@ 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: StructureType::VIDEO_GET_MEMORY_PROPERTIES_KHR, - p_next: ::std::ptr::null(), + s_type: StructureType::VIDEO_SESSION_MEMORY_REQUIREMENTS_KHR, + p_next: ::std::ptr::null_mut(), memory_bind_index: u32::default(), - p_memory_requirements: ::std::ptr::null_mut(), + memory_requirements: MemoryRequirements::default(), _marker: PhantomData, } } } -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, @@ -33093,11 +33448,11 @@ 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 { - s_type: StructureType::VIDEO_BIND_MEMORY_KHR, + s_type: StructureType::BIND_VIDEO_SESSION_MEMORY_INFO_KHR, p_next: ::std::ptr::null(), memory_bind_index: u32::default(), memory: DeviceMemory::default(), @@ -33107,7 +33462,7 @@ impl ::std::default::Default for VideoBindMemoryKHR<'_> { } } } -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; @@ -33132,8 +33487,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, @@ -33142,11 +33497,11 @@ 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 { - s_type: StructureType::VIDEO_PICTURE_RESOURCE_KHR, + s_type: StructureType::VIDEO_PICTURE_RESOURCE_INFO_KHR, p_next: ::std::ptr::null(), coded_offset: Offset2D::default(), coded_extent: Extent2D::default(), @@ -33156,7 +33511,7 @@ impl ::std::default::Default for VideoPictureResourceKHR<'_> { } } } -impl<'a> VideoPictureResourceKHR<'a> { +impl<'a> VideoPictureResourceInfoKHR<'a> { #[inline] pub fn coded_offset(mut self, coded_offset: Offset2D) -> Self { self.coded_offset = coded_offset; @@ -33181,19 +33536,19 @@ 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 { - s_type: StructureType::VIDEO_REFERENCE_SLOT_KHR, + s_type: StructureType::VIDEO_REFERENCE_SLOT_INFO_KHR, p_next: ::std::ptr::null(), slot_index: i8::default(), p_picture_resource: ::std::ptr::null(), @@ -33201,15 +33556,18 @@ impl ::std::default::Default for VideoReferenceSlotKHR<'_> { } } } -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 } @@ -33218,7 +33576,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(); @@ -33250,25 +33608,39 @@ impl ::std::default::Default for VideoDecodeCapabilitiesKHR<'_> { } } 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: StructureType::VIDEO_DECODE_USAGE_INFO_KHR, + p_next: ::std::ptr::null(), + video_usage_hints: VideoDecodeUsageFlagsKHR::default(), + _marker: PhantomData, } + } +} +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 } } @@ -33283,10 +33655,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<'_> { @@ -33299,7 +33671,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(), @@ -33332,7 +33704,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 @@ -33340,13 +33712,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 @@ -33369,19 +33741,19 @@ 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 { - s_type: StructureType::VIDEO_DECODE_H264_PROFILE_EXT, + s_type: StructureType::VIDEO_DECODE_H264_PROFILE_INFO_EXT, p_next: ::std::ptr::null(), std_profile_idc: StdVideoH264ProfileIdc::default(), picture_layout: VideoDecodeH264PictureLayoutFlagsEXT::default(), @@ -33389,9 +33761,9 @@ impl ::std::default::Default for VideoDecodeH264ProfileEXT<'_> { } } } -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; @@ -33426,7 +33798,7 @@ impl ::std::default::Default for VideoDecodeH264CapabilitiesEXT<'_> { } } } -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 { @@ -33608,7 +33980,7 @@ impl ::std::default::Default for VideoDecodeH264DpbSlotInfoEXT<'_> { } } } -unsafe impl ExtendsVideoReferenceSlotKHR for VideoDecodeH264DpbSlotInfoEXT<'_> {} +unsafe impl ExtendsVideoReferenceSlotInfoKHR for VideoDecodeH264DpbSlotInfoEXT<'_> {} impl<'a> VideoDecodeH264DpbSlotInfoEXT<'a> { #[inline] pub fn std_reference_info( @@ -33622,26 +33994,26 @@ 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 { - s_type: StructureType::VIDEO_DECODE_H264_MVC_EXT, + s_type: StructureType::VIDEO_DECODE_H264_MVC_INFO_EXT, p_next: ::std::ptr::null(), p_std_mvc: ::std::ptr::null(), _marker: PhantomData, } } } -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; @@ -33651,27 +34023,27 @@ 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 { - s_type: StructureType::VIDEO_DECODE_H265_PROFILE_EXT, + s_type: StructureType::VIDEO_DECODE_H265_PROFILE_INFO_EXT, p_next: ::std::ptr::null(), std_profile_idc: StdVideoH265ProfileIdc::default(), _marker: PhantomData, } } } -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; @@ -33699,7 +34071,7 @@ impl ::std::default::Default for VideoDecodeH265CapabilitiesEXT<'_> { } } } -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 { @@ -33881,7 +34253,7 @@ impl ::std::default::Default for VideoDecodeH265DpbSlotInfoEXT<'_> { } } } -unsafe impl ExtendsVideoReferenceSlotKHR for VideoDecodeH265DpbSlotInfoEXT<'_> {} +unsafe impl ExtendsVideoReferenceSlotInfoKHR for VideoDecodeH265DpbSlotInfoEXT<'_> {} impl<'a> VideoDecodeH265DpbSlotInfoEXT<'a> { #[inline] pub fn std_reference_info( @@ -33901,7 +34273,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, @@ -33941,7 +34313,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 } @@ -33989,6 +34361,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 ()>, @@ -33999,6 +34372,7 @@ impl ::std::default::Default for VideoSessionParametersCreateInfoKHR<'_> { Self { s_type: StructureType::VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR, p_next: ::std::ptr::null(), + flags: VideoSessionParametersCreateFlagsKHR::default(), video_session_parameters_template: VideoSessionParametersKHR::default(), video_session: VideoSessionKHR::default(), _marker: PhantomData, @@ -34007,6 +34381,11 @@ impl ::std::default::Default for VideoSessionParametersCreateInfoKHR<'_> { } 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, @@ -34092,11 +34471,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<'_> { @@ -34106,7 +34484,6 @@ impl ::std::default::Default for VideoBeginCodingInfoKHR<'_> { s_type: StructureType::VIDEO_BEGIN_CODING_INFO_KHR, 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(), @@ -34122,14 +34499,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 @@ -34143,7 +34512,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 @@ -34223,6 +34592,49 @@ 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: StructureType::VIDEO_ENCODE_USAGE_INFO_KHR, + p_next: ::std::ptr::null(), + video_usage_hints: VideoEncodeUsageFlagsKHR::default(), + video_content_hints: VideoEncodeContentFlagsKHR::default(), + tuning_mode: VideoEncodeTuningModeKHR::default(), + _marker: PhantomData, + } + } +} +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, @@ -34232,10 +34644,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 ()>, } @@ -34250,7 +34662,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(), @@ -34292,7 +34704,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 @@ -34300,13 +34712,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 @@ -34362,7 +34774,6 @@ impl ::std::default::Default for VideoEncodeRateControlInfoKHR<'_> { } } unsafe impl ExtendsVideoCodingControlInfoKHR for VideoEncodeRateControlInfoKHR<'_> {} -pub unsafe trait ExtendsVideoEncodeRateControlInfoKHR {} impl<'a> VideoEncodeRateControlInfoKHR<'a> { #[inline] pub fn flags(mut self, flags: VideoEncodeRateControlFlagsKHR) -> Self { @@ -34386,20 +34797,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))] @@ -34516,7 +34913,6 @@ impl ::std::default::Default for VideoEncodeCapabilitiesKHR<'_> { } } unsafe impl ExtendsVideoCapabilitiesKHR for VideoEncodeCapabilitiesKHR<'_> {} -pub unsafe trait ExtendsVideoEncodeCapabilitiesKHR {} impl<'a> VideoEncodeCapabilitiesKHR<'a> { #[inline] pub fn flags(mut self, flags: VideoEncodeCapabilityFlagsKHR) -> Self { @@ -34549,20 +34945,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))] @@ -34605,7 +34987,7 @@ impl ::std::default::Default for VideoEncodeH264CapabilitiesEXT<'_> { } } } -unsafe impl ExtendsVideoEncodeCapabilitiesKHR for VideoEncodeH264CapabilitiesEXT<'_> {} +unsafe impl ExtendsVideoCapabilitiesKHR for VideoEncodeH264CapabilitiesEXT<'_> {} impl<'a> VideoEncodeH264CapabilitiesEXT<'a> { #[inline] pub fn flags(mut self, flags: VideoEncodeH264CapabilityFlagsEXT) -> Self { @@ -34815,9 +35197,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 ()>, } @@ -34840,7 +35222,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 @@ -34848,7 +35230,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(); @@ -34866,8 +35248,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, @@ -34877,11 +35259,11 @@ 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 { - s_type: StructureType::VIDEO_ENCODE_H264_REFERENCE_LISTS_EXT, + s_type: StructureType::VIDEO_ENCODE_H264_REFERENCE_LISTS_INFO_EXT, p_next: ::std::ptr::null(), reference_list0_entry_count: u8::default(), p_reference_list0_entries: ::std::ptr::null(), @@ -34892,7 +35274,7 @@ impl ::std::default::Default for VideoEncodeH264ReferenceListsEXT<'_> { } } } -impl<'a> VideoEncodeH264ReferenceListsEXT<'a> { +impl<'a> VideoEncodeH264ReferenceListsInfoEXT<'a> { #[inline] pub fn reference_list0_entries( mut self, @@ -34923,8 +35305,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, @@ -34933,11 +35315,11 @@ 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 { - s_type: StructureType::VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_EXT, + s_type: StructureType::VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_INFO_EXT, p_next: ::std::ptr::null(), sps_id: u8::default(), emit_sps_enable: Bool32::default(), @@ -34947,8 +35329,8 @@ impl ::std::default::Default for VideoEncodeH264EmitPictureParametersEXT<'_> { } } } -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; @@ -34969,27 +35351,27 @@ 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 { - s_type: StructureType::VIDEO_ENCODE_H264_PROFILE_EXT, + s_type: StructureType::VIDEO_ENCODE_H264_PROFILE_INFO_EXT, p_next: ::std::ptr::null(), std_profile_idc: StdVideoH264ProfileIdc::default(), _marker: PhantomData, } } } -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; @@ -34999,20 +35381,20 @@ 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 { - s_type: StructureType::VIDEO_ENCODE_H264_NALU_SLICE_EXT, + s_type: StructureType::VIDEO_ENCODE_H264_NALU_SLICE_INFO_EXT, p_next: ::std::ptr::null(), mb_count: u32::default(), p_reference_final_lists: ::std::ptr::null(), @@ -35021,7 +35403,7 @@ impl ::std::default::Default for VideoEncodeH264NaluSliceEXT<'_> { } } } -impl<'a> VideoEncodeH264NaluSliceEXT<'a> { +impl<'a> VideoEncodeH264NaluSliceInfoEXT<'a> { #[inline] pub fn mb_count(mut self, mb_count: u32) -> Self { self.mb_count = mb_count; @@ -35030,7 +35412,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 @@ -35051,7 +35433,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 ()>, } @@ -35064,13 +35446,13 @@ 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, } } } -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 { @@ -35090,7 +35472,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 @@ -35190,6 +35572,7 @@ impl ::std::default::Default for VideoEncodeH264RateControlLayerInfoEXT<'_> { } } } +unsafe impl ExtendsVideoCodingControlInfoKHR for VideoEncodeH264RateControlLayerInfoEXT<'_> {} unsafe impl ExtendsVideoEncodeRateControlLayerInfoKHR for VideoEncodeH264RateControlLayerInfoEXT<'_> { @@ -35300,7 +35683,7 @@ impl ::std::default::Default for VideoEncodeH265CapabilitiesEXT<'_> { } } } -unsafe impl ExtendsVideoEncodeCapabilitiesKHR for VideoEncodeH265CapabilitiesEXT<'_> {} +unsafe impl ExtendsVideoCapabilitiesKHR for VideoEncodeH265CapabilitiesEXT<'_> {} impl<'a> VideoEncodeH265CapabilitiesEXT<'a> { #[inline] pub fn flags(mut self, flags: VideoEncodeH265CapabilityFlagsEXT) -> Self { @@ -35561,9 +35944,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 ()>, } @@ -35586,7 +35969,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 @@ -35594,7 +35977,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(); @@ -35612,8 +35995,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, @@ -35624,11 +36007,11 @@ 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 { - s_type: StructureType::VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_EXT, + s_type: StructureType::VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_INFO_EXT, p_next: ::std::ptr::null(), vps_id: u8::default(), sps_id: u8::default(), @@ -35640,8 +36023,8 @@ impl ::std::default::Default for VideoEncodeH265EmitPictureParametersEXT<'_> { } } } -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; @@ -35672,20 +36055,20 @@ 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 { - s_type: StructureType::VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_EXT, + s_type: StructureType::VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_EXT, p_next: ::std::ptr::null(), ctb_count: u32::default(), p_reference_final_lists: ::std::ptr::null(), @@ -35694,7 +36077,7 @@ impl ::std::default::Default for VideoEncodeH265NaluSliceSegmentEXT<'_> { } } } -impl<'a> VideoEncodeH265NaluSliceSegmentEXT<'a> { +impl<'a> VideoEncodeH265NaluSliceSegmentInfoEXT<'a> { #[inline] pub fn ctb_count(mut self, ctb_count: u32) -> Self { self.ctb_count = ctb_count; @@ -35703,7 +36086,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 @@ -35727,7 +36110,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 ()>, } @@ -35740,13 +36123,13 @@ 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, } } } -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 { @@ -35766,7 +36149,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 @@ -35866,6 +36249,7 @@ impl ::std::default::Default for VideoEncodeH265RateControlLayerInfoEXT<'_> { } } } +unsafe impl ExtendsVideoCodingControlInfoKHR for VideoEncodeH265RateControlLayerInfoEXT<'_> {} unsafe impl ExtendsVideoEncodeRateControlLayerInfoKHR for VideoEncodeH265RateControlLayerInfoEXT<'_> { @@ -35920,27 +36304,27 @@ 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 { - s_type: StructureType::VIDEO_ENCODE_H265_PROFILE_EXT, + s_type: StructureType::VIDEO_ENCODE_H265_PROFILE_INFO_EXT, p_next: ::std::ptr::null(), std_profile_idc: StdVideoH265ProfileIdc::default(), _marker: PhantomData, } } } -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; @@ -35988,8 +36372,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, @@ -35999,11 +36383,11 @@ 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 { - s_type: StructureType::VIDEO_ENCODE_H265_REFERENCE_LISTS_EXT, + s_type: StructureType::VIDEO_ENCODE_H265_REFERENCE_LISTS_INFO_EXT, p_next: ::std::ptr::null(), reference_list0_entry_count: u8::default(), p_reference_list0_entries: ::std::ptr::null(), @@ -36014,7 +36398,7 @@ impl ::std::default::Default for VideoEncodeH265ReferenceListsEXT<'_> { } } } -impl<'a> VideoEncodeH265ReferenceListsEXT<'a> { +impl<'a> VideoEncodeH265ReferenceListsInfoEXT<'a> { #[inline] pub fn reference_list0_entries( mut self, @@ -38533,8 +38917,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, @@ -38542,12 +38926,12 @@ 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 { s_type: - StructureType::PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM, + StructureType::PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT, p_next: ::std::ptr::null_mut(), rasterization_order_color_attachment_access: Bool32::default(), rasterization_order_depth_attachment_access: Bool32::default(), @@ -38557,14 +38941,14 @@ impl ::std::default::Default for PhysicalDeviceRasterizationOrderAttachmentAcces } } 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, @@ -39945,3 +40329,489 @@ 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: StructureType::PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT, + p_next: ::std::ptr::null_mut(), + pipeline_robustness: Bool32::default(), + _marker: PhantomData, + } + } +} +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: StructureType::PIPELINE_ROBUSTNESS_CREATE_INFO_EXT, + p_next: ::std::ptr::null(), + storage_buffers: PipelineRobustnessBufferBehaviorEXT::default(), + uniform_buffers: PipelineRobustnessBufferBehaviorEXT::default(), + vertex_inputs: PipelineRobustnessBufferBehaviorEXT::default(), + images: PipelineRobustnessImageBehaviorEXT::default(), + _marker: PhantomData, + } + } +} +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: StructureType::PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT, + 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 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: StructureType::IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM, + p_next: ::std::ptr::null(), + filter_center: Offset2D::default(), + filter_size: Extent2D::default(), + num_phases: u32::default(), + _marker: PhantomData, + } + } +} +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: StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM, + 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 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: StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM, + 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 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: StructureType::PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM, + p_next: ::std::ptr::null_mut(), + tile_properties: Bool32::default(), + _marker: PhantomData, + } + } +} +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: StructureType::TILE_PROPERTIES_QCOM, + p_next: ::std::ptr::null_mut(), + tile_size: Extent3D::default(), + apron_size: Extent2D::default(), + origin: Offset2D::default(), + _marker: PhantomData, + } + } +} +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: StructureType::PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC, + p_next: ::std::ptr::null_mut(), + amigo_profiling: Bool32::default(), + _marker: PhantomData, + } + } +} +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: StructureType::AMIGO_PROFILING_SUBMIT_INFO_SEC, + p_next: ::std::ptr::null(), + first_draw_timestamp: u64::default(), + swap_buffer_timestamp: u64::default(), + _marker: PhantomData, + } + } +} +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: StructureType::PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT, + p_next: ::std::ptr::null_mut(), + attachment_feedback_loop_layout: Bool32::default(), + _marker: PhantomData, + } + } +} +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: StructureType::PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT, + p_next: ::std::ptr::null_mut(), + depth_clamp_zero_one: Bool32::default(), + _marker: PhantomData, + } + } +} +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 ed7191b66..4c18550fa 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 88a44deb3..de2ecdb1f 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 { @@ -14609,6 +14608,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 +15990,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 +16611,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 +16700,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 +17313,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 +17371,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 +17390,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 +17401,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 +17735,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 +18322,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 +18345,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 +18441,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] @@ -18779,7 +18958,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 +20643,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 +21313,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 +21332,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 { @@ -21540,18 +21732,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 +21751,35 @@ impl QcomExtension441Fn { Self {} } } -#[doc = "Generated from 'VK_QCOM_extension_441'"] -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); +#[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_extension_441'"] +#[doc = "Generated from 'VK_QCOM_image_processing'"] +impl FormatFeatureFlags2 { + 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_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 +21917,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 +22286,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 +22309,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 { @@ -22184,6 +22417,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 +22748,282 @@ 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 ExtExtension495Fn { + #[inline] + pub const fn name() -> &'static ::std::ffi::CStr { + unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_EXT_extension_495\0") } + } + pub const SPEC_VERSION: u32 = 0u32; +} +#[derive(Clone)] +pub struct ExtExtension495Fn {} +unsafe impl Send for ExtExtension495Fn {} +unsafe impl Sync for ExtExtension495Fn {} +impl ExtExtension495Fn { + pub fn load(mut _f: F) -> Self + where + F: FnMut(&::std::ffi::CStr) -> *const c_void, + { + Self {} + } +} diff --git a/ash/src/vk/native.rs b/ash/src/vk/native.rs index 23e2ba8a3..3d7e550da 100644 --- a/ash/src/vk/native.rs +++ b/ash/src/vk/native.rs @@ -80,15 +80,7 @@ where } } } -pub type size_t = ::std::os::raw::c_ulong; -pub type __int8_t = ::std::os::raw::c_schar; -pub type __uint8_t = ::std::os::raw::c_uchar; -pub type __int16_t = ::std::os::raw::c_short; -pub type __uint16_t = ::std::os::raw::c_ushort; -pub type __int32_t = ::std::os::raw::c_int; -pub type __uint32_t = ::std::os::raw::c_uint; -pub type __int64_t = ::std::os::raw::c_long; -pub type __uint64_t = ::std::os::raw::c_ulong; +pub type size_t = ::std::os::raw::c_ulonglong; pub const StdVideoH264ChromaFormatIdc_STD_VIDEO_H264_CHROMA_FORMAT_IDC_MONOCHROME: StdVideoH264ChromaFormatIdc = 0; pub const StdVideoH264ChromaFormatIdc_STD_VIDEO_H264_CHROMA_FORMAT_IDC_420: @@ -99,7 +91,7 @@ pub const StdVideoH264ChromaFormatIdc_STD_VIDEO_H264_CHROMA_FORMAT_IDC_444: StdVideoH264ChromaFormatIdc = 3; pub const StdVideoH264ChromaFormatIdc_STD_VIDEO_H264_CHROMA_FORMAT_IDC_INVALID: StdVideoH264ChromaFormatIdc = 2147483647; -pub type StdVideoH264ChromaFormatIdc = ::std::os::raw::c_uint; +pub type StdVideoH264ChromaFormatIdc = ::std::os::raw::c_int; pub const StdVideoH264ProfileIdc_STD_VIDEO_H264_PROFILE_IDC_BASELINE: StdVideoH264ProfileIdc = 66; pub const StdVideoH264ProfileIdc_STD_VIDEO_H264_PROFILE_IDC_MAIN: StdVideoH264ProfileIdc = 77; pub const StdVideoH264ProfileIdc_STD_VIDEO_H264_PROFILE_IDC_HIGH: StdVideoH264ProfileIdc = 100; @@ -107,7 +99,7 @@ pub const StdVideoH264ProfileIdc_STD_VIDEO_H264_PROFILE_IDC_HIGH_444_PREDICTIVE: StdVideoH264ProfileIdc = 244; pub const StdVideoH264ProfileIdc_STD_VIDEO_H264_PROFILE_IDC_INVALID: StdVideoH264ProfileIdc = 2147483647; -pub type StdVideoH264ProfileIdc = ::std::os::raw::c_uint; +pub type StdVideoH264ProfileIdc = ::std::os::raw::c_int; pub const StdVideoH264Level_STD_VIDEO_H264_LEVEL_1_0: StdVideoH264Level = 0; pub const StdVideoH264Level_STD_VIDEO_H264_LEVEL_1_1: StdVideoH264Level = 1; pub const StdVideoH264Level_STD_VIDEO_H264_LEVEL_1_2: StdVideoH264Level = 2; @@ -128,12 +120,12 @@ pub const StdVideoH264Level_STD_VIDEO_H264_LEVEL_6_0: StdVideoH264Level = 16; pub const StdVideoH264Level_STD_VIDEO_H264_LEVEL_6_1: StdVideoH264Level = 17; pub const StdVideoH264Level_STD_VIDEO_H264_LEVEL_6_2: StdVideoH264Level = 18; pub const StdVideoH264Level_STD_VIDEO_H264_LEVEL_INVALID: StdVideoH264Level = 2147483647; -pub type StdVideoH264Level = ::std::os::raw::c_uint; +pub type StdVideoH264Level = ::std::os::raw::c_int; pub const StdVideoH264PocType_STD_VIDEO_H264_POC_TYPE_0: StdVideoH264PocType = 0; pub const StdVideoH264PocType_STD_VIDEO_H264_POC_TYPE_1: StdVideoH264PocType = 1; pub const StdVideoH264PocType_STD_VIDEO_H264_POC_TYPE_2: StdVideoH264PocType = 2; pub const StdVideoH264PocType_STD_VIDEO_H264_POC_TYPE_INVALID: StdVideoH264PocType = 2147483647; -pub type StdVideoH264PocType = ::std::os::raw::c_uint; +pub type StdVideoH264PocType = ::std::os::raw::c_int; pub const StdVideoH264AspectRatioIdc_STD_VIDEO_H264_ASPECT_RATIO_IDC_UNSPECIFIED: StdVideoH264AspectRatioIdc = 0; pub const StdVideoH264AspectRatioIdc_STD_VIDEO_H264_ASPECT_RATIO_IDC_SQUARE: @@ -172,7 +164,7 @@ pub const StdVideoH264AspectRatioIdc_STD_VIDEO_H264_ASPECT_RATIO_IDC_EXTENDED_SA StdVideoH264AspectRatioIdc = 255; pub const StdVideoH264AspectRatioIdc_STD_VIDEO_H264_ASPECT_RATIO_IDC_INVALID: StdVideoH264AspectRatioIdc = 2147483647; -pub type StdVideoH264AspectRatioIdc = ::std::os::raw::c_uint; +pub type StdVideoH264AspectRatioIdc = ::std::os::raw::c_int; pub const StdVideoH264WeightedBipredIdc_STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_DEFAULT: StdVideoH264WeightedBipredIdc = 0; pub const StdVideoH264WeightedBipredIdc_STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_EXPLICIT: @@ -181,14 +173,14 @@ pub const StdVideoH264WeightedBipredIdc_STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_IMPLI StdVideoH264WeightedBipredIdc = 2; pub const StdVideoH264WeightedBipredIdc_STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_INVALID: StdVideoH264WeightedBipredIdc = 2147483647; -pub type StdVideoH264WeightedBipredIdc = ::std::os::raw::c_uint; +pub type StdVideoH264WeightedBipredIdc = ::std::os::raw::c_int; pub const StdVideoH264ModificationOfPicNumsIdc_STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_SHORT_TERM_SUBTRACT : StdVideoH264ModificationOfPicNumsIdc = 0 ; pub const StdVideoH264ModificationOfPicNumsIdc_STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_SHORT_TERM_ADD : StdVideoH264ModificationOfPicNumsIdc = 1 ; pub const StdVideoH264ModificationOfPicNumsIdc_STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_LONG_TERM : StdVideoH264ModificationOfPicNumsIdc = 2 ; pub const StdVideoH264ModificationOfPicNumsIdc_STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_END: StdVideoH264ModificationOfPicNumsIdc = 3; pub const StdVideoH264ModificationOfPicNumsIdc_STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_INVALID : StdVideoH264ModificationOfPicNumsIdc = 2147483647 ; -pub type StdVideoH264ModificationOfPicNumsIdc = ::std::os::raw::c_uint; +pub type StdVideoH264ModificationOfPicNumsIdc = ::std::os::raw::c_int; pub const StdVideoH264MemMgmtControlOp_STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_END: StdVideoH264MemMgmtControlOp = 0; pub const StdVideoH264MemMgmtControlOp_STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_SHORT_TERM: @@ -203,31 +195,31 @@ pub const StdVideoH264MemMgmtControlOp_STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK pub const StdVideoH264MemMgmtControlOp_STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MARK_CURRENT_AS_LONG_TERM : StdVideoH264MemMgmtControlOp = 6 ; pub const StdVideoH264MemMgmtControlOp_STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_INVALID: StdVideoH264MemMgmtControlOp = 2147483647; -pub type StdVideoH264MemMgmtControlOp = ::std::os::raw::c_uint; +pub type StdVideoH264MemMgmtControlOp = ::std::os::raw::c_int; pub const StdVideoH264CabacInitIdc_STD_VIDEO_H264_CABAC_INIT_IDC_0: StdVideoH264CabacInitIdc = 0; pub const StdVideoH264CabacInitIdc_STD_VIDEO_H264_CABAC_INIT_IDC_1: StdVideoH264CabacInitIdc = 1; pub const StdVideoH264CabacInitIdc_STD_VIDEO_H264_CABAC_INIT_IDC_2: StdVideoH264CabacInitIdc = 2; pub const StdVideoH264CabacInitIdc_STD_VIDEO_H264_CABAC_INIT_IDC_INVALID: StdVideoH264CabacInitIdc = 2147483647; -pub type StdVideoH264CabacInitIdc = ::std::os::raw::c_uint; +pub type StdVideoH264CabacInitIdc = ::std::os::raw::c_int; pub const StdVideoH264DisableDeblockingFilterIdc_STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_DISABLED : StdVideoH264DisableDeblockingFilterIdc = 0 ; pub const StdVideoH264DisableDeblockingFilterIdc_STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_ENABLED : StdVideoH264DisableDeblockingFilterIdc = 1 ; pub const StdVideoH264DisableDeblockingFilterIdc_STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_PARTIAL : StdVideoH264DisableDeblockingFilterIdc = 2 ; pub const StdVideoH264DisableDeblockingFilterIdc_STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_INVALID : StdVideoH264DisableDeblockingFilterIdc = 2147483647 ; -pub type StdVideoH264DisableDeblockingFilterIdc = ::std::os::raw::c_uint; +pub type StdVideoH264DisableDeblockingFilterIdc = ::std::os::raw::c_int; pub const StdVideoH264SliceType_STD_VIDEO_H264_SLICE_TYPE_P: StdVideoH264SliceType = 0; pub const StdVideoH264SliceType_STD_VIDEO_H264_SLICE_TYPE_B: StdVideoH264SliceType = 1; pub const StdVideoH264SliceType_STD_VIDEO_H264_SLICE_TYPE_I: StdVideoH264SliceType = 2; pub const StdVideoH264SliceType_STD_VIDEO_H264_SLICE_TYPE_INVALID: StdVideoH264SliceType = 2147483647; -pub type StdVideoH264SliceType = ::std::os::raw::c_uint; +pub type StdVideoH264SliceType = ::std::os::raw::c_int; pub const StdVideoH264PictureType_STD_VIDEO_H264_PICTURE_TYPE_P: StdVideoH264PictureType = 0; pub const StdVideoH264PictureType_STD_VIDEO_H264_PICTURE_TYPE_B: StdVideoH264PictureType = 1; pub const StdVideoH264PictureType_STD_VIDEO_H264_PICTURE_TYPE_I: StdVideoH264PictureType = 2; pub const StdVideoH264PictureType_STD_VIDEO_H264_PICTURE_TYPE_IDR: StdVideoH264PictureType = 5; pub const StdVideoH264PictureType_STD_VIDEO_H264_PICTURE_TYPE_INVALID: StdVideoH264PictureType = 2147483647; -pub type StdVideoH264PictureType = ::std::os::raw::c_uint; +pub type StdVideoH264PictureType = ::std::os::raw::c_int; #[repr(C)] #[repr(align(4))] #[derive(Debug, Copy, Clone)] @@ -3015,7 +3007,7 @@ pub const StdVideoH265ProfileIdc_STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS: StdV 9; pub const StdVideoH265ProfileIdc_STD_VIDEO_H265_PROFILE_IDC_INVALID: StdVideoH265ProfileIdc = 2147483647; -pub type StdVideoH265ProfileIdc = ::std::os::raw::c_uint; +pub type StdVideoH265ProfileIdc = ::std::os::raw::c_int; pub const StdVideoH265Level_STD_VIDEO_H265_LEVEL_1_0: StdVideoH265Level = 0; pub const StdVideoH265Level_STD_VIDEO_H265_LEVEL_2_0: StdVideoH265Level = 1; pub const StdVideoH265Level_STD_VIDEO_H265_LEVEL_2_1: StdVideoH265Level = 2; @@ -3030,20 +3022,20 @@ pub const StdVideoH265Level_STD_VIDEO_H265_LEVEL_6_0: StdVideoH265Level = 10; pub const StdVideoH265Level_STD_VIDEO_H265_LEVEL_6_1: StdVideoH265Level = 11; pub const StdVideoH265Level_STD_VIDEO_H265_LEVEL_6_2: StdVideoH265Level = 12; pub const StdVideoH265Level_STD_VIDEO_H265_LEVEL_INVALID: StdVideoH265Level = 2147483647; -pub type StdVideoH265Level = ::std::os::raw::c_uint; +pub type StdVideoH265Level = ::std::os::raw::c_int; pub const StdVideoH265SliceType_STD_VIDEO_H265_SLICE_TYPE_B: StdVideoH265SliceType = 0; pub const StdVideoH265SliceType_STD_VIDEO_H265_SLICE_TYPE_P: StdVideoH265SliceType = 1; pub const StdVideoH265SliceType_STD_VIDEO_H265_SLICE_TYPE_I: StdVideoH265SliceType = 2; pub const StdVideoH265SliceType_STD_VIDEO_H265_SLICE_TYPE_INVALID: StdVideoH265SliceType = 2147483647; -pub type StdVideoH265SliceType = ::std::os::raw::c_uint; +pub type StdVideoH265SliceType = ::std::os::raw::c_int; pub const StdVideoH265PictureType_STD_VIDEO_H265_PICTURE_TYPE_P: StdVideoH265PictureType = 0; pub const StdVideoH265PictureType_STD_VIDEO_H265_PICTURE_TYPE_B: StdVideoH265PictureType = 1; pub const StdVideoH265PictureType_STD_VIDEO_H265_PICTURE_TYPE_I: StdVideoH265PictureType = 2; pub const StdVideoH265PictureType_STD_VIDEO_H265_PICTURE_TYPE_IDR: StdVideoH265PictureType = 3; pub const StdVideoH265PictureType_STD_VIDEO_H265_PICTURE_TYPE_INVALID: StdVideoH265PictureType = 2147483647; -pub type StdVideoH265PictureType = ::std::os::raw::c_uint; +pub type StdVideoH265PictureType = ::std::os::raw::c_int; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct StdVideoH265DecPicBufMgr { diff --git a/generator/Vulkan-Headers b/generator/Vulkan-Headers index 2c823b7f2..9f4c61a31 160000 --- a/generator/Vulkan-Headers +++ b/generator/Vulkan-Headers @@ -1 +1 @@ -Subproject commit 2c823b7f27590ec0a489f7fbe14b154e13fa5cfb +Subproject commit 9f4c61a31435a7a90a314fc68aeb386c92a09c0f