From 2c935dbe648835f2d09e53076cb5c239cc16d44a Mon Sep 17 00:00:00 2001 From: Marijn Suijten Date: Thu, 19 Jan 2023 13:57:44 +0100 Subject: [PATCH] Update Vulkan-Headers to 1.3.239 --- Changelog.md | 4 ++ ash/Cargo.toml | 2 +- ash/src/vk/const_debugs.rs | 19 ++++++++ ash/src/vk/definitions.rs | 99 +++++++++++++++++++++++++++++++++++++- ash/src/vk/enums.rs | 2 + ash/src/vk/extensions.rs | 95 ++++++++++++++++++++++++++++++++++++ generator/Vulkan-Headers | 2 +- 7 files changed, 220 insertions(+), 3 deletions(-) diff --git a/Changelog.md b/Changelog.md index 8c40ee06e..8d9964a3d 100644 --- a/Changelog.md +++ b/Changelog.md @@ -6,6 +6,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] - ReleaseDate +### Added + +- Update Vulkan-Headers to 1.3.239 (#TODO) + ### Changed - Replaced builders with lifetimes/setters directly on Vulkan structs (#602) diff --git a/ash/Cargo.toml b/ash/Cargo.toml index 05bf8f7e1..56dd3c9b7 100644 --- a/ash/Cargo.toml +++ b/ash/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ash" -version = "0.37.0+1.3.238" +version = "0.37.0+1.3.239" authors = [ "Maik Klein ", "Benjamin Saunders ", diff --git a/ash/src/vk/const_debugs.rs b/ash/src/vk/const_debugs.rs index d23cde4a3..a0427cb41 100644 --- a/ash/src/vk/const_debugs.rs +++ b/ash/src/vk/const_debugs.rs @@ -1500,6 +1500,7 @@ impl fmt::Debug for DriverId { Self::MESA_VENUS => Some("MESA_VENUS"), Self::MESA_DOZEN => Some("MESA_DOZEN"), Self::MESA_NVK => Some("MESA_NVK"), + Self::IMAGINATION_OPEN_SOURCE_MESA => Some("IMAGINATION_OPEN_SOURCE_MESA"), _ => None, }; if let Some(x) = name { @@ -3707,6 +3708,10 @@ impl fmt::Debug for PipelineStageFlags2 { PipelineStageFlags2::MICROMAP_BUILD_EXT.0, "MICROMAP_BUILD_EXT", ), + ( + PipelineStageFlags2::CLUSTER_CULLING_SHADER_HUAWEI.0, + "CLUSTER_CULLING_SHADER_HUAWEI", + ), (PipelineStageFlags2::OPTICAL_FLOW_NV.0, "OPTICAL_FLOW_NV"), ]; debug_flags(f, KNOWN, self.0) @@ -3911,6 +3916,10 @@ impl fmt::Debug for QueryPipelineStatisticFlags { QueryPipelineStatisticFlags::MESH_SHADER_INVOCATIONS_EXT.0, "MESH_SHADER_INVOCATIONS_EXT", ), + ( + QueryPipelineStatisticFlags::CLUSTER_CULLING_SHADER_INVOCATIONS_HUAWEI.0, + "CLUSTER_CULLING_SHADER_INVOCATIONS_HUAWEI", + ), ]; debug_flags(f, KNOWN, self.0) } @@ -4366,6 +4375,10 @@ impl fmt::Debug for ShaderStageFlags { ShaderStageFlags::SUBPASS_SHADING_HUAWEI.0, "SUBPASS_SHADING_HUAWEI", ), + ( + ShaderStageFlags::CLUSTER_CULLING_HUAWEI.0, + "CLUSTER_CULLING_HUAWEI", + ), ]; debug_flags(f, KNOWN, self.0) } @@ -5647,6 +5660,12 @@ impl fmt::Debug for StructureType { Self::ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT => { Some("ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT") } + Self::PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI => { + Some("PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI") + } + Self::PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI => { + Some("PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI") + } Self::PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT => { Some("PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT") } diff --git a/ash/src/vk/definitions.rs b/ash/src/vk/definitions.rs index 040aef00a..7bc87c9b1 100644 --- a/ash/src/vk/definitions.rs +++ b/ash/src/vk/definitions.rs @@ -57,7 +57,7 @@ pub const API_VERSION_1_1: u32 = make_api_version(0, 1, 1, 0); pub const API_VERSION_1_2: u32 = make_api_version(0, 1, 2, 0); #[doc = ""] pub const API_VERSION_1_3: u32 = make_api_version(0, 1, 3, 0); -pub const HEADER_VERSION: u32 = 238u32; +pub const HEADER_VERSION: u32 = 239u32; #[doc = ""] pub const HEADER_VERSION_COMPLETE: u32 = make_api_version(0, 1, 3, HEADER_VERSION); #[doc = ""] @@ -28252,6 +28252,56 @@ impl<'a> PhysicalDeviceSubpassShadingPropertiesHUAWEI<'a> { #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] +#[doc = ""] +pub struct PhysicalDeviceClusterCullingShaderPropertiesHUAWEI<'a> { + pub s_type: StructureType, + pub p_next: *mut c_void, + pub max_work_group_count: [u32; 3], + pub max_work_group_size: [u32; 3], + pub max_output_cluster_count: u32, + pub _marker: PhantomData<&'a ()>, +} +impl ::std::default::Default for PhysicalDeviceClusterCullingShaderPropertiesHUAWEI<'_> { + #[inline] + fn default() -> Self { + Self { + s_type: Self::STRUCTURE_TYPE, + p_next: ::std::ptr::null_mut(), + max_work_group_count: unsafe { ::std::mem::zeroed() }, + max_work_group_size: unsafe { ::std::mem::zeroed() }, + max_output_cluster_count: u32::default(), + _marker: PhantomData, + } + } +} +unsafe impl<'a> TaggedStructure for PhysicalDeviceClusterCullingShaderPropertiesHUAWEI<'a> { + const STRUCTURE_TYPE: StructureType = + StructureType::PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI; +} +unsafe impl ExtendsPhysicalDeviceProperties2 + for PhysicalDeviceClusterCullingShaderPropertiesHUAWEI<'_> +{ +} +impl<'a> PhysicalDeviceClusterCullingShaderPropertiesHUAWEI<'a> { + #[inline] + pub fn max_work_group_count(mut self, max_work_group_count: [u32; 3]) -> Self { + self.max_work_group_count = max_work_group_count; + self + } + #[inline] + pub fn max_work_group_size(mut self, max_work_group_size: [u32; 3]) -> Self { + self.max_work_group_size = max_work_group_size; + self + } + #[inline] + pub fn max_output_cluster_count(mut self, max_output_cluster_count: u32) -> Self { + self.max_output_cluster_count = max_output_cluster_count; + self + } +} +#[repr(C)] +#[cfg_attr(feature = "debug", derive(Debug))] +#[derive(Copy, Clone)] #[doc = ""] pub struct MemoryOpaqueCaptureAddressAllocateInfo<'a> { pub s_type: StructureType, @@ -33110,6 +33160,53 @@ impl<'a> PhysicalDeviceSubpassShadingFeaturesHUAWEI<'a> { #[repr(C)] #[cfg_attr(feature = "debug", derive(Debug))] #[derive(Copy, Clone)] +#[doc = ""] +pub struct PhysicalDeviceClusterCullingShaderFeaturesHUAWEI<'a> { + pub s_type: StructureType, + pub p_next: *mut c_void, + pub clusterculling_shader: Bool32, + pub multiview_cluster_culling_shader: Bool32, + pub _marker: PhantomData<&'a ()>, +} +impl ::std::default::Default for PhysicalDeviceClusterCullingShaderFeaturesHUAWEI<'_> { + #[inline] + fn default() -> Self { + Self { + s_type: Self::STRUCTURE_TYPE, + p_next: ::std::ptr::null_mut(), + clusterculling_shader: Bool32::default(), + multiview_cluster_culling_shader: Bool32::default(), + _marker: PhantomData, + } + } +} +unsafe impl<'a> TaggedStructure for PhysicalDeviceClusterCullingShaderFeaturesHUAWEI<'a> { + const STRUCTURE_TYPE: StructureType = + StructureType::PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI; +} +unsafe impl ExtendsPhysicalDeviceFeatures2 + for PhysicalDeviceClusterCullingShaderFeaturesHUAWEI<'_> +{ +} +unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceClusterCullingShaderFeaturesHUAWEI<'_> {} +impl<'a> PhysicalDeviceClusterCullingShaderFeaturesHUAWEI<'a> { + #[inline] + pub fn clusterculling_shader(mut self, clusterculling_shader: bool) -> Self { + self.clusterculling_shader = clusterculling_shader.into(); + self + } + #[inline] + pub fn multiview_cluster_culling_shader( + mut self, + multiview_cluster_culling_shader: bool, + ) -> Self { + self.multiview_cluster_culling_shader = multiview_cluster_culling_shader.into(); + self + } +} +#[repr(C)] +#[cfg_attr(feature = "debug", derive(Debug))] +#[derive(Copy, Clone)] #[doc = ""] pub struct BufferCopy2<'a> { pub s_type: StructureType, diff --git a/ash/src/vk/enums.rs b/ash/src/vk/enums.rs index a27a55b40..de2d35ea1 100644 --- a/ash/src/vk/enums.rs +++ b/ash/src/vk/enums.rs @@ -1808,6 +1808,8 @@ impl DriverId { pub const MESA_DOZEN: Self = Self(23); #[doc = "Mesa open source project"] pub const MESA_NVK: Self = Self(24); + #[doc = "Imagination Technologies"] + pub const IMAGINATION_OPEN_SOURCE_MESA: Self = Self(25); } #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] #[repr(transparent)] diff --git a/ash/src/vk/extensions.rs b/ash/src/vk/extensions.rs index 16a375e2b..47215e24b 100644 --- a/ash/src/vk/extensions.rs +++ b/ash/src/vk/extensions.rs @@ -19341,6 +19341,101 @@ impl AttachmentLoadOp { impl AttachmentStoreOp { pub const NONE_EXT: Self = Self::NONE; } +impl HuaweiClusterCullingShaderFn { + #[inline] + pub const fn name() -> &'static ::std::ffi::CStr { + unsafe { + ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_HUAWEI_cluster_culling_shader\0") + } + } + pub const SPEC_VERSION: u32 = 1u32; +} +#[allow(non_camel_case_types)] +pub type PFN_vkCmdDrawClusterHUAWEI = unsafe extern "system" fn( + command_buffer: CommandBuffer, + group_count_x: u32, + group_count_y: u32, + group_count_z: u32, +); +#[allow(non_camel_case_types)] +pub type PFN_vkCmdDrawClusterIndirectHUAWEI = + unsafe extern "system" fn(command_buffer: CommandBuffer, buffer: Buffer, offset: DeviceSize); +#[derive(Clone)] +pub struct HuaweiClusterCullingShaderFn { + pub cmd_draw_cluster_huawei: PFN_vkCmdDrawClusterHUAWEI, + pub cmd_draw_cluster_indirect_huawei: PFN_vkCmdDrawClusterIndirectHUAWEI, +} +unsafe impl Send for HuaweiClusterCullingShaderFn {} +unsafe impl Sync for HuaweiClusterCullingShaderFn {} +impl HuaweiClusterCullingShaderFn { + pub fn load(mut _f: F) -> Self + where + F: FnMut(&::std::ffi::CStr) -> *const c_void, + { + Self { + cmd_draw_cluster_huawei: unsafe { + unsafe extern "system" fn cmd_draw_cluster_huawei( + _command_buffer: CommandBuffer, + _group_count_x: u32, + _group_count_y: u32, + _group_count_z: u32, + ) { + panic!(concat!( + "Unable to load ", + stringify!(cmd_draw_cluster_huawei) + )) + } + let cname = + ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"vkCmdDrawClusterHUAWEI\0"); + let val = _f(cname); + if val.is_null() { + cmd_draw_cluster_huawei + } else { + ::std::mem::transmute(val) + } + }, + cmd_draw_cluster_indirect_huawei: unsafe { + unsafe extern "system" fn cmd_draw_cluster_indirect_huawei( + _command_buffer: CommandBuffer, + _buffer: Buffer, + _offset: DeviceSize, + ) { + panic!(concat!( + "Unable to load ", + stringify!(cmd_draw_cluster_indirect_huawei) + )) + } + let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked( + b"vkCmdDrawClusterIndirectHUAWEI\0", + ); + let val = _f(cname); + if val.is_null() { + cmd_draw_cluster_indirect_huawei + } else { + ::std::mem::transmute(val) + } + }, + } + } +} +#[doc = "Generated from 'VK_HUAWEI_cluster_culling_shader'"] +impl PipelineStageFlags2 { + pub const CLUSTER_CULLING_SHADER_HUAWEI: Self = + Self(0b10_0000_0000_0000_0000_0000_0000_0000_0000_0000_0000); +} +#[doc = "Generated from 'VK_HUAWEI_cluster_culling_shader'"] +impl QueryPipelineStatisticFlags { + pub const CLUSTER_CULLING_SHADER_INVOCATIONS_HUAWEI: Self = Self(0b10_0000_0000_0000); +} +#[doc = "Generated from 'VK_HUAWEI_cluster_culling_shader'"] +impl ShaderStageFlags { + pub const CLUSTER_CULLING_HUAWEI: Self = Self(0b1000_0000_0000_0000_0000); +} +#[doc = "Generated from 'VK_HUAWEI_cluster_culling_shader'"] +impl StructureType { + pub const PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI: Self = Self(1_000_404_000); + pub const PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI: Self = Self(1_000_404_001); +} impl ExtBorderColorSwizzleFn { #[inline] pub const fn name() -> &'static ::std::ffi::CStr { diff --git a/generator/Vulkan-Headers b/generator/Vulkan-Headers index 00671c64b..2bb0a2310 160000 --- a/generator/Vulkan-Headers +++ b/generator/Vulkan-Headers @@ -1 +1 @@ -Subproject commit 00671c64ba5c488ade22ad572a0ef81d5e64c803 +Subproject commit 2bb0a23104ceffd9a28d5b7401f2cee7dae35bb8