diff --git a/CHANGELOG.md b/CHANGELOG.md index 404e1205..29ee0a7e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ ## [0.22.0] - UNRELEASED +### Bindings Updates +- [August 25, 2023 Vulkan 1.3.262 spec update](https://github.com/KhronosGroup/Vulkan-Docs/commit/6952ad062f031e3fc99b53ef28e009cbeca64583) +- [September 2, 2023 Vulkan 1.3.263 spec update](https://github.com/KhronosGroup/Vulkan-Docs/commit/4e32929f96e5af77fe5202b959f18c4ad7a06bbc) +- [Merge branch 'layered-driver-proposal' of github.com:jenatali/Vulkan-Docs into jenatali-layered-driver-proposal](https://github.com/KhronosGroup/Vulkan-Docs/commit/11c3bfcc46b856e66a32215ebc475516225cf01b) +- [September 8, 2023 Vulkan 1.3.264 spec update](https://github.com/KhronosGroup/Vulkan-Docs/commit/3d25cd996b16ae0781e15735df5762efa9f71010) + ### Fixed - Fixed `push_next` not adding a chain of structs properly diff --git a/Vulkan-Docs b/Vulkan-Docs index 3607db47..da469179 100644 --- a/Vulkan-Docs +++ b/Vulkan-Docs @@ -1,2 +1,2 @@ # https://github.com/KhronosGroup/Vulkan-Docs -b9aad705f0d9e5e6734ac2ad671d5d1de57b05e0 +3d25cd996b16ae0781e15735df5762efa9f71010 diff --git a/vulkanalia-sys/src/bitmasks.rs b/vulkanalia-sys/src/bitmasks.rs index fd5143bc..f4007d06 100644 --- a/vulkanalia-sys/src/bitmasks.rs +++ b/vulkanalia-sys/src/bitmasks.rs @@ -442,6 +442,8 @@ bitflags! { const FREE_DESCRIPTOR_SET = 1; const UPDATE_AFTER_BIND = 1 << 1; const HOST_ONLY_EXT = 1 << 2; + const ALLOW_OVERALLOCATION_SETS_NV = 1 << 3; + const ALLOW_OVERALLOCATION_POOLS_NV = 1 << 4; } } @@ -798,6 +800,15 @@ bitflags! { } } +bitflags! { + /// + #[repr(transparent)] + #[derive(Default)] + pub struct FrameBoundaryFlagsEXT: Flags { + const FRAME_END = 1; + } +} + bitflags! { /// #[repr(transparent)] diff --git a/vulkanalia-sys/src/enums.rs b/vulkanalia-sys/src/enums.rs index 4f1e5159..9fd6346d 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)] @@ -2966,6 +3034,38 @@ impl fmt::Debug for InternalAllocationType { } } +/// +#[repr(transparent)] +#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] +pub struct LayeredDriverUnderlyingApiMSFT(i32); + +impl LayeredDriverUnderlyingApiMSFT { + pub const NONE: Self = Self(0); + pub const D3D12: 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 LayeredDriverUnderlyingApiMSFT { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + match self.0 { + 0 => write!(f, "NONE"), + 1 => write!(f, "D3D12"), + _ => self.0.fmt(f), + } + } +} + /// #[repr(transparent)] #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] @@ -4525,6 +4625,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 +4646,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), } } @@ -5279,7 +5381,7 @@ impl StructureType { pub const MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX: Self = Self(1000044009); pub const STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP: Self = Self(1000049000); pub const PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV: Self = Self(1000050000); - pub const PRIVATE_VENDOR_INFO_RESERVED_OFFSET_0_NV: Self = Self(1000051000); + pub const PRIVATE_VENDOR_INFO_PLACEHOLDER_OFFSET_0_NV: Self = Self(1000051000); pub const EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV: Self = Self(1000056000); pub const EXPORT_MEMORY_ALLOCATE_INFO_NV: Self = Self(1000056001); pub const IMPORT_MEMORY_WIN32_HANDLE_INFO_NV: Self = Self(1000057000); @@ -5675,6 +5777,8 @@ impl StructureType { pub const MEMORY_GET_SCI_BUF_INFO_NV: Self = Self(1000374002); pub const MEMORY_SCI_BUF_PROPERTIES_NV: Self = Self(1000374003); pub const PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCI_BUF_FEATURES_NV: Self = Self(1000374004); + pub const PHYSICAL_DEVICE_FRAME_BOUNDARY_FEATURES_EXT: Self = Self(1000375000); + pub const FRAME_BOUNDARY_EXT: Self = Self(1000375001); pub const PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT: Self = Self(1000376000); pub const SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT: Self = Self(1000376001); @@ -5796,6 +5900,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); @@ -5803,6 +5916,8 @@ impl StructureType { pub const IMPORT_SCREEN_BUFFER_INFO_QNX: Self = Self(1000529002); pub const EXTERNAL_FORMAT_QNX: Self = Self(1000529003); pub const PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCREEN_BUFFER_FEATURES_QNX: Self = Self(1000529004); + pub const PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT: Self = Self(1000530000); + pub const PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV: Self = Self(1000546000); /// Constructs an instance of this enum with the supplied underlying value. #[inline] @@ -6087,7 +6202,7 @@ impl fmt::Debug for StructureType { 1000044009 => write!(f, "MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX"), 1000049000 => write!(f, "STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP"), 1000050000 => write!(f, "PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV"), - 1000051000 => write!(f, "PRIVATE_VENDOR_INFO_RESERVED_OFFSET_0_NV"), + 1000051000 => write!(f, "PRIVATE_VENDOR_INFO_PLACEHOLDER_OFFSET_0_NV"), 1000056000 => write!(f, "EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV"), 1000056001 => write!(f, "EXPORT_MEMORY_ALLOCATE_INFO_NV"), 1000057000 => write!(f, "IMPORT_MEMORY_WIN32_HANDLE_INFO_NV"), @@ -6559,6 +6674,8 @@ impl fmt::Debug for StructureType { 1000374002 => write!(f, "MEMORY_GET_SCI_BUF_INFO_NV"), 1000374003 => write!(f, "MEMORY_SCI_BUF_PROPERTIES_NV"), 1000374004 => write!(f, "PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCI_BUF_FEATURES_NV"), + 1000375000 => write!(f, "PHYSICAL_DEVICE_FRAME_BOUNDARY_FEATURES_EXT"), + 1000375001 => write!(f, "FRAME_BOUNDARY_EXT"), 1000376000 => write!( f, "PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT" @@ -6728,6 +6845,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" @@ -6740,6 +6866,11 @@ impl fmt::Debug for StructureType { f, "PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCREEN_BUFFER_FEATURES_QNX" ), + 1000530000 => write!(f, "PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT"), + 1000546000 => write!( + f, + "PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV" + ), _ => self.0.fmt(f), } } diff --git a/vulkanalia-sys/src/extensions.rs b/vulkanalia-sys/src/extensions.rs index 110531d8..26442d29 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, @@ -1202,6 +1202,22 @@ pub const EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION: Extension = Extension { promoted_to: None, }; +/// +#[allow(deprecated)] +pub const EXT_FRAME_BOUNDARY_EXTENSION: Extension = Extension { + name: ExtensionName::from_bytes(b"VK_EXT_frame_boundary"), + number: 376, + type_: "device", + author: "EXT", + contact: "James Fitzpatrick @jamesfitzpatrick", + platform: None, + required_extensions: None, + required_version: None, + deprecated_by: None, + obsoleted_by: None, + promoted_to: None, +}; + /// #[allow(deprecated)] pub const EXT_FULL_SCREEN_EXCLUSIVE_EXTENSION: Extension = Extension { @@ -2861,7 +2877,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 +3941,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, @@ -4318,6 +4334,22 @@ pub const LUNARG_DIRECT_DRIVER_LOADING_EXTENSION: Extension = Extension { promoted_to: None, }; +/// +#[allow(deprecated)] +pub const MSFT_LAYERED_DRIVER_EXTENSION: Extension = Extension { + name: ExtensionName::from_bytes(b"VK_MSFT_layered_driver"), + number: 531, + type_: "device", + author: "MSFT", + contact: "Jesse Natalie @jenatali", + platform: None, + required_extensions: None, + required_version: None, + deprecated_by: None, + obsoleted_by: None, + promoted_to: None, +}; + /// #[deprecated(note = "deprecated in favor of `VK_EXT_metal_surface`")] #[allow(deprecated)] @@ -4561,6 +4593,22 @@ pub const NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION: Extension = Extensio promoted_to: None, }; +/// +#[allow(deprecated)] +pub const NV_DESCRIPTOR_POOL_OVERALLOCATION_EXTENSION: Extension = Extension { + name: ExtensionName::from_bytes(b"VK_NV_descriptor_pool_overallocation"), + number: 547, + type_: "device", + author: "NV", + contact: "Piers Daniell @pdaniell-nv", + platform: None, + required_extensions: None, + required_version: None, + deprecated_by: None, + obsoleted_by: None, + promoted_to: None, +}; + /// #[allow(deprecated)] pub const NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION: Extension = Extension { @@ -5214,6 +5262,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 +5326,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 +5454,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..35ec7efd 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)] @@ -5750,6 +5770,42 @@ impl Default for FragmentShadingRateAttachmentInfoKHR { } } +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct FrameBoundaryEXT { + pub s_type: StructureType, + pub next: *const c_void, + pub flags: FrameBoundaryFlagsEXT, + pub frame_id: u64, + pub image_count: u32, + pub images: *const Image, + pub buffer_count: u32, + pub buffers: *const Buffer, + pub tag_name: u64, + pub tag_size: usize, + pub tag: *const c_void, +} + +impl Default for FrameBoundaryEXT { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::FRAME_BOUNDARY_EXT, + next: ptr::null(), + flags: FrameBoundaryFlagsEXT::default(), + frame_id: u64::default(), + image_count: u32::default(), + images: ptr::null(), + buffer_count: u32::default(), + buffers: ptr::null(), + tag_name: u64::default(), + tag_size: usize::default(), + tag: ptr::null(), + } + } +} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -9679,6 +9735,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)] @@ -10105,6 +10201,26 @@ impl Default for PhysicalDeviceDescriptorIndexingProperties { } } +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct PhysicalDeviceDescriptorPoolOverallocationFeaturesNV { + pub s_type: StructureType, + pub next: *mut c_void, + pub descriptor_pool_overallocation: Bool32, +} + +impl Default for PhysicalDeviceDescriptorPoolOverallocationFeaturesNV { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV, + next: ptr::null_mut(), + descriptor_pool_overallocation: Bool32::default(), + } + } +} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -11279,6 +11395,26 @@ impl Default for PhysicalDeviceFragmentShadingRatePropertiesKHR { } } +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct PhysicalDeviceFrameBoundaryFeaturesEXT { + pub s_type: StructureType, + pub next: *mut c_void, + pub frame_boundary: Bool32, +} + +impl Default for PhysicalDeviceFrameBoundaryFeaturesEXT { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::PHYSICAL_DEVICE_FRAME_BOUNDARY_FEATURES_EXT, + next: ptr::null_mut(), + frame_boundary: Bool32::default(), + } + } +} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -11579,6 +11715,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)] @@ -11839,6 +12015,26 @@ impl Default for PhysicalDeviceInvocationMaskFeaturesHUAWEI { } } +/// +#[repr(C)] +#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] +pub struct PhysicalDeviceLayeredDriverPropertiesMSFT { + pub s_type: StructureType, + pub next: *mut c_void, + pub underlying_api: LayeredDriverUnderlyingApiMSFT, +} + +impl Default for PhysicalDeviceLayeredDriverPropertiesMSFT { + #[inline] + fn default() -> Self { + Self { + s_type: StructureType::PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT, + next: ptr::null_mut(), + underlying_api: LayeredDriverUnderlyingApiMSFT::default(), + } + } +} + /// #[repr(C)] #[derive(Copy, Clone, Debug, Eq, Hash, PartialEq)] @@ -15633,6 +15829,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 +18334,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 +18448,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 +18584,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..f991b00c 100644 --- a/vulkanalia/src/vk/builders.rs +++ b/vulkanalia/src/vk/builders.rs @@ -4400,6 +4400,7 @@ unsafe impl Cast for BindShaderGroupIndirectCommandNVBuilder { /// A Vulkan struct that can be used to extend a [`BindSparseInfo`]. pub unsafe trait ExtendsBindSparseInfo: fmt::Debug {} unsafe impl ExtendsBindSparseInfo for DeviceGroupBindSparseInfo {} +unsafe impl ExtendsBindSparseInfo for FrameBoundaryEXT {} unsafe impl ExtendsBindSparseInfo for TimelineSemaphoreSubmitInfo {} unsafe impl Cast for BindSparseInfo { @@ -4578,6 +4579,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 +4663,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 +12740,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 {} @@ -12676,6 +12750,7 @@ unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceDepthClipControlFeaturesEX unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceDepthClipEnableFeaturesEXT {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceDescriptorBufferFeaturesEXT {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceDescriptorIndexingFeatures {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceDescriptorPoolOverallocationFeaturesNV {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceDeviceGeneratedCommandsFeaturesNV {} @@ -12702,6 +12777,7 @@ unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceFragmentShaderBarycentricF unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceFragmentShaderInterlockFeaturesEXT {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceFragmentShadingRateEnumsFeaturesNV {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceFragmentShadingRateFeaturesKHR {} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceFrameBoundaryFeaturesEXT {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceGlobalPriorityQueryFeaturesKHR {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {} unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceHostImageCopyFeaturesEXT {} @@ -12709,6 +12785,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 +12888,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 {} @@ -19916,6 +19994,115 @@ unsafe impl<'b> Cast for FragmentShadingRateAttachmentInfoKHRBuilder<'b> { } } +unsafe impl Cast for FrameBoundaryEXT { + type Target = FrameBoundaryEXT; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl<'b> HasBuilder<'b> for FrameBoundaryEXT { + type Builder = FrameBoundaryEXTBuilder<'b>; +} + +/// A builder for a [`FrameBoundaryEXT`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct FrameBoundaryEXTBuilder<'b> { + value: FrameBoundaryEXT, + _marker: PhantomData<&'b ()>, +} + +impl<'b> FrameBoundaryEXTBuilder<'b> { + #[inline] + pub fn flags(mut self, flags: FrameBoundaryFlagsEXT) -> Self { + self.value.flags = flags; + self + } + + #[inline] + pub fn frame_id(mut self, frame_id: u64) -> Self { + self.value.frame_id = frame_id; + self + } + + #[inline] + pub fn image_count(mut self, image_count: u32) -> Self { + self.value.image_count = image_count; + self + } + + #[inline] + pub fn images(mut self, images: &'b [Image]) -> Self { + self.value.image_count = images.len() as u32; + self.value.images = images.as_ptr(); + self + } + + #[inline] + pub fn buffer_count(mut self, buffer_count: u32) -> Self { + self.value.buffer_count = buffer_count; + self + } + + #[inline] + pub fn buffers(mut self, buffers: &'b [Buffer]) -> Self { + self.value.buffer_count = buffers.len() as u32; + self.value.buffers = buffers.as_ptr(); + self + } + + #[inline] + pub fn tag_name(mut self, tag_name: u64) -> Self { + self.value.tag_name = tag_name; + self + } + + #[inline] + pub fn tag_size(mut self, tag_size: usize) -> Self { + self.value.tag_size = tag_size; + self + } + + #[inline] + pub fn tag(mut self, tag: &'b T) -> Self { + self.value.tag = (tag as *const T).cast(); + self + } + + #[inline] + pub fn build(self) -> FrameBoundaryEXT { + self.value + } +} + +impl<'b> ops::Deref for FrameBoundaryEXTBuilder<'b> { + type Target = FrameBoundaryEXT; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl<'b> ops::DerefMut for FrameBoundaryEXTBuilder<'b> { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl<'b> Cast for FrameBoundaryEXTBuilder<'b> { + type Target = FrameBoundaryEXT; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for FramebufferAttachmentImageInfo { type Target = FramebufferAttachmentImageInfo; @@ -32883,6 +33070,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; @@ -34455,6 +34758,64 @@ unsafe impl Cast for PhysicalDeviceDescriptorIndexingPropertiesBuilder { } } +unsafe impl Cast for PhysicalDeviceDescriptorPoolOverallocationFeaturesNV { + type Target = PhysicalDeviceDescriptorPoolOverallocationFeaturesNV; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for PhysicalDeviceDescriptorPoolOverallocationFeaturesNV { + type Builder = PhysicalDeviceDescriptorPoolOverallocationFeaturesNVBuilder; +} + +/// A builder for a [`PhysicalDeviceDescriptorPoolOverallocationFeaturesNV`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct PhysicalDeviceDescriptorPoolOverallocationFeaturesNVBuilder { + value: PhysicalDeviceDescriptorPoolOverallocationFeaturesNV, +} + +impl PhysicalDeviceDescriptorPoolOverallocationFeaturesNVBuilder { + #[inline] + pub fn descriptor_pool_overallocation(mut self, descriptor_pool_overallocation: bool) -> Self { + self.value.descriptor_pool_overallocation = descriptor_pool_overallocation as Bool32; + self + } + + #[inline] + pub fn build(self) -> PhysicalDeviceDescriptorPoolOverallocationFeaturesNV { + self.value + } +} + +impl ops::Deref for PhysicalDeviceDescriptorPoolOverallocationFeaturesNVBuilder { + type Target = PhysicalDeviceDescriptorPoolOverallocationFeaturesNV; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for PhysicalDeviceDescriptorPoolOverallocationFeaturesNVBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for PhysicalDeviceDescriptorPoolOverallocationFeaturesNVBuilder { + type Target = PhysicalDeviceDescriptorPoolOverallocationFeaturesNV; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE { type Target = PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE; @@ -37171,6 +37532,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 @@ -37182,6 +37545,10 @@ unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceDepthClipControlFea unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceDepthClipEnableFeaturesEXT {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceDescriptorBufferFeaturesEXT {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceDescriptorIndexingFeatures {} +unsafe impl ExtendsPhysicalDeviceFeatures2 + for PhysicalDeviceDescriptorPoolOverallocationFeaturesNV +{ +} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV @@ -37213,6 +37580,7 @@ unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceFragmentShaderBaryc unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceFragmentShaderInterlockFeaturesEXT {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceFragmentShadingRateEnumsFeaturesNV {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceFragmentShadingRateFeaturesKHR {} +unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceFrameBoundaryFeaturesEXT {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceGlobalPriorityQueryFeaturesKHR {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceHostImageCopyFeaturesEXT {} @@ -37223,6 +37591,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 +37721,7 @@ unsafe impl ExtendsPhysicalDeviceFeatures2 { } unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {} +unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceYcbcrDegammaFeaturesQCOM {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceYcbcrImageArraysFeaturesEXT {} unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures {} @@ -38735,6 +39105,64 @@ unsafe impl Cast for PhysicalDeviceFragmentShadingRatePropertiesKHRBuilder { } } +unsafe impl Cast for PhysicalDeviceFrameBoundaryFeaturesEXT { + type Target = PhysicalDeviceFrameBoundaryFeaturesEXT; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for PhysicalDeviceFrameBoundaryFeaturesEXT { + type Builder = PhysicalDeviceFrameBoundaryFeaturesEXTBuilder; +} + +/// A builder for a [`PhysicalDeviceFrameBoundaryFeaturesEXT`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct PhysicalDeviceFrameBoundaryFeaturesEXTBuilder { + value: PhysicalDeviceFrameBoundaryFeaturesEXT, +} + +impl PhysicalDeviceFrameBoundaryFeaturesEXTBuilder { + #[inline] + pub fn frame_boundary(mut self, frame_boundary: bool) -> Self { + self.value.frame_boundary = frame_boundary as Bool32; + self + } + + #[inline] + pub fn build(self) -> PhysicalDeviceFrameBoundaryFeaturesEXT { + self.value + } +} + +impl ops::Deref for PhysicalDeviceFrameBoundaryFeaturesEXTBuilder { + type Target = PhysicalDeviceFrameBoundaryFeaturesEXT; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for PhysicalDeviceFrameBoundaryFeaturesEXTBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for PhysicalDeviceFrameBoundaryFeaturesEXTBuilder { + type Target = PhysicalDeviceFrameBoundaryFeaturesEXT; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for PhysicalDeviceGlobalPriorityQueryFeaturesKHR { type Target = PhysicalDeviceGlobalPriorityQueryFeaturesKHR; @@ -39651,6 +40079,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; @@ -40439,6 +40986,64 @@ unsafe impl Cast for PhysicalDeviceInvocationMaskFeaturesHUAWEIBuilder { } } +unsafe impl Cast for PhysicalDeviceLayeredDriverPropertiesMSFT { + type Target = PhysicalDeviceLayeredDriverPropertiesMSFT; + + #[inline] + fn into(self) -> Self::Target { + self + } +} + +impl HasBuilder<'static> for PhysicalDeviceLayeredDriverPropertiesMSFT { + type Builder = PhysicalDeviceLayeredDriverPropertiesMSFTBuilder; +} + +/// A builder for a [`PhysicalDeviceLayeredDriverPropertiesMSFT`]. +#[repr(transparent)] +#[derive(Copy, Clone, Debug, Default)] +pub struct PhysicalDeviceLayeredDriverPropertiesMSFTBuilder { + value: PhysicalDeviceLayeredDriverPropertiesMSFT, +} + +impl PhysicalDeviceLayeredDriverPropertiesMSFTBuilder { + #[inline] + pub fn underlying_api(mut self, underlying_api: LayeredDriverUnderlyingApiMSFT) -> Self { + self.value.underlying_api = underlying_api; + self + } + + #[inline] + pub fn build(self) -> PhysicalDeviceLayeredDriverPropertiesMSFT { + self.value + } +} + +impl ops::Deref for PhysicalDeviceLayeredDriverPropertiesMSFTBuilder { + type Target = PhysicalDeviceLayeredDriverPropertiesMSFT; + + #[inline] + fn deref(&self) -> &Self::Target { + &self.value + } +} + +impl ops::DerefMut for PhysicalDeviceLayeredDriverPropertiesMSFTBuilder { + #[inline] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + +unsafe impl Cast for PhysicalDeviceLayeredDriverPropertiesMSFTBuilder { + type Target = PhysicalDeviceLayeredDriverPropertiesMSFT; + + #[inline] + fn into(self) -> Self::Target { + self.value + } +} + unsafe impl Cast for PhysicalDeviceLegacyDitheringFeaturesEXT { type Target = PhysicalDeviceLegacyDitheringFeaturesEXT; @@ -45287,8 +45892,10 @@ 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 PhysicalDeviceLayeredDriverPropertiesMSFT {} unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceLineRasterizationPropertiesEXT {} unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceMaintenance3Properties {} unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceMaintenance4Properties {} @@ -53702,6 +54309,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; @@ -58081,6 +58746,7 @@ unsafe impl<'b> Cast for PresentIdKHRBuilder<'b> { pub unsafe trait ExtendsPresentInfoKHR: fmt::Debug {} unsafe impl ExtendsPresentInfoKHR for DeviceGroupPresentInfoKHR {} unsafe impl ExtendsPresentInfoKHR for DisplayPresentInfoKHR {} +unsafe impl ExtendsPresentInfoKHR for FrameBoundaryEXT {} unsafe impl ExtendsPresentInfoKHR for PresentFrameTokenGGP {} unsafe impl ExtendsPresentInfoKHR for PresentIdKHR {} unsafe impl ExtendsPresentInfoKHR for PresentRegionsKHR {} @@ -61972,6 +62638,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 +62830,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 +62995,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 +63179,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 +63414,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; @@ -65406,6 +66267,7 @@ pub unsafe trait ExtendsSubmitInfo: fmt::Debug {} unsafe impl ExtendsSubmitInfo for AmigoProfilingSubmitInfoSEC {} unsafe impl ExtendsSubmitInfo for D3D12FenceSubmitInfoKHR {} unsafe impl ExtendsSubmitInfo for DeviceGroupSubmitInfo {} +unsafe impl ExtendsSubmitInfo for FrameBoundaryEXT {} unsafe impl ExtendsSubmitInfo for PerformanceQuerySubmitInfoKHR {} unsafe impl ExtendsSubmitInfo for ProtectedSubmitInfo {} unsafe impl ExtendsSubmitInfo for TimelineSemaphoreSubmitInfo {} @@ -65504,6 +66366,7 @@ unsafe impl<'b> Cast for SubmitInfoBuilder<'b> { /// A Vulkan struct that can be used to extend a [`SubmitInfo2`]. pub unsafe trait ExtendsSubmitInfo2: fmt::Debug {} +unsafe impl ExtendsSubmitInfo2 for FrameBoundaryEXT {} unsafe impl ExtendsSubmitInfo2 for PerformanceQuerySubmitInfoKHR {} unsafe impl ExtendsSubmitInfo2 for Win32KeyedMutexAcquireReleaseInfoKHR {} unsafe impl ExtendsSubmitInfo2 for Win32KeyedMutexAcquireReleaseInfoNV {} diff --git a/vulkanalia/src/vk/chains.rs b/vulkanalia/src/vk/chains.rs index a3c9b08b..c4120abb 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; @@ -3255,6 +3269,20 @@ unsafe impl InputChainStruct for FragmentShadingRateAttachmentInfoKHR { } } +unsafe impl InputChainStruct for FrameBoundaryEXT { + const TYPE: StructureType = StructureType::FRAME_BOUNDARY_EXT; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + unsafe impl InputChainStruct for FramebufferAttachmentImageInfo { const TYPE: StructureType = StructureType::FRAMEBUFFER_ATTACHMENT_IMAGE_INFO; @@ -5764,6 +5792,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; @@ -6039,6 +6109,28 @@ unsafe impl OutputChainStruct for PhysicalDeviceDescriptorIndexingProperties { } } +unsafe impl InputChainStruct for PhysicalDeviceDescriptorPoolOverallocationFeaturesNV { + const TYPE: StructureType = + StructureType::PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for PhysicalDeviceDescriptorPoolOverallocationFeaturesNV { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + unsafe impl InputChainStruct for PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE { const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE; @@ -6973,6 +7065,27 @@ unsafe impl OutputChainStruct for PhysicalDeviceFragmentShadingRatePropertiesKHR } } +unsafe impl InputChainStruct for PhysicalDeviceFrameBoundaryFeaturesEXT { + const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_FRAME_BOUNDARY_FEATURES_EXT; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for PhysicalDeviceFrameBoundaryFeaturesEXT { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + unsafe impl InputChainStruct for PhysicalDeviceGlobalPriorityQueryFeaturesKHR { const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR; @@ -7236,6 +7349,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; @@ -7489,6 +7644,27 @@ unsafe impl OutputChainStruct for PhysicalDeviceInvocationMaskFeaturesHUAWEI { } } +unsafe impl InputChainStruct for PhysicalDeviceLayeredDriverPropertiesMSFT { + const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT; + + #[inline] + fn s_type(&self) -> StructureType { + self.s_type + } + + #[inline] + fn next(&self) -> *const c_void { + self.next + } +} + +unsafe impl OutputChainStruct for PhysicalDeviceLayeredDriverPropertiesMSFT { + #[inline] + fn next_mut(&self) -> *mut c_void { + self.next + } +} + unsafe impl InputChainStruct for PhysicalDeviceLegacyDitheringFeaturesEXT { const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT; @@ -10512,6 +10688,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 +12135,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 +12192,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 +12283,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..1e0ec663 100644 --- a/vulkanalia/src/vk/extensions.rs +++ b/vulkanalia/src/vk/extensions.rs @@ -2536,6 +2536,15 @@ pub trait ExtFragmentShaderInterlockExtension: DeviceV1_0 { impl ExtFragmentShaderInterlockExtension for crate::Device {} +/// +pub trait ExtFrameBoundaryExtension: DeviceV1_0 { + /// The metadata for this extension. + #[allow(deprecated)] + const METADATA: Extension = EXT_FRAME_BOUNDARY_EXTENSION; +} + +impl ExtFrameBoundaryExtension for crate::Device {} + /// pub trait ExtFullScreenExclusiveExtension: DeviceV1_0 { /// The metadata for this extension. @@ -9937,6 +9946,15 @@ pub trait LunargDirectDriverLoadingExtension: InstanceV1_0 { impl LunargDirectDriverLoadingExtension for crate::Instance {} +/// +pub trait MsftLayeredDriverExtension: DeviceV1_0 { + /// The metadata for this extension. + #[allow(deprecated)] + const METADATA: Extension = MSFT_LAYERED_DRIVER_EXTENSION; +} + +impl MsftLayeredDriverExtension for crate::Device {} + /// #[deprecated(note = "deprecated in favor of `VK_EXT_metal_surface`")] pub trait MvkIosSurfaceExtension: InstanceV1_0 { @@ -10426,6 +10444,15 @@ pub trait NvDedicatedAllocationImageAliasingExtension: DeviceV1_0 { impl NvDedicatedAllocationImageAliasingExtension for crate::Device {} +/// +pub trait NvDescriptorPoolOverallocationExtension: DeviceV1_0 { + /// The metadata for this extension. + #[allow(deprecated)] + const METADATA: Extension = NV_DESCRIPTOR_POOL_OVERALLOCATION_EXTENSION; +} + +impl NvDescriptorPoolOverallocationExtension for crate::Device {} + /// pub trait NvDeviceDiagnosticCheckpointsExtension: DeviceV1_0 { /// The metadata for this extension. @@ -11951,6 +11978,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 +12014,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 +12141,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.