From 7d511d4d42ad4cce298067c4134c9f11a71b607b Mon Sep 17 00:00:00 2001 From: KyleMayes Date: Fri, 25 Aug 2023 21:11:02 +0000 Subject: [PATCH] Update generated bindings --- CHANGELOG.md | 3 + Vulkan-Docs | 2 +- vulkanalia-sys/src/enums.rs | 88 +++++ vulkanalia-sys/src/extensions.rs | 70 +++- vulkanalia-sys/src/structs.rs | 184 ++++++++++ vulkanalia/src/vk/builders.rs | 568 +++++++++++++++++++++++++++++++ vulkanalia/src/vk/chains.rs | 169 +++++++++ vulkanalia/src/vk/extensions.rs | 36 ++ 8 files changed, 1116 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 404e1205..a94d1672 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ ## [0.22.0] - UNRELEASED +### Bindings Updates +- [August 25, 2023 Vulkan 1.3.262 spec update](https://github.com/KhronosGroup/Vulkan-Docs/commit/6952ad062f031e3fc99b53ef28e009cbeca64583) + ### Fixed - Fixed `push_next` not adding a chain of structs properly diff --git a/Vulkan-Docs b/Vulkan-Docs index 3607db47..e8ccb8ea 100644 --- a/Vulkan-Docs +++ b/Vulkan-Docs @@ -1,2 +1,2 @@ # https://github.com/KhronosGroup/Vulkan-Docs -b9aad705f0d9e5e6734ac2ad671d5d1de57b05e0 +6952ad062f031e3fc99b53ef28e009cbeca64583 diff --git a/vulkanalia-sys/src/enums.rs b/vulkanalia-sys/src/enums.rs index 4f1e5159..a4bf9685 100644 --- a/vulkanalia-sys/src/enums.rs +++ b/vulkanalia-sys/src/enums.rs @@ -488,6 +488,38 @@ impl fmt::Debug for BlendOverlapEXT { } } +/// +#[repr(transparent)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] +pub struct BlockMatchWindowCompareModeQCOM(i32); + +impl BlockMatchWindowCompareModeQCOM { + pub const MIN: Self = Self(0); + pub const MAX: Self = Self(1); + + /// Constructs an instance of this enum with the supplied underlying value. + #[inline] + pub const fn from_raw(value: i32) -> Self { + Self(value) + } + + /// Gets the underlying value for this enum instance. + #[inline] + pub const fn as_raw(self) -> i32 { + self.0 + } +} + +impl fmt::Debug for BlockMatchWindowCompareModeQCOM { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + match self.0 { + 0 => write!(f, "MIN"), + 1 => write!(f, "MAX"), + _ => self.0.fmt(f), + } + } +} + /// #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -1064,6 +1096,42 @@ impl fmt::Debug for CoverageReductionModeNV { } } +/// +#[repr(transparent)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] +pub struct CubicFilterWeightsQCOM(i32); + +impl CubicFilterWeightsQCOM { + pub const CATMULL_ROM: Self = Self(0); + pub const ZERO_TANGENT_CARDINAL: Self = Self(1); + pub const B_SPLINE: Self = Self(2); + pub const MITCHELL_NETRAVALI: Self = Self(3); + + /// Constructs an instance of this enum with the supplied underlying value. + #[inline] + pub const fn from_raw(value: i32) -> Self { + Self(value) + } + + /// Gets the underlying value for this enum instance. + #[inline] + pub const fn as_raw(self) -> i32 { + self.0 + } +} + +impl fmt::Debug for CubicFilterWeightsQCOM { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + match self.0 { + 0 => write!(f, "CATMULL_ROM"), + 1 => write!(f, "ZERO_TANGENT_CARDINAL"), + 2 => write!(f, "B_SPLINE"), + 3 => write!(f, "MITCHELL_NETRAVALI"), + _ => self.0.fmt(f), + } + } +} + /// #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -4525,6 +4593,7 @@ impl SamplerReductionMode { pub const WEIGHTED_AVERAGE: Self = Self(0); pub const MIN: Self = Self(1); pub const MAX: Self = Self(2); + pub const WEIGHTED_AVERAGE_RANGECLAMP_QCOM: Self = Self(1000521000); /// Constructs an instance of this enum with the supplied underlying value. #[inline] @@ -4545,6 +4614,7 @@ impl fmt::Debug for SamplerReductionMode { 0 => write!(f, "WEIGHTED_AVERAGE"), 1 => write!(f, "MIN"), 2 => write!(f, "MAX"), + 1000521000 => write!(f, "WEIGHTED_AVERAGE_RANGECLAMP_QCOM"), _ => self.0.fmt(f), } } @@ -5796,6 +5866,15 @@ impl StructureType { pub const PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM: Self = Self(1000510000); pub const MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM: Self = Self(1000510001); + pub const PHYSICAL_DEVICE_IMAGE_PROCESSING_2_FEATURES_QCOM: Self = Self(1000518000); + pub const PHYSICAL_DEVICE_IMAGE_PROCESSING_2_PROPERTIES_QCOM: Self = Self(1000518001); + pub const SAMPLER_BLOCK_MATCH_WINDOW_CREATE_INFO_QCOM: Self = Self(1000518002); + pub const SAMPLER_CUBIC_WEIGHTS_CREATE_INFO_QCOM: Self = Self(1000519000); + pub const PHYSICAL_DEVICE_CUBIC_WEIGHTS_FEATURES_QCOM: Self = Self(1000519001); + pub const BLIT_IMAGE_CUBIC_WEIGHTS_INFO_QCOM: Self = Self(1000519002); + pub const PHYSICAL_DEVICE_YCBCR_DEGAMMA_FEATURES_QCOM: Self = Self(1000520000); + pub const SAMPLER_YCBCR_CONVERSION_YCBCR_DEGAMMA_CREATE_INFO_QCOM: Self = Self(1000520001); + pub const PHYSICAL_DEVICE_CUBIC_CLAMP_FEATURES_QCOM: Self = Self(1000521000); pub const PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_FEATURES_EXT: Self = Self(1000524000); pub const SCREEN_BUFFER_PROPERTIES_QNX: Self = Self(1000529000); @@ -6728,6 +6807,15 @@ impl fmt::Debug for StructureType { f, "MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM" ), + 1000518000 => write!(f, "PHYSICAL_DEVICE_IMAGE_PROCESSING_2_FEATURES_QCOM"), + 1000518001 => write!(f, "PHYSICAL_DEVICE_IMAGE_PROCESSING_2_PROPERTIES_QCOM"), + 1000518002 => write!(f, "SAMPLER_BLOCK_MATCH_WINDOW_CREATE_INFO_QCOM"), + 1000519000 => write!(f, "SAMPLER_CUBIC_WEIGHTS_CREATE_INFO_QCOM"), + 1000519001 => write!(f, "PHYSICAL_DEVICE_CUBIC_WEIGHTS_FEATURES_QCOM"), + 1000519002 => write!(f, "BLIT_IMAGE_CUBIC_WEIGHTS_INFO_QCOM"), + 1000520000 => write!(f, "PHYSICAL_DEVICE_YCBCR_DEGAMMA_FEATURES_QCOM"), + 1000520001 => write!(f, "SAMPLER_YCBCR_CONVERSION_YCBCR_DEGAMMA_CREATE_INFO_QCOM"), + 1000521000 => write!(f, "PHYSICAL_DEVICE_CUBIC_CLAMP_FEATURES_QCOM"), 1000524000 => write!( f, "PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_FEATURES_EXT" diff --git a/vulkanalia-sys/src/extensions.rs b/vulkanalia-sys/src/extensions.rs index 110531d8..30256f99 100644 --- a/vulkanalia-sys/src/extensions.rs +++ b/vulkanalia-sys/src/extensions.rs @@ -471,7 +471,7 @@ pub const ARM_SHADER_CORE_BUILTINS_EXTENSION: Extension = Extension { number: 498, type_: "device", author: "ARM", - contact: "Kevin Petit @kevinpetit", + contact: "Kevin Petit @kpet", platform: None, required_extensions: None, required_version: None, @@ -2861,7 +2861,7 @@ pub const KHR_COOPERATIVE_MATRIX_EXTENSION: Extension = Extension { number: 507, type_: "device", author: "KHR", - contact: "Kevin Petit @kevinpetit", + contact: "Kevin Petit @kpet", platform: None, required_extensions: None, required_version: None, @@ -3925,7 +3925,7 @@ pub const KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION: Extension = Extension { number: 281, type_: "device", author: "KHR", - contact: "Kevin Petit @kevinpetit", + contact: "Kevin Petit @kpet", platform: None, required_extensions: None, required_version: None, @@ -5214,6 +5214,38 @@ pub const NV_WIN32_KEYED_MUTEX_EXTENSION: Extension = Extension { promoted_to: Some("VK_KHR_win32_keyed_mutex"), }; +/// +#[allow(deprecated)] +pub const QCOM_FILTER_CUBIC_CLAMP_EXTENSION: Extension = Extension { + name: ExtensionName::from_bytes(b"VK_QCOM_filter_cubic_clamp"), + number: 522, + type_: "device", + author: "QCOM", + contact: "Jeff Leger @jackohound", + platform: None, + required_extensions: None, + required_version: None, + deprecated_by: None, + obsoleted_by: None, + promoted_to: None, +}; + +/// +#[allow(deprecated)] +pub const QCOM_FILTER_CUBIC_WEIGHTS_EXTENSION: Extension = Extension { + name: ExtensionName::from_bytes(b"VK_QCOM_filter_cubic_weights"), + number: 520, + type_: "device", + author: "QCOM", + contact: "Jeff Leger @jackohound", + platform: None, + required_extensions: None, + required_version: None, + deprecated_by: None, + obsoleted_by: None, + promoted_to: None, +}; + /// #[allow(deprecated)] pub const QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION: Extension = Extension { @@ -5246,6 +5278,22 @@ pub const QCOM_IMAGE_PROCESSING_EXTENSION: Extension = Extension { promoted_to: None, }; +/// +#[allow(deprecated)] +pub const QCOM_IMAGE_PROCESSING2_EXTENSION: Extension = Extension { + name: ExtensionName::from_bytes(b"VK_QCOM_image_processing2"), + number: 519, + type_: "device", + author: "QCOM", + contact: "Jeff Leger @jackohound", + platform: None, + required_extensions: None, + required_version: None, + deprecated_by: None, + obsoleted_by: None, + promoted_to: None, +}; + /// #[allow(deprecated)] pub const QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_EXTENSION: Extension = Extension { @@ -5358,6 +5406,22 @@ pub const QCOM_TILE_PROPERTIES_EXTENSION: Extension = Extension { promoted_to: None, }; +/// +#[allow(deprecated)] +pub const QCOM_YCBCR_DEGAMMA_EXTENSION: Extension = Extension { + name: ExtensionName::from_bytes(b"VK_QCOM_ycbcr_degamma"), + number: 521, + type_: "device", + author: "QCOM", + contact: "Jeff Leger @jackohound", + platform: None, + required_extensions: None, + required_version: None, + deprecated_by: None, + obsoleted_by: None, + promoted_to: None, +}; + /// #[allow(deprecated)] pub const QNX_EXTERNAL_MEMORY_SCREEN_BUFFER_EXTENSION: Extension = Extension { diff --git a/vulkanalia-sys/src/structs.rs b/vulkanalia-sys/src/structs.rs index 6f49778b..1a070b14 100644 --- a/vulkanalia-sys/src/structs.rs +++ b/vulkanalia-sys/src/structs.rs @@ -1268,6 +1268,26 @@ pub struct BindVertexBufferIndirectCommandNV { pub stride: u32, } +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct BlitImageCubicWeightsInfoQCOM { + pub s_type: StructureType, + pub next: *const c_void, + pub cubic_weights: CubicFilterWeightsQCOM, +} + +impl Default for BlitImageCubicWeightsInfoQCOM { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::BLIT_IMAGE_CUBIC_WEIGHTS_INFO_QCOM, + next: ptr::null(), + cubic_weights: CubicFilterWeightsQCOM::default(), + } + } +} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -9679,6 +9699,46 @@ impl Default for PhysicalDeviceCoverageReductionModeFeaturesNV { } } +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct PhysicalDeviceCubicClampFeaturesQCOM { + pub s_type: StructureType, + pub next: *mut c_void, + pub cubic_range_clamp: Bool32, +} + +impl Default for PhysicalDeviceCubicClampFeaturesQCOM { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::PHYSICAL_DEVICE_CUBIC_CLAMP_FEATURES_QCOM, + next: ptr::null_mut(), + cubic_range_clamp: Bool32::default(), + } + } +} + +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct PhysicalDeviceCubicWeightsFeaturesQCOM { + pub s_type: StructureType, + pub next: *mut c_void, + pub selectable_cubic_weights: Bool32, +} + +impl Default for PhysicalDeviceCubicWeightsFeaturesQCOM { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::PHYSICAL_DEVICE_CUBIC_WEIGHTS_FEATURES_QCOM, + next: ptr::null_mut(), + selectable_cubic_weights: Bool32::default(), + } + } +} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -11579,6 +11639,46 @@ impl Default for PhysicalDeviceImageFormatInfo2 { } } +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct PhysicalDeviceImageProcessing2FeaturesQCOM { + pub s_type: StructureType, + pub next: *mut c_void, + pub texture_block_match2: Bool32, +} + +impl Default for PhysicalDeviceImageProcessing2FeaturesQCOM { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_2_FEATURES_QCOM, + next: ptr::null_mut(), + texture_block_match2: Bool32::default(), + } + } +} + +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct PhysicalDeviceImageProcessing2PropertiesQCOM { + pub s_type: StructureType, + pub next: *mut c_void, + pub max_block_match_window: Extent2D, +} + +impl Default for PhysicalDeviceImageProcessing2PropertiesQCOM { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_2_PROPERTIES_QCOM, + next: ptr::null_mut(), + max_block_match_window: Extent2D::default(), + } + } +} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -15633,6 +15733,26 @@ impl Default for PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT { } } +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct PhysicalDeviceYcbcrDegammaFeaturesQCOM { + pub s_type: StructureType, + pub next: *mut c_void, + pub ycbcr_degamma: Bool32, +} + +impl Default for PhysicalDeviceYcbcrDegammaFeaturesQCOM { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::PHYSICAL_DEVICE_YCBCR_DEGAMMA_FEATURES_QCOM, + next: ptr::null_mut(), + ycbcr_degamma: Bool32::default(), + } + } +} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -18118,6 +18238,28 @@ impl Default for SampleLocationsInfoEXT { } } +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct SamplerBlockMatchWindowCreateInfoQCOM { + pub s_type: StructureType, + pub next: *const c_void, + pub window_extent: Extent2D, + pub window_compare_mode: BlockMatchWindowCompareModeQCOM, +} + +impl Default for SamplerBlockMatchWindowCreateInfoQCOM { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::SAMPLER_BLOCK_MATCH_WINDOW_CREATE_INFO_QCOM, + next: ptr::null(), + window_extent: Extent2D::default(), + window_compare_mode: BlockMatchWindowCompareModeQCOM::default(), + } + } +} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -18210,6 +18352,26 @@ impl Default for SamplerCreateInfo { } } +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct SamplerCubicWeightsCreateInfoQCOM { + pub s_type: StructureType, + pub next: *const c_void, + pub cubic_weights: CubicFilterWeightsQCOM, +} + +impl Default for SamplerCubicWeightsCreateInfoQCOM { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::SAMPLER_CUBIC_WEIGHTS_CREATE_INFO_QCOM, + next: ptr::null(), + cubic_weights: CubicFilterWeightsQCOM::default(), + } + } +} + /// #[repr(C)] #[derive(Copy, Clone, Debug)] @@ -18326,6 +18488,28 @@ impl Default for SamplerYcbcrConversionInfo { } } +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM { + pub s_type: StructureType, + pub next: *mut c_void, + pub enable_y_degamma: Bool32, + pub enable_cb_cr_degamma: Bool32, +} + +impl Default for SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::SAMPLER_YCBCR_CONVERSION_YCBCR_DEGAMMA_CREATE_INFO_QCOM, + next: ptr::null_mut(), + enable_y_degamma: Bool32::default(), + enable_cb_cr_degamma: Bool32::default(), + } + } +} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] diff --git a/vulkanalia/src/vk/builders.rs b/vulkanalia/src/vk/builders.rs index 8c337d1a..1129bdec 100644 --- a/vulkanalia/src/vk/builders.rs +++ b/vulkanalia/src/vk/builders.rs @@ -4578,6 +4578,68 @@ unsafe impl Cast for BindVertexBufferIndirectCommandNVBuilder { } } +unsafe impl Cast for BlitImageCubicWeightsInfoQCOM { + type Target = BlitImageCubicWeightsInfoQCOM; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for BlitImageCubicWeightsInfoQCOM { + type Builder = BlitImageCubicWeightsInfoQCOMBuilder; +} + +/// A builder for a [`BlitImageCubicWeightsInfoQCOM`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct BlitImageCubicWeightsInfoQCOMBuilder { + value: BlitImageCubicWeightsInfoQCOM, +} + +impl BlitImageCubicWeightsInfoQCOMBuilder { + #[inline] + pub fn cubic_weights(mut self, cubic_weights: CubicFilterWeightsQCOM) -> Self { + self.value.cubic_weights = cubic_weights; + self + } + + #[inline] + pub fn build(self) -> BlitImageCubicWeightsInfoQCOM { + self.value + } +} + +impl ops::Deref for BlitImageCubicWeightsInfoQCOMBuilder { + type Target = BlitImageCubicWeightsInfoQCOM; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for BlitImageCubicWeightsInfoQCOMBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for BlitImageCubicWeightsInfoQCOMBuilder { + type Target = BlitImageCubicWeightsInfoQCOM; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + +/// A Vulkan struct that can be used to extend a [`BlitImageInfo2`]. +pub unsafe trait ExtendsBlitImageInfo2: fmt::Debug {} +unsafe impl ExtendsBlitImageInfo2 for BlitImageCubicWeightsInfoQCOM {} + unsafe impl Cast for BlitImageInfo2 { type Target = BlitImageInfo2; @@ -4600,6 +4662,15 @@ pub struct BlitImageInfo2Builder<'b> { } impl<'b> BlitImageInfo2Builder<'b> { + #[inline] + pub fn push_next(mut self, next: &'b mut impl Cast) -> Self + where + T: ExtendsBlitImageInfo2, + { + self.next = merge(self.next as *mut c_void, NonNull::from(next).cast()); + self + } + #[inline] pub fn src_image(mut self, src_image: Image) -> Self { self.value.src_image = src_image; @@ -12668,6 +12739,8 @@ unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceCooperativeMatrixFeaturesN unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceCopyMemoryIndirectFeaturesNV {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceCornerSampledImageFeaturesNV {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceCoverageReductionModeFeaturesNV {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceCubicClampFeaturesQCOM {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceCubicWeightsFeaturesQCOM {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceCustomBorderColorFeaturesEXT {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceDepthBiasControlFeaturesEXT {} @@ -12709,6 +12782,7 @@ unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceHostQueryResetFeatures {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceImage2DViewOf3DFeaturesEXT {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceImageCompressionControlFeaturesEXT {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceImageProcessing2FeaturesQCOM {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceImageProcessingFeaturesQCOM {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceImageRobustnessFeatures {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceImageSlicedViewOf3DFeaturesEXT {} @@ -12811,6 +12885,7 @@ unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceVulkan13Features {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceVulkanMemoryModelFeatures {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceYcbcrDegammaFeaturesQCOM {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceYcbcrImageArraysFeaturesEXT {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures {} @@ -32883,6 +32958,122 @@ unsafe impl Cast for PhysicalDeviceCoverageReductionModeFeaturesNVBuilder { } } +unsafe impl Cast for PhysicalDeviceCubicClampFeaturesQCOM { + type Target = PhysicalDeviceCubicClampFeaturesQCOM; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for PhysicalDeviceCubicClampFeaturesQCOM { + type Builder = PhysicalDeviceCubicClampFeaturesQCOMBuilder; +} + +/// A builder for a [`PhysicalDeviceCubicClampFeaturesQCOM`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct PhysicalDeviceCubicClampFeaturesQCOMBuilder { + value: PhysicalDeviceCubicClampFeaturesQCOM, +} + +impl PhysicalDeviceCubicClampFeaturesQCOMBuilder { + #[inline] + pub fn cubic_range_clamp(mut self, cubic_range_clamp: bool) -> Self { + self.value.cubic_range_clamp = cubic_range_clamp as Bool32; + self + } + + #[inline] + pub fn build(self) -> PhysicalDeviceCubicClampFeaturesQCOM { + self.value + } +} + +impl ops::Deref for PhysicalDeviceCubicClampFeaturesQCOMBuilder { + type Target = PhysicalDeviceCubicClampFeaturesQCOM; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for PhysicalDeviceCubicClampFeaturesQCOMBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for PhysicalDeviceCubicClampFeaturesQCOMBuilder { + type Target = PhysicalDeviceCubicClampFeaturesQCOM; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + +unsafe impl Cast for PhysicalDeviceCubicWeightsFeaturesQCOM { + type Target = PhysicalDeviceCubicWeightsFeaturesQCOM; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for PhysicalDeviceCubicWeightsFeaturesQCOM { + type Builder = PhysicalDeviceCubicWeightsFeaturesQCOMBuilder; +} + +/// A builder for a [`PhysicalDeviceCubicWeightsFeaturesQCOM`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct PhysicalDeviceCubicWeightsFeaturesQCOMBuilder { + value: PhysicalDeviceCubicWeightsFeaturesQCOM, +} + +impl PhysicalDeviceCubicWeightsFeaturesQCOMBuilder { + #[inline] + pub fn selectable_cubic_weights(mut self, selectable_cubic_weights: bool) -> Self { + self.value.selectable_cubic_weights = selectable_cubic_weights as Bool32; + self + } + + #[inline] + pub fn build(self) -> PhysicalDeviceCubicWeightsFeaturesQCOM { + self.value + } +} + +impl ops::Deref for PhysicalDeviceCubicWeightsFeaturesQCOMBuilder { + type Target = PhysicalDeviceCubicWeightsFeaturesQCOM; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for PhysicalDeviceCubicWeightsFeaturesQCOMBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for PhysicalDeviceCubicWeightsFeaturesQCOMBuilder { + type Target = PhysicalDeviceCubicWeightsFeaturesQCOM; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for PhysicalDeviceCustomBorderColorFeaturesEXT { type Target = PhysicalDeviceCustomBorderColorFeaturesEXT; @@ -37171,6 +37362,8 @@ unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceCooperativeMatrixFe unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceCopyMemoryIndirectFeaturesNV {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceCornerSampledImageFeaturesNV {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceCoverageReductionModeFeaturesNV {} +unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceCubicClampFeaturesQCOM {} +unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceCubicWeightsFeaturesQCOM {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceCustomBorderColorFeaturesEXT {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV @@ -37223,6 +37416,7 @@ unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT { } +unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceImageProcessing2FeaturesQCOM {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceImageProcessingFeaturesQCOM {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceImageRobustnessFeatures {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceImageSlicedViewOf3DFeaturesEXT {} @@ -37352,6 +37546,7 @@ unsafe impl ExtendsPhysicalDeviceFeatures2 { } unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {} +unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceYcbcrDegammaFeaturesQCOM {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceYcbcrImageArraysFeaturesEXT {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures {} @@ -39651,6 +39846,125 @@ unsafe impl<'b> Cast for PhysicalDeviceImageFormatInfo2Builder<'b> { } } +unsafe impl Cast for PhysicalDeviceImageProcessing2FeaturesQCOM { + type Target = PhysicalDeviceImageProcessing2FeaturesQCOM; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for PhysicalDeviceImageProcessing2FeaturesQCOM { + type Builder = PhysicalDeviceImageProcessing2FeaturesQCOMBuilder; +} + +/// A builder for a [`PhysicalDeviceImageProcessing2FeaturesQCOM`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct PhysicalDeviceImageProcessing2FeaturesQCOMBuilder { + value: PhysicalDeviceImageProcessing2FeaturesQCOM, +} + +impl PhysicalDeviceImageProcessing2FeaturesQCOMBuilder { + #[inline] + pub fn texture_block_match2(mut self, texture_block_match2: bool) -> Self { + self.value.texture_block_match2 = texture_block_match2 as Bool32; + self + } + + #[inline] + pub fn build(self) -> PhysicalDeviceImageProcessing2FeaturesQCOM { + self.value + } +} + +impl ops::Deref for PhysicalDeviceImageProcessing2FeaturesQCOMBuilder { + type Target = PhysicalDeviceImageProcessing2FeaturesQCOM; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for PhysicalDeviceImageProcessing2FeaturesQCOMBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for PhysicalDeviceImageProcessing2FeaturesQCOMBuilder { + type Target = PhysicalDeviceImageProcessing2FeaturesQCOM; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + +unsafe impl Cast for PhysicalDeviceImageProcessing2PropertiesQCOM { + type Target = PhysicalDeviceImageProcessing2PropertiesQCOM; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for PhysicalDeviceImageProcessing2PropertiesQCOM { + type Builder = PhysicalDeviceImageProcessing2PropertiesQCOMBuilder; +} + +/// A builder for a [`PhysicalDeviceImageProcessing2PropertiesQCOM`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct PhysicalDeviceImageProcessing2PropertiesQCOMBuilder { + value: PhysicalDeviceImageProcessing2PropertiesQCOM, +} + +impl PhysicalDeviceImageProcessing2PropertiesQCOMBuilder { + #[inline] + pub fn max_block_match_window( + mut self, + max_block_match_window: impl Cast, + ) -> Self { + self.value.max_block_match_window = max_block_match_window.into(); + self + } + + #[inline] + pub fn build(self) -> PhysicalDeviceImageProcessing2PropertiesQCOM { + self.value + } +} + +impl ops::Deref for PhysicalDeviceImageProcessing2PropertiesQCOMBuilder { + type Target = PhysicalDeviceImageProcessing2PropertiesQCOM; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for PhysicalDeviceImageProcessing2PropertiesQCOMBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for PhysicalDeviceImageProcessing2PropertiesQCOMBuilder { + type Target = PhysicalDeviceImageProcessing2PropertiesQCOM; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for PhysicalDeviceImageProcessingFeaturesQCOM { type Target = PhysicalDeviceImageProcessingFeaturesQCOM; @@ -45287,6 +45601,7 @@ unsafe impl ExtendsPhysicalDeviceProperties2 } unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceHostImageCopyPropertiesEXT {} unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceIDProperties {} +unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceImageProcessing2PropertiesQCOM {} unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceImageProcessingPropertiesQCOM {} unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceInlineUniformBlockProperties {} unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceLineRasterizationPropertiesEXT {} @@ -53702,6 +54017,64 @@ unsafe impl Cast for PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXTBuilder { } } +unsafe impl Cast for PhysicalDeviceYcbcrDegammaFeaturesQCOM { + type Target = PhysicalDeviceYcbcrDegammaFeaturesQCOM; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for PhysicalDeviceYcbcrDegammaFeaturesQCOM { + type Builder = PhysicalDeviceYcbcrDegammaFeaturesQCOMBuilder; +} + +/// A builder for a [`PhysicalDeviceYcbcrDegammaFeaturesQCOM`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct PhysicalDeviceYcbcrDegammaFeaturesQCOMBuilder { + value: PhysicalDeviceYcbcrDegammaFeaturesQCOM, +} + +impl PhysicalDeviceYcbcrDegammaFeaturesQCOMBuilder { + #[inline] + pub fn ycbcr_degamma(mut self, ycbcr_degamma: bool) -> Self { + self.value.ycbcr_degamma = ycbcr_degamma as Bool32; + self + } + + #[inline] + pub fn build(self) -> PhysicalDeviceYcbcrDegammaFeaturesQCOM { + self.value + } +} + +impl ops::Deref for PhysicalDeviceYcbcrDegammaFeaturesQCOMBuilder { + type Target = PhysicalDeviceYcbcrDegammaFeaturesQCOM; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for PhysicalDeviceYcbcrDegammaFeaturesQCOMBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for PhysicalDeviceYcbcrDegammaFeaturesQCOMBuilder { + type Target = PhysicalDeviceYcbcrDegammaFeaturesQCOM; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for PhysicalDeviceYcbcrImageArraysFeaturesEXT { type Target = PhysicalDeviceYcbcrImageArraysFeaturesEXT; @@ -61972,6 +62345,73 @@ unsafe impl<'b> Cast for SampleLocationsInfoEXTBuilder<'b> { } } +unsafe impl Cast for SamplerBlockMatchWindowCreateInfoQCOM { + type Target = SamplerBlockMatchWindowCreateInfoQCOM; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for SamplerBlockMatchWindowCreateInfoQCOM { + type Builder = SamplerBlockMatchWindowCreateInfoQCOMBuilder; +} + +/// A builder for a [`SamplerBlockMatchWindowCreateInfoQCOM`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct SamplerBlockMatchWindowCreateInfoQCOMBuilder { + value: SamplerBlockMatchWindowCreateInfoQCOM, +} + +impl SamplerBlockMatchWindowCreateInfoQCOMBuilder { + #[inline] + pub fn window_extent(mut self, window_extent: impl Cast) -> Self { + self.value.window_extent = window_extent.into(); + self + } + + #[inline] + pub fn window_compare_mode( + mut self, + window_compare_mode: BlockMatchWindowCompareModeQCOM, + ) -> Self { + self.value.window_compare_mode = window_compare_mode; + self + } + + #[inline] + pub fn build(self) -> SamplerBlockMatchWindowCreateInfoQCOM { + self.value + } +} + +impl ops::Deref for SamplerBlockMatchWindowCreateInfoQCOMBuilder { + type Target = SamplerBlockMatchWindowCreateInfoQCOM; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for SamplerBlockMatchWindowCreateInfoQCOMBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for SamplerBlockMatchWindowCreateInfoQCOMBuilder { + type Target = SamplerBlockMatchWindowCreateInfoQCOM; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for SamplerBorderColorComponentMappingCreateInfoEXT { type Target = SamplerBorderColorComponentMappingCreateInfoEXT; @@ -62097,7 +62537,9 @@ unsafe impl Cast for SamplerCaptureDescriptorDataInfoEXTBuilder { /// A Vulkan struct that can be used to extend a [`SamplerCreateInfo`]. pub unsafe trait ExtendsSamplerCreateInfo: fmt::Debug {} unsafe impl ExtendsSamplerCreateInfo for OpaqueCaptureDescriptorDataCreateInfoEXT {} +unsafe impl ExtendsSamplerCreateInfo for SamplerBlockMatchWindowCreateInfoQCOM {} unsafe impl ExtendsSamplerCreateInfo for SamplerBorderColorComponentMappingCreateInfoEXT {} +unsafe impl ExtendsSamplerCreateInfo for SamplerCubicWeightsCreateInfoQCOM {} unsafe impl ExtendsSamplerCreateInfo for SamplerCustomBorderColorCreateInfoEXT {} unsafe impl ExtendsSamplerCreateInfo for SamplerReductionModeCreateInfo {} unsafe impl ExtendsSamplerCreateInfo for SamplerYcbcrConversionInfo {} @@ -62260,6 +62702,64 @@ unsafe impl<'b> Cast for SamplerCreateInfoBuilder<'b> { } } +unsafe impl Cast for SamplerCubicWeightsCreateInfoQCOM { + type Target = SamplerCubicWeightsCreateInfoQCOM; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for SamplerCubicWeightsCreateInfoQCOM { + type Builder = SamplerCubicWeightsCreateInfoQCOMBuilder; +} + +/// A builder for a [`SamplerCubicWeightsCreateInfoQCOM`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct SamplerCubicWeightsCreateInfoQCOMBuilder { + value: SamplerCubicWeightsCreateInfoQCOM, +} + +impl SamplerCubicWeightsCreateInfoQCOMBuilder { + #[inline] + pub fn cubic_weights(mut self, cubic_weights: CubicFilterWeightsQCOM) -> Self { + self.value.cubic_weights = cubic_weights; + self + } + + #[inline] + pub fn build(self) -> SamplerCubicWeightsCreateInfoQCOM { + self.value + } +} + +impl ops::Deref for SamplerCubicWeightsCreateInfoQCOMBuilder { + type Target = SamplerCubicWeightsCreateInfoQCOM; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for SamplerCubicWeightsCreateInfoQCOMBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for SamplerCubicWeightsCreateInfoQCOMBuilder { + type Target = SamplerCubicWeightsCreateInfoQCOM; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for SamplerCustomBorderColorCreateInfoEXT { type Target = SamplerCustomBorderColorCreateInfoEXT; @@ -62386,6 +62886,10 @@ unsafe impl Cast for SamplerReductionModeCreateInfoBuilder { pub unsafe trait ExtendsSamplerYcbcrConversionCreateInfo: fmt::Debug {} unsafe impl ExtendsSamplerYcbcrConversionCreateInfo for ExternalFormatANDROID {} unsafe impl ExtendsSamplerYcbcrConversionCreateInfo for ExternalFormatQNX {} +unsafe impl ExtendsSamplerYcbcrConversionCreateInfo + for SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM +{ +} unsafe impl Cast for SamplerYcbcrConversionCreateInfo { type Target = SamplerYcbcrConversionCreateInfo; @@ -62617,6 +63121,70 @@ unsafe impl Cast for SamplerYcbcrConversionInfoBuilder { } } +unsafe impl Cast for SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM { + type Target = SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM { + type Builder = SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOMBuilder; +} + +/// A builder for a [`SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOMBuilder { + value: SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM, +} + +impl SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOMBuilder { + #[inline] + pub fn enable_y_degamma(mut self, enable_y_degamma: bool) -> Self { + self.value.enable_y_degamma = enable_y_degamma as Bool32; + self + } + + #[inline] + pub fn enable_cb_cr_degamma(mut self, enable_cb_cr_degamma: bool) -> Self { + self.value.enable_cb_cr_degamma = enable_cb_cr_degamma as Bool32; + self + } + + #[inline] + pub fn build(self) -> SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM { + self.value + } +} + +impl ops::Deref for SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOMBuilder { + type Target = SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOMBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOMBuilder { + type Target = SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for SciSyncAttributesInfoNV { type Target = SciSyncAttributesInfoNV; diff --git a/vulkanalia/src/vk/chains.rs b/vulkanalia/src/vk/chains.rs index a3c9b08b..8a5be648 100644 --- a/vulkanalia/src/vk/chains.rs +++ b/vulkanalia/src/vk/chains.rs @@ -659,6 +659,20 @@ unsafe impl InputChainStruct for BindSparseInfo { } } +unsafe impl InputChainStruct for BlitImageCubicWeightsInfoQCOM { + const TYPE: StructureType = StructureType::BLIT_IMAGE_CUBIC_WEIGHTS_INFO_QCOM; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + unsafe impl InputChainStruct for BlitImageInfo2 { const TYPE: StructureType = StructureType::BLIT_IMAGE_INFO_2; @@ -5764,6 +5778,48 @@ unsafe impl OutputChainStruct for PhysicalDeviceCoverageReductionModeFeaturesNV } } +unsafe impl InputChainStruct for PhysicalDeviceCubicClampFeaturesQCOM { + const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_CUBIC_CLAMP_FEATURES_QCOM; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for PhysicalDeviceCubicClampFeaturesQCOM { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + +unsafe impl InputChainStruct for PhysicalDeviceCubicWeightsFeaturesQCOM { + const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_CUBIC_WEIGHTS_FEATURES_QCOM; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for PhysicalDeviceCubicWeightsFeaturesQCOM { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + unsafe impl InputChainStruct for PhysicalDeviceCustomBorderColorFeaturesEXT { const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT; @@ -7236,6 +7292,48 @@ unsafe impl InputChainStruct for PhysicalDeviceImageFormatInfo2 { } } +unsafe impl InputChainStruct for PhysicalDeviceImageProcessing2FeaturesQCOM { + const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_2_FEATURES_QCOM; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for PhysicalDeviceImageProcessing2FeaturesQCOM { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + +unsafe impl InputChainStruct for PhysicalDeviceImageProcessing2PropertiesQCOM { + const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_2_PROPERTIES_QCOM; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for PhysicalDeviceImageProcessing2PropertiesQCOM { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + unsafe impl InputChainStruct for PhysicalDeviceImageProcessingFeaturesQCOM { const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM; @@ -10512,6 +10610,27 @@ unsafe impl OutputChainStruct for PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT } } +unsafe impl InputChainStruct for PhysicalDeviceYcbcrDegammaFeaturesQCOM { + const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_YCBCR_DEGAMMA_FEATURES_QCOM; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for PhysicalDeviceYcbcrDegammaFeaturesQCOM { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + unsafe impl InputChainStruct for PhysicalDeviceYcbcrImageArraysFeaturesEXT { const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT; @@ -11938,6 +12057,20 @@ unsafe impl InputChainStruct for SampleLocationsInfoEXT { } } +unsafe impl InputChainStruct for SamplerBlockMatchWindowCreateInfoQCOM { + const TYPE: StructureType = StructureType::SAMPLER_BLOCK_MATCH_WINDOW_CREATE_INFO_QCOM; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + unsafe impl InputChainStruct for SamplerBorderColorComponentMappingCreateInfoEXT { const TYPE: StructureType = StructureType::SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT; @@ -11981,6 +12114,20 @@ unsafe impl InputChainStruct for SamplerCreateInfo { } } +unsafe impl InputChainStruct for SamplerCubicWeightsCreateInfoQCOM { + const TYPE: StructureType = StructureType::SAMPLER_CUBIC_WEIGHTS_CREATE_INFO_QCOM; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + unsafe impl InputChainStruct for SamplerCustomBorderColorCreateInfoEXT { const TYPE: StructureType = StructureType::SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT; @@ -12058,6 +12205,28 @@ unsafe impl InputChainStruct for SamplerYcbcrConversionInfo { } } +unsafe impl InputChainStruct for SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM { + const TYPE: StructureType = + StructureType::SAMPLER_YCBCR_CONVERSION_YCBCR_DEGAMMA_CREATE_INFO_QCOM; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + unsafe impl InputChainStruct for SciSyncAttributesInfoNV { const TYPE: StructureType = StructureType::SCI_SYNC_ATTRIBUTES_INFO_NV; diff --git a/vulkanalia/src/vk/extensions.rs b/vulkanalia/src/vk/extensions.rs index f2aa9e0b..c63d020a 100644 --- a/vulkanalia/src/vk/extensions.rs +++ b/vulkanalia/src/vk/extensions.rs @@ -11951,6 +11951,24 @@ pub trait NvWin32KeyedMutexExtension: DeviceV1_0 { impl NvWin32KeyedMutexExtension for crate::Device {} +/// +pub trait QcomFilterCubicClampExtension: DeviceV1_0 { + /// The metadata for this extension. + #[allow(deprecated)] + const METADATA: Extension = QCOM_FILTER_CUBIC_CLAMP_EXTENSION; +} + +impl QcomFilterCubicClampExtension for crate::Device {} + +/// +pub trait QcomFilterCubicWeightsExtension: DeviceV1_0 { + /// The metadata for this extension. + #[allow(deprecated)] + const METADATA: Extension = QCOM_FILTER_CUBIC_WEIGHTS_EXTENSION; +} + +impl QcomFilterCubicWeightsExtension for crate::Device {} + /// pub trait QcomFragmentDensityMapOffsetExtension: DeviceV1_0 { /// The metadata for this extension. @@ -11969,6 +11987,15 @@ pub trait QcomImageProcessingExtension: DeviceV1_0 { impl QcomImageProcessingExtension for crate::Device {} +/// +pub trait QcomImageProcessing2Extension: DeviceV1_0 { + /// The metadata for this extension. + #[allow(deprecated)] + const METADATA: Extension = QCOM_IMAGE_PROCESSING2_EXTENSION; +} + +impl QcomImageProcessing2Extension for crate::Device {} + /// pub trait QcomMultiviewPerViewRenderAreasExtension: DeviceV1_0 { /// The metadata for this extension. @@ -12087,6 +12114,15 @@ pub trait QcomTilePropertiesExtension: DeviceV1_0 { impl QcomTilePropertiesExtension for crate::Device {} +/// +pub trait QcomYcbcrDegammaExtension: DeviceV1_0 { + /// The metadata for this extension. + #[allow(deprecated)] + const METADATA: Extension = QCOM_YCBCR_DEGAMMA_EXTENSION; +} + +impl QcomYcbcrDegammaExtension for crate::Device {} + /// pub trait QnxExternalMemoryScreenBufferExtension: DeviceV1_0 { /// The metadata for this extension.