Skip to content

Commit 9d4fdd7

Browse files
committed
Update Vulkan-Headers to 1.3.255
1 parent a0f8b9c commit 9d4fdd7

File tree

7 files changed

+320
-4
lines changed

7 files changed

+320
-4
lines changed

Changelog.md

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

1212
- Added `Handle::is_null()` to allow checking if a handle is a `NULL` value (#694)
1313
- Allow building `Entry`/`Instance`/`Device` from handle+fns (see their `from_parts_1_x()` associated functions) (#748)
14-
- Update Vulkan-Headers to 1.3.254 (#760)
14+
- Update Vulkan-Headers to 1.3.255 (#760, #763)
1515
- Added `VK_NV_memory_decompression` device extension (#761)
1616

1717
### Changed

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.37.0+1.3.254"
3+
version = "0.37.0+1.3.255"
44
authors = [
55
"Maik Klein <[email protected]>",
66
"Benjamin Saunders <[email protected]>",

ash/src/vk/const_debugs.rs

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -887,6 +887,29 @@ impl fmt::Debug for ComponentSwizzle {
887887
}
888888
}
889889
}
890+
impl fmt::Debug for ComponentTypeKHR {
891+
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
892+
let name = match *self {
893+
Self::FLOAT16 => Some("FLOAT16"),
894+
Self::FLOAT32 => Some("FLOAT32"),
895+
Self::FLOAT64 => Some("FLOAT64"),
896+
Self::SINT8 => Some("SINT8"),
897+
Self::SINT16 => Some("SINT16"),
898+
Self::SINT32 => Some("SINT32"),
899+
Self::SINT64 => Some("SINT64"),
900+
Self::UINT8 => Some("UINT8"),
901+
Self::UINT16 => Some("UINT16"),
902+
Self::UINT32 => Some("UINT32"),
903+
Self::UINT64 => Some("UINT64"),
904+
_ => None,
905+
};
906+
if let Some(x) = name {
907+
f.write_str(x)
908+
} else {
909+
self.0.fmt(f)
910+
}
911+
}
912+
}
890913
impl fmt::Debug for ComponentTypeNV {
891914
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
892915
let name = match *self {
@@ -4293,6 +4316,22 @@ impl fmt::Debug for SamplerYcbcrRange {
42934316
}
42944317
}
42954318
}
4319+
impl fmt::Debug for ScopeKHR {
4320+
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4321+
let name = match *self {
4322+
Self::DEVICE => Some("DEVICE"),
4323+
Self::WORKGROUP => Some("WORKGROUP"),
4324+
Self::SUBGROUP => Some("SUBGROUP"),
4325+
Self::QUEUE_FAMILY => Some("QUEUE_FAMILY"),
4326+
_ => None,
4327+
};
4328+
if let Some(x) = name {
4329+
f.write_str(x)
4330+
} else {
4331+
self.0.fmt(f)
4332+
}
4333+
}
4334+
}
42964335
impl fmt::Debug for ScopeNV {
42974336
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
42984337
let name = match *self {
@@ -5989,6 +6028,13 @@ impl fmt::Debug for StructureType {
59896028
Self::PHYSICAL_DEVICE_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT => {
59906029
Some("PHYSICAL_DEVICE_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT")
59916030
}
6031+
Self::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR => {
6032+
Some("PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR")
6033+
}
6034+
Self::COOPERATIVE_MATRIX_PROPERTIES_KHR => Some("COOPERATIVE_MATRIX_PROPERTIES_KHR"),
6035+
Self::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR => {
6036+
Some("PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR")
6037+
}
59926038
Self::PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM => {
59936039
Some("PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM")
59946040
}

ash/src/vk/definitions.rs

Lines changed: 169 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://www.khronos.org/registry/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://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_HEADER_VERSION.html>"]
61-
pub const HEADER_VERSION: u32 = 254;
61+
pub const HEADER_VERSION: u32 = 255;
6262
#[doc = "<https://www.khronos.org/registry/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://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkSampleMask.html>"]
@@ -49189,3 +49189,171 @@ impl<'a> PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX<'a> {
4918949189
self
4919049190
}
4919149191
}
49192+
#[repr(C)]
49193+
#[cfg_attr(feature = "debug", derive(Debug))]
49194+
#[derive(Copy, Clone)]
49195+
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceCooperativeMatrixFeaturesKHR.html>"]
49196+
pub struct PhysicalDeviceCooperativeMatrixFeaturesKHR<'a> {
49197+
pub s_type: StructureType,
49198+
pub p_next: *mut c_void,
49199+
pub cooperative_matrix: Bool32,
49200+
pub cooperative_matrix_robust_buffer_access: Bool32,
49201+
pub _marker: PhantomData<&'a ()>,
49202+
}
49203+
impl ::std::default::Default for PhysicalDeviceCooperativeMatrixFeaturesKHR<'_> {
49204+
#[inline]
49205+
fn default() -> Self {
49206+
Self {
49207+
s_type: Self::STRUCTURE_TYPE,
49208+
p_next: ::std::ptr::null_mut(),
49209+
cooperative_matrix: Bool32::default(),
49210+
cooperative_matrix_robust_buffer_access: Bool32::default(),
49211+
_marker: PhantomData,
49212+
}
49213+
}
49214+
}
49215+
unsafe impl<'a> TaggedStructure for PhysicalDeviceCooperativeMatrixFeaturesKHR<'a> {
49216+
const STRUCTURE_TYPE: StructureType =
49217+
StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR;
49218+
}
49219+
unsafe impl ExtendsPhysicalDeviceFeatures2 for PhysicalDeviceCooperativeMatrixFeaturesKHR<'_> {}
49220+
unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceCooperativeMatrixFeaturesKHR<'_> {}
49221+
impl<'a> PhysicalDeviceCooperativeMatrixFeaturesKHR<'a> {
49222+
#[inline]
49223+
pub fn cooperative_matrix(mut self, cooperative_matrix: bool) -> Self {
49224+
self.cooperative_matrix = cooperative_matrix.into();
49225+
self
49226+
}
49227+
#[inline]
49228+
pub fn cooperative_matrix_robust_buffer_access(
49229+
mut self,
49230+
cooperative_matrix_robust_buffer_access: bool,
49231+
) -> Self {
49232+
self.cooperative_matrix_robust_buffer_access =
49233+
cooperative_matrix_robust_buffer_access.into();
49234+
self
49235+
}
49236+
}
49237+
#[repr(C)]
49238+
#[cfg_attr(feature = "debug", derive(Debug))]
49239+
#[derive(Copy, Clone)]
49240+
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkCooperativeMatrixPropertiesKHR.html>"]
49241+
pub struct CooperativeMatrixPropertiesKHR<'a> {
49242+
pub s_type: StructureType,
49243+
pub p_next: *mut c_void,
49244+
pub m_size: u32,
49245+
pub n_size: u32,
49246+
pub k_size: u32,
49247+
pub a_type: ComponentTypeKHR,
49248+
pub b_type: ComponentTypeKHR,
49249+
pub c_type: ComponentTypeKHR,
49250+
pub result_type: ComponentTypeKHR,
49251+
pub saturating_accumulation: Bool32,
49252+
pub scope: ScopeKHR,
49253+
pub _marker: PhantomData<&'a ()>,
49254+
}
49255+
impl ::std::default::Default for CooperativeMatrixPropertiesKHR<'_> {
49256+
#[inline]
49257+
fn default() -> Self {
49258+
Self {
49259+
s_type: Self::STRUCTURE_TYPE,
49260+
p_next: ::std::ptr::null_mut(),
49261+
m_size: u32::default(),
49262+
n_size: u32::default(),
49263+
k_size: u32::default(),
49264+
a_type: ComponentTypeKHR::default(),
49265+
b_type: ComponentTypeKHR::default(),
49266+
c_type: ComponentTypeKHR::default(),
49267+
result_type: ComponentTypeKHR::default(),
49268+
saturating_accumulation: Bool32::default(),
49269+
scope: ScopeKHR::default(),
49270+
_marker: PhantomData,
49271+
}
49272+
}
49273+
}
49274+
unsafe impl<'a> TaggedStructure for CooperativeMatrixPropertiesKHR<'a> {
49275+
const STRUCTURE_TYPE: StructureType = StructureType::COOPERATIVE_MATRIX_PROPERTIES_KHR;
49276+
}
49277+
impl<'a> CooperativeMatrixPropertiesKHR<'a> {
49278+
#[inline]
49279+
pub fn m_size(mut self, m_size: u32) -> Self {
49280+
self.m_size = m_size;
49281+
self
49282+
}
49283+
#[inline]
49284+
pub fn n_size(mut self, n_size: u32) -> Self {
49285+
self.n_size = n_size;
49286+
self
49287+
}
49288+
#[inline]
49289+
pub fn k_size(mut self, k_size: u32) -> Self {
49290+
self.k_size = k_size;
49291+
self
49292+
}
49293+
#[inline]
49294+
pub fn a_type(mut self, a_type: ComponentTypeKHR) -> Self {
49295+
self.a_type = a_type;
49296+
self
49297+
}
49298+
#[inline]
49299+
pub fn b_type(mut self, b_type: ComponentTypeKHR) -> Self {
49300+
self.b_type = b_type;
49301+
self
49302+
}
49303+
#[inline]
49304+
pub fn c_type(mut self, c_type: ComponentTypeKHR) -> Self {
49305+
self.c_type = c_type;
49306+
self
49307+
}
49308+
#[inline]
49309+
pub fn result_type(mut self, result_type: ComponentTypeKHR) -> Self {
49310+
self.result_type = result_type;
49311+
self
49312+
}
49313+
#[inline]
49314+
pub fn saturating_accumulation(mut self, saturating_accumulation: bool) -> Self {
49315+
self.saturating_accumulation = saturating_accumulation.into();
49316+
self
49317+
}
49318+
#[inline]
49319+
pub fn scope(mut self, scope: ScopeKHR) -> Self {
49320+
self.scope = scope;
49321+
self
49322+
}
49323+
}
49324+
#[repr(C)]
49325+
#[cfg_attr(feature = "debug", derive(Debug))]
49326+
#[derive(Copy, Clone)]
49327+
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceCooperativeMatrixPropertiesKHR.html>"]
49328+
pub struct PhysicalDeviceCooperativeMatrixPropertiesKHR<'a> {
49329+
pub s_type: StructureType,
49330+
pub p_next: *mut c_void,
49331+
pub cooperative_matrix_supported_stages: ShaderStageFlags,
49332+
pub _marker: PhantomData<&'a ()>,
49333+
}
49334+
impl ::std::default::Default for PhysicalDeviceCooperativeMatrixPropertiesKHR<'_> {
49335+
#[inline]
49336+
fn default() -> Self {
49337+
Self {
49338+
s_type: Self::STRUCTURE_TYPE,
49339+
p_next: ::std::ptr::null_mut(),
49340+
cooperative_matrix_supported_stages: ShaderStageFlags::default(),
49341+
_marker: PhantomData,
49342+
}
49343+
}
49344+
}
49345+
unsafe impl<'a> TaggedStructure for PhysicalDeviceCooperativeMatrixPropertiesKHR<'a> {
49346+
const STRUCTURE_TYPE: StructureType =
49347+
StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR;
49348+
}
49349+
unsafe impl ExtendsPhysicalDeviceProperties2 for PhysicalDeviceCooperativeMatrixPropertiesKHR<'_> {}
49350+
impl<'a> PhysicalDeviceCooperativeMatrixPropertiesKHR<'a> {
49351+
#[inline]
49352+
pub fn cooperative_matrix_supported_stages(
49353+
mut self,
49354+
cooperative_matrix_supported_stages: ShaderStageFlags,
49355+
) -> Self {
49356+
self.cooperative_matrix_supported_stages = cooperative_matrix_supported_stages;
49357+
self
49358+
}
49359+
}

ash/src/vk/enums.rs

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2802,6 +2802,53 @@ impl ShaderCodeTypeEXT {
28022802
pub const BINARY: Self = Self(0);
28032803
pub const SPIRV: Self = Self(1);
28042804
}
2805+
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
2806+
#[repr(transparent)]
2807+
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkScopeKHR.html>"]
2808+
pub struct ScopeKHR(pub(crate) i32);
2809+
impl ScopeKHR {
2810+
#[inline]
2811+
pub const fn from_raw(x: i32) -> Self {
2812+
Self(x)
2813+
}
2814+
#[inline]
2815+
pub const fn as_raw(self) -> i32 {
2816+
self.0
2817+
}
2818+
}
2819+
impl ScopeKHR {
2820+
pub const DEVICE: Self = Self(1);
2821+
pub const WORKGROUP: Self = Self(2);
2822+
pub const SUBGROUP: Self = Self(3);
2823+
pub const QUEUE_FAMILY: Self = Self(5);
2824+
}
2825+
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
2826+
#[repr(transparent)]
2827+
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkComponentTypeKHR.html>"]
2828+
pub struct ComponentTypeKHR(pub(crate) i32);
2829+
impl ComponentTypeKHR {
2830+
#[inline]
2831+
pub const fn from_raw(x: i32) -> Self {
2832+
Self(x)
2833+
}
2834+
#[inline]
2835+
pub const fn as_raw(self) -> i32 {
2836+
self.0
2837+
}
2838+
}
2839+
impl ComponentTypeKHR {
2840+
pub const FLOAT16: Self = Self(0);
2841+
pub const FLOAT32: Self = Self(1);
2842+
pub const FLOAT64: Self = Self(2);
2843+
pub const SINT8: Self = Self(3);
2844+
pub const SINT16: Self = Self(4);
2845+
pub const SINT32: Self = Self(5);
2846+
pub const SINT64: Self = Self(6);
2847+
pub const UINT8: Self = Self(7);
2848+
pub const UINT16: Self = Self(8);
2849+
pub const UINT32: Self = Self(9);
2850+
pub const UINT64: Self = Self(10);
2851+
}
28052852
impl fmt::Debug for ObjectType {
28062853
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
28072854
let name = match *self {

ash/src/vk/extensions.rs

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20644,6 +20644,61 @@ impl StructureType {
2064420644
pub const PHYSICAL_DEVICE_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT: Self =
2064520645
Self(1_000_499_000);
2064620646
}
20647+
impl KhrCooperativeMatrixFn {
20648+
pub const NAME: &'static ::std::ffi::CStr =
20649+
unsafe { ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"VK_KHR_cooperative_matrix\0") };
20650+
pub const SPEC_VERSION: u32 = 2u32;
20651+
}
20652+
#[allow(non_camel_case_types)]
20653+
pub type PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR =
20654+
unsafe extern "system" fn(
20655+
physical_device: PhysicalDevice,
20656+
p_property_count: *mut u32,
20657+
p_properties: *mut CooperativeMatrixPropertiesKHR,
20658+
) -> Result;
20659+
#[derive(Clone)]
20660+
pub struct KhrCooperativeMatrixFn {
20661+
pub get_physical_device_cooperative_matrix_properties_khr:
20662+
PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR,
20663+
}
20664+
unsafe impl Send for KhrCooperativeMatrixFn {}
20665+
unsafe impl Sync for KhrCooperativeMatrixFn {}
20666+
impl KhrCooperativeMatrixFn {
20667+
pub fn load<F>(mut _f: F) -> Self
20668+
where
20669+
F: FnMut(&::std::ffi::CStr) -> *const c_void,
20670+
{
20671+
Self {
20672+
get_physical_device_cooperative_matrix_properties_khr: unsafe {
20673+
unsafe extern "system" fn get_physical_device_cooperative_matrix_properties_khr(
20674+
_physical_device: PhysicalDevice,
20675+
_p_property_count: *mut u32,
20676+
_p_properties: *mut CooperativeMatrixPropertiesKHR,
20677+
) -> Result {
20678+
panic!(concat!(
20679+
"Unable to load ",
20680+
stringify!(get_physical_device_cooperative_matrix_properties_khr)
20681+
))
20682+
}
20683+
let cname = ::std::ffi::CStr::from_bytes_with_nul_unchecked(
20684+
b"vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR\0",
20685+
);
20686+
let val = _f(cname);
20687+
if val.is_null() {
20688+
get_physical_device_cooperative_matrix_properties_khr
20689+
} else {
20690+
::std::mem::transmute(val)
20691+
}
20692+
},
20693+
}
20694+
}
20695+
}
20696+
#[doc = "Generated from 'VK_KHR_cooperative_matrix'"]
20697+
impl StructureType {
20698+
pub const PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR: Self = Self(1_000_506_000);
20699+
pub const COOPERATIVE_MATRIX_PROPERTIES_KHR: Self = Self(1_000_506_001);
20700+
pub const PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR: Self = Self(1_000_506_002);
20701+
}
2064720702
impl QcomMultiviewPerViewRenderAreasFn {
2064820703
pub const NAME: &'static ::std::ffi::CStr = unsafe {
2064920704
::std::ffi::CStr::from_bytes_with_nul_unchecked(

0 commit comments

Comments
 (0)