Skip to content

Commit 636c368

Browse files
committed
Update Vulkan-Headers to 1.3.300
1 parent 7485707 commit 636c368

File tree

7 files changed

+347
-4
lines changed

7 files changed

+347
-4
lines changed

Changelog.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
99

1010
### Added
1111

12-
- Update Vulkan-Headers to 1.3.299 (#910, #951)
12+
- Update Vulkan-Headers to 1.3.300 (#910, #951)
1313
- Added `VK_KHR_get_display_properties2` instance extension (#932)
1414
- Added `VK_EXT_metal_objects` device extension (#942)
1515

ash/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "ash"
3-
version = "0.38.0+1.3.299"
3+
version = "0.38.0+1.3.300"
44
authors = [
55
"Maik Klein <[email protected]>",
66
"Benjamin Saunders <[email protected]>",

ash/src/extensions_generated.rs

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20386,6 +20386,72 @@ pub mod nv {
2038620386
crate::vk::NV_RAY_TRACING_VALIDATION_SPEC_VERSION as SPEC_VERSION,
2038720387
};
2038820388
}
20389+
#[doc = "VK_NV_cooperative_matrix2"]
20390+
pub mod cooperative_matrix2 {
20391+
use super::super::*;
20392+
pub use {
20393+
crate::vk::NV_COOPERATIVE_MATRIX2_NAME as NAME,
20394+
crate::vk::NV_COOPERATIVE_MATRIX2_SPEC_VERSION as SPEC_VERSION,
20395+
};
20396+
#[doc = "VK_NV_cooperative_matrix2 instance-level functions"]
20397+
#[derive(Clone)]
20398+
pub struct Instance {
20399+
pub(crate) fp: InstanceFn,
20400+
pub(crate) handle: crate::vk::Instance,
20401+
}
20402+
impl Instance {
20403+
pub fn new(entry: &crate::Entry, instance: &crate::Instance) -> Self {
20404+
let handle = instance.handle();
20405+
let fp = InstanceFn::load(|name| unsafe {
20406+
core::mem::transmute(entry.get_instance_proc_addr(handle, name.as_ptr()))
20407+
});
20408+
Self { handle, fp }
20409+
}
20410+
#[inline]
20411+
pub fn fp(&self) -> &InstanceFn {
20412+
&self.fp
20413+
}
20414+
#[inline]
20415+
pub fn instance(&self) -> crate::vk::Instance {
20416+
self.handle
20417+
}
20418+
}
20419+
#[derive(Clone)]
20420+
#[doc = "Raw VK_NV_cooperative_matrix2 instance-level function pointers"]
20421+
pub struct InstanceFn {
20422+
pub get_physical_device_cooperative_matrix_flexible_dimensions_properties_nv:
20423+
PFN_vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV,
20424+
}
20425+
unsafe impl Send for InstanceFn {}
20426+
unsafe impl Sync for InstanceFn {}
20427+
impl InstanceFn {
20428+
pub fn load<F: FnMut(&CStr) -> *const c_void>(mut f: F) -> Self {
20429+
Self::load_erased(&mut f)
20430+
}
20431+
fn load_erased(_f: &mut dyn FnMut(&CStr) -> *const c_void) -> Self {
20432+
Self {
20433+
get_physical_device_cooperative_matrix_flexible_dimensions_properties_nv: unsafe {
20434+
unsafe extern "system" fn get_physical_device_cooperative_matrix_flexible_dimensions_properties_nv(
20435+
_physical_device: PhysicalDevice,
20436+
_p_property_count: *mut u32,
20437+
_p_properties: *mut CooperativeMatrixFlexibleDimensionsPropertiesNV<'_>,
20438+
) -> Result {
20439+
panic ! (concat ! ("Unable to load " , stringify ! (get_physical_device_cooperative_matrix_flexible_dimensions_properties_nv)))
20440+
}
20441+
let cname = CStr::from_bytes_with_nul_unchecked(
20442+
b"vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV\0",
20443+
);
20444+
let val = _f(cname);
20445+
if val.is_null() {
20446+
get_physical_device_cooperative_matrix_flexible_dimensions_properties_nv
20447+
} else {
20448+
::core::mem::transmute(val)
20449+
}
20450+
},
20451+
}
20452+
}
20453+
}
20454+
}
2038920455
}
2039020456
#[doc = "Extensions tagged NVX"]
2039120457
pub mod nvx {

ash/src/vk/const_debugs.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6879,6 +6879,15 @@ impl fmt::Debug for StructureType {
68796879
Self::PIPELINE_VIEWPORT_DEPTH_CLAMP_CONTROL_CREATE_INFO_EXT => {
68806880
Some("PIPELINE_VIEWPORT_DEPTH_CLAMP_CONTROL_CREATE_INFO_EXT")
68816881
}
6882+
Self::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_FEATURES_NV => {
6883+
Some("PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_FEATURES_NV")
6884+
}
6885+
Self::COOPERATIVE_MATRIX_FLEXIBLE_DIMENSIONS_PROPERTIES_NV => {
6886+
Some("COOPERATIVE_MATRIX_FLEXIBLE_DIMENSIONS_PROPERTIES_NV")
6887+
}
6888+
Self::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_PROPERTIES_NV => {
6889+
Some("PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_PROPERTIES_NV")
6890+
}
68826891
Self::PHYSICAL_DEVICE_SUBGROUP_PROPERTIES => {
68836892
Some("PHYSICAL_DEVICE_SUBGROUP_PROPERTIES")
68846893
}

ash/src/vk/definitions.rs

Lines changed: 253 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ pub const API_VERSION_1_2: u32 = make_api_version(0, 1, 2, 0);
5858
#[doc = "<https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_API_VERSION_1_3.html>"]
5959
pub const API_VERSION_1_3: u32 = make_api_version(0, 1, 3, 0);
6060
#[doc = "<https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_HEADER_VERSION.html>"]
61-
pub const HEADER_VERSION: u32 = 299;
61+
pub const HEADER_VERSION: u32 = 300;
6262
#[doc = "<https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_HEADER_VERSION_COMPLETE.html>"]
6363
pub const HEADER_VERSION_COMPLETE: u32 = make_api_version(0, 1, 3, HEADER_VERSION);
6464
#[doc = "<https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkSampleMask.html>"]
@@ -59986,3 +59986,255 @@ impl DepthClampRangeEXT {
5998659986
self
5998759987
}
5998859988
}
59989+
#[repr(C)]
59990+
#[cfg_attr(feature = "debug", derive(Debug))]
59991+
#[derive(Copy, Clone)]
59992+
#[doc = "<https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceCooperativeMatrix2FeaturesNV.html>"]
59993+
#[must_use]
59994+
pub struct PhysicalDeviceCooperativeMatrix2FeaturesNV<'a> {
59995+
pub s_type: StructureType,
59996+
pub p_next: *mut c_void,
59997+
pub cooperative_matrix_workgroup_scope: Bool32,
59998+
pub cooperative_matrix_flexible_dimensions: Bool32,
59999+
pub cooperative_matrix_reductions: Bool32,
60000+
pub cooperative_matrix_conversions: Bool32,
60001+
pub cooperative_matrix_per_element_operations: Bool32,
60002+
pub cooperative_matrix_tensor_addressing: Bool32,
60003+
pub cooperative_matrix_block_loads: Bool32,
60004+
pub _marker: PhantomData<&'a ()>,
60005+
}
60006+
unsafe impl Send for PhysicalDeviceCooperativeMatrix2FeaturesNV<'_> {}
60007+
unsafe impl Sync for PhysicalDeviceCooperativeMatrix2FeaturesNV<'_> {}
60008+
impl ::core::default::Default for PhysicalDeviceCooperativeMatrix2FeaturesNV<'_> {
60009+
#[inline]
60010+
fn default() -> Self {
60011+
Self {
60012+
s_type: Self::STRUCTURE_TYPE,
60013+
p_next: ::core::ptr::null_mut(),
60014+
cooperative_matrix_workgroup_scope: Bool32::default(),
60015+
cooperative_matrix_flexible_dimensions: Bool32::default(),
60016+
cooperative_matrix_reductions: Bool32::default(),
60017+
cooperative_matrix_conversions: Bool32::default(),
60018+
cooperative_matrix_per_element_operations: Bool32::default(),
60019+
cooperative_matrix_tensor_addressing: Bool32::default(),
60020+
cooperative_matrix_block_loads: Bool32::default(),
60021+
_marker: PhantomData,
60022+
}
60023+
}
60024+
}
60025+
unsafe impl<'a> TaggedStructure for PhysicalDeviceCooperativeMatrix2FeaturesNV<'a> {
60026+
const STRUCTURE_TYPE: StructureType =
60027+
StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_FEATURES_NV;
60028+
}
60029+
unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceCooperativeMatrix2FeaturesNV<'_> {}
60030+
unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceCooperativeMatrix2FeaturesNV<'_> {}
60031+
impl<'a> PhysicalDeviceCooperativeMatrix2FeaturesNV<'a> {
60032+
#[inline]
60033+
pub fn cooperative_matrix_workgroup_scope(
60034+
mut self,
60035+
cooperative_matrix_workgroup_scope: bool,
60036+
) -> Self {
60037+
self.cooperative_matrix_workgroup_scope = cooperative_matrix_workgroup_scope.into();
60038+
self
60039+
}
60040+
#[inline]
60041+
pub fn cooperative_matrix_flexible_dimensions(
60042+
mut self,
60043+
cooperative_matrix_flexible_dimensions: bool,
60044+
) -> Self {
60045+
self.cooperative_matrix_flexible_dimensions = cooperative_matrix_flexible_dimensions.into();
60046+
self
60047+
}
60048+
#[inline]
60049+
pub fn cooperative_matrix_reductions(mut self, cooperative_matrix_reductions: bool) -> Self {
60050+
self.cooperative_matrix_reductions = cooperative_matrix_reductions.into();
60051+
self
60052+
}
60053+
#[inline]
60054+
pub fn cooperative_matrix_conversions(mut self, cooperative_matrix_conversions: bool) -> Self {
60055+
self.cooperative_matrix_conversions = cooperative_matrix_conversions.into();
60056+
self
60057+
}
60058+
#[inline]
60059+
pub fn cooperative_matrix_per_element_operations(
60060+
mut self,
60061+
cooperative_matrix_per_element_operations: bool,
60062+
) -> Self {
60063+
self.cooperative_matrix_per_element_operations =
60064+
cooperative_matrix_per_element_operations.into();
60065+
self
60066+
}
60067+
#[inline]
60068+
pub fn cooperative_matrix_tensor_addressing(
60069+
mut self,
60070+
cooperative_matrix_tensor_addressing: bool,
60071+
) -> Self {
60072+
self.cooperative_matrix_tensor_addressing = cooperative_matrix_tensor_addressing.into();
60073+
self
60074+
}
60075+
#[inline]
60076+
pub fn cooperative_matrix_block_loads(mut self, cooperative_matrix_block_loads: bool) -> Self {
60077+
self.cooperative_matrix_block_loads = cooperative_matrix_block_loads.into();
60078+
self
60079+
}
60080+
}
60081+
#[repr(C)]
60082+
#[cfg_attr(feature = "debug", derive(Debug))]
60083+
#[derive(Copy, Clone)]
60084+
#[doc = "<https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceCooperativeMatrix2PropertiesNV.html>"]
60085+
#[must_use]
60086+
pub struct PhysicalDeviceCooperativeMatrix2PropertiesNV<'a> {
60087+
pub s_type: StructureType,
60088+
pub p_next: *mut c_void,
60089+
pub cooperative_matrix_workgroup_scope_max_workgroup_size: u32,
60090+
pub cooperative_matrix_flexible_dimensions_max_dimension: u32,
60091+
pub cooperative_matrix_workgroup_scope_reserved_shared_memory: u32,
60092+
pub _marker: PhantomData<&'a ()>,
60093+
}
60094+
unsafe impl Send for PhysicalDeviceCooperativeMatrix2PropertiesNV<'_> {}
60095+
unsafe impl Sync for PhysicalDeviceCooperativeMatrix2PropertiesNV<'_> {}
60096+
impl ::core::default::Default for PhysicalDeviceCooperativeMatrix2PropertiesNV<'_> {
60097+
#[inline]
60098+
fn default() -> Self {
60099+
Self {
60100+
s_type: Self::STRUCTURE_TYPE,
60101+
p_next: ::core::ptr::null_mut(),
60102+
cooperative_matrix_workgroup_scope_max_workgroup_size: u32::default(),
60103+
cooperative_matrix_flexible_dimensions_max_dimension: u32::default(),
60104+
cooperative_matrix_workgroup_scope_reserved_shared_memory: u32::default(),
60105+
_marker: PhantomData,
60106+
}
60107+
}
60108+
}
60109+
unsafe impl<'a> TaggedStructure for PhysicalDeviceCooperativeMatrix2PropertiesNV<'a> {
60110+
const STRUCTURE_TYPE: StructureType =
60111+
StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_PROPERTIES_NV;
60112+
}
60113+
unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceCooperativeMatrix2PropertiesNV<'_> {}
60114+
impl<'a> PhysicalDeviceCooperativeMatrix2PropertiesNV<'a> {
60115+
#[inline]
60116+
pub fn cooperative_matrix_workgroup_scope_max_workgroup_size(
60117+
mut self,
60118+
cooperative_matrix_workgroup_scope_max_workgroup_size: u32,
60119+
) -> Self {
60120+
self.cooperative_matrix_workgroup_scope_max_workgroup_size =
60121+
cooperative_matrix_workgroup_scope_max_workgroup_size;
60122+
self
60123+
}
60124+
#[inline]
60125+
pub fn cooperative_matrix_flexible_dimensions_max_dimension(
60126+
mut self,
60127+
cooperative_matrix_flexible_dimensions_max_dimension: u32,
60128+
) -> Self {
60129+
self.cooperative_matrix_flexible_dimensions_max_dimension =
60130+
cooperative_matrix_flexible_dimensions_max_dimension;
60131+
self
60132+
}
60133+
#[inline]
60134+
pub fn cooperative_matrix_workgroup_scope_reserved_shared_memory(
60135+
mut self,
60136+
cooperative_matrix_workgroup_scope_reserved_shared_memory: u32,
60137+
) -> Self {
60138+
self.cooperative_matrix_workgroup_scope_reserved_shared_memory =
60139+
cooperative_matrix_workgroup_scope_reserved_shared_memory;
60140+
self
60141+
}
60142+
}
60143+
#[repr(C)]
60144+
#[cfg_attr(feature = "debug", derive(Debug))]
60145+
#[derive(Copy, Clone)]
60146+
#[doc = "<https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkCooperativeMatrixFlexibleDimensionsPropertiesNV.html>"]
60147+
#[must_use]
60148+
pub struct CooperativeMatrixFlexibleDimensionsPropertiesNV<'a> {
60149+
pub s_type: StructureType,
60150+
pub p_next: *mut c_void,
60151+
pub m_granularity: u32,
60152+
pub n_granularity: u32,
60153+
pub k_granularity: u32,
60154+
pub a_type: ComponentTypeKHR,
60155+
pub b_type: ComponentTypeKHR,
60156+
pub c_type: ComponentTypeKHR,
60157+
pub result_type: ComponentTypeKHR,
60158+
pub saturating_accumulation: Bool32,
60159+
pub scope: ScopeKHR,
60160+
pub workgroup_invocations: u32,
60161+
pub _marker: PhantomData<&'a ()>,
60162+
}
60163+
unsafe impl Send for CooperativeMatrixFlexibleDimensionsPropertiesNV<'_> {}
60164+
unsafe impl Sync for CooperativeMatrixFlexibleDimensionsPropertiesNV<'_> {}
60165+
impl ::core::default::Default for CooperativeMatrixFlexibleDimensionsPropertiesNV<'_> {
60166+
#[inline]
60167+
fn default() -> Self {
60168+
Self {
60169+
s_type: Self::STRUCTURE_TYPE,
60170+
p_next: ::core::ptr::null_mut(),
60171+
m_granularity: u32::default(),
60172+
n_granularity: u32::default(),
60173+
k_granularity: u32::default(),
60174+
a_type: ComponentTypeKHR::default(),
60175+
b_type: ComponentTypeKHR::default(),
60176+
c_type: ComponentTypeKHR::default(),
60177+
result_type: ComponentTypeKHR::default(),
60178+
saturating_accumulation: Bool32::default(),
60179+
scope: ScopeKHR::default(),
60180+
workgroup_invocations: u32::default(),
60181+
_marker: PhantomData,
60182+
}
60183+
}
60184+
}
60185+
unsafe impl<'a> TaggedStructure for CooperativeMatrixFlexibleDimensionsPropertiesNV<'a> {
60186+
const STRUCTURE_TYPE: StructureType =
60187+
StructureType::COOPERATIVE_MATRIX_FLEXIBLE_DIMENSIONS_PROPERTIES_NV;
60188+
}
60189+
impl<'a> CooperativeMatrixFlexibleDimensionsPropertiesNV<'a> {
60190+
#[inline]
60191+
pub fn m_granularity(mut self, m_granularity: u32) -> Self {
60192+
self.m_granularity = m_granularity;
60193+
self
60194+
}
60195+
#[inline]
60196+
pub fn n_granularity(mut self, n_granularity: u32) -> Self {
60197+
self.n_granularity = n_granularity;
60198+
self
60199+
}
60200+
#[inline]
60201+
pub fn k_granularity(mut self, k_granularity: u32) -> Self {
60202+
self.k_granularity = k_granularity;
60203+
self
60204+
}
60205+
#[inline]
60206+
pub fn a_type(mut self, a_type: ComponentTypeKHR) -> Self {
60207+
self.a_type = a_type;
60208+
self
60209+
}
60210+
#[inline]
60211+
pub fn b_type(mut self, b_type: ComponentTypeKHR) -> Self {
60212+
self.b_type = b_type;
60213+
self
60214+
}
60215+
#[inline]
60216+
pub fn c_type(mut self, c_type: ComponentTypeKHR) -> Self {
60217+
self.c_type = c_type;
60218+
self
60219+
}
60220+
#[inline]
60221+
pub fn result_type(mut self, result_type: ComponentTypeKHR) -> Self {
60222+
self.result_type = result_type;
60223+
self
60224+
}
60225+
#[inline]
60226+
pub fn saturating_accumulation(mut self, saturating_accumulation: bool) -> Self {
60227+
self.saturating_accumulation = saturating_accumulation.into();
60228+
self
60229+
}
60230+
#[inline]
60231+
pub fn scope(mut self, scope: ScopeKHR) -> Self {
60232+
self.scope = scope;
60233+
self
60234+
}
60235+
#[inline]
60236+
pub fn workgroup_invocations(mut self, workgroup_invocations: u32) -> Self {
60237+
self.workgroup_invocations = workgroup_invocations;
60238+
self
60239+
}
60240+
}

ash/src/vk/extensions.rs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4130,6 +4130,12 @@ impl StructureType {
41304130
pub const PHYSICAL_DEVICE_DEPTH_CLAMP_CONTROL_FEATURES_EXT: Self = Self(1_000_582_000);
41314131
pub const PIPELINE_VIEWPORT_DEPTH_CLAMP_CONTROL_CREATE_INFO_EXT: Self = Self(1_000_582_001);
41324132
}
4133+
#[doc = "Generated from 'VK_NV_cooperative_matrix2'"]
4134+
impl StructureType {
4135+
pub const PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_FEATURES_NV: Self = Self(1_000_593_000);
4136+
pub const COOPERATIVE_MATRIX_FLEXIBLE_DIMENSIONS_PROPERTIES_NV: Self = Self(1_000_593_001);
4137+
pub const PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_PROPERTIES_NV: Self = Self(1_000_593_002);
4138+
}
41334139
pub const KHR_SURFACE_NAME: &CStr =
41344140
unsafe { CStr::from_bytes_with_nul_unchecked(b"VK_KHR_surface\0") };
41354141
pub const KHR_SURFACE_SPEC_VERSION: u32 = 25u32;
@@ -8199,3 +8205,13 @@ pub const MESA_IMAGE_ALIGNMENT_CONTROL_SPEC_VERSION: u32 = 1u32;
81998205
pub const EXT_DEPTH_CLAMP_CONTROL_NAME: &CStr =
82008206
unsafe { CStr::from_bytes_with_nul_unchecked(b"VK_EXT_depth_clamp_control\0") };
82018207
pub const EXT_DEPTH_CLAMP_CONTROL_SPEC_VERSION: u32 = 1u32;
8208+
pub const NV_COOPERATIVE_MATRIX2_NAME: &CStr =
8209+
unsafe { CStr::from_bytes_with_nul_unchecked(b"VK_NV_cooperative_matrix2\0") };
8210+
pub const NV_COOPERATIVE_MATRIX2_SPEC_VERSION: u32 = 1u32;
8211+
#[allow(non_camel_case_types)]
8212+
pub type PFN_vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV =
8213+
unsafe extern "system" fn(
8214+
physical_device: PhysicalDevice,
8215+
p_property_count: *mut u32,
8216+
p_properties: *mut CooperativeMatrixFlexibleDimensionsPropertiesNV<'_>,
8217+
) -> Result;

0 commit comments

Comments
 (0)