Skip to content

Commit

Permalink
Update Vulkan-Headers to 1.3.239
Browse files Browse the repository at this point in the history
  • Loading branch information
MarijnS95 committed Jan 19, 2023
1 parent 86dccdf commit 2c935db
Show file tree
Hide file tree
Showing 7 changed files with 220 additions and 3 deletions.
4 changes: 4 additions & 0 deletions Changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
2 changes: 1 addition & 1 deletion ash/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "ash"
version = "0.37.0+1.3.238"
version = "0.37.0+1.3.239"
authors = [
"Maik Klein <maikklein@googlemail.com>",
"Benjamin Saunders <ben.e.saunders@gmail.com>",
Expand Down
19 changes: 19 additions & 0 deletions ash/src/vk/const_debugs.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down Expand Up @@ -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)
Expand Down Expand Up @@ -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)
}
Expand Down Expand Up @@ -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)
}
Expand Down Expand Up @@ -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")
}
Expand Down
99 changes: 98 additions & 1 deletion ash/src/vk/definitions.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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 = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_API_VERSION_1_3.html>"]
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 = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_HEADER_VERSION_COMPLETE.html>"]
pub const HEADER_VERSION_COMPLETE: u32 = make_api_version(0, 1, 3, HEADER_VERSION);
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkSampleMask.html>"]
Expand Down Expand Up @@ -28252,6 +28252,56 @@ impl<'a> PhysicalDeviceSubpassShadingPropertiesHUAWEI<'a> {
#[repr(C)]
#[cfg_attr(feature = "debug", derive(Debug))]
#[derive(Copy, Clone)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI.html>"]
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 = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkMemoryOpaqueCaptureAddressAllocateInfo.html>"]
pub struct MemoryOpaqueCaptureAddressAllocateInfo<'a> {
pub s_type: StructureType,
Expand Down Expand Up @@ -33110,6 +33160,53 @@ impl<'a> PhysicalDeviceSubpassShadingFeaturesHUAWEI<'a> {
#[repr(C)]
#[cfg_attr(feature = "debug", derive(Debug))]
#[derive(Copy, Clone)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI.html>"]
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 = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkBufferCopy2.html>"]
pub struct BufferCopy2<'a> {
pub s_type: StructureType,
Expand Down
2 changes: 2 additions & 0 deletions ash/src/vk/enums.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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)]
Expand Down
95 changes: 95 additions & 0 deletions ash/src/vk/extensions.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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<F>(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 {
Expand Down

0 comments on commit 2c935db

Please sign in to comment.