@@ -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>"]
5959pub 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>"]
6363pub 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+ }
0 commit comments