erupt/generated/extensions/
khr_get_memory_requirements2.rs1#[doc(alias = "VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION")]
4pub const KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION: u32 = 1;
5#[doc(alias = "VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME")]
7pub const KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME: *const std::os::raw::c_char = crate::cstr!(
8 "VK_KHR_get_memory_requirements2"
9);
10pub const FN_GET_BUFFER_MEMORY_REQUIREMENTS2_KHR: *const std::os::raw::c_char = crate::cstr!(
12 "vkGetBufferMemoryRequirements2KHR"
13);
14pub const FN_GET_IMAGE_MEMORY_REQUIREMENTS2_KHR: *const std::os::raw::c_char = crate::cstr!(
16 "vkGetImageMemoryRequirements2KHR"
17);
18pub const FN_GET_IMAGE_SPARSE_MEMORY_REQUIREMENTS2_KHR: *const std::os::raw::c_char = crate::cstr!(
20 "vkGetImageSparseMemoryRequirements2KHR"
21);
22#[doc(alias = "VkBufferMemoryRequirementsInfo2KHR")]
24#[allow(non_camel_case_types)]
25pub type BufferMemoryRequirementsInfo2KHR = crate::vk1_1::BufferMemoryRequirementsInfo2;
26#[doc(alias = "VkBufferMemoryRequirementsInfo2KHR")]
28#[allow(non_camel_case_types)]
29pub type BufferMemoryRequirementsInfo2KHRBuilder<'a> = crate::vk1_1::BufferMemoryRequirementsInfo2Builder<
30 'a,
31>;
32#[doc(alias = "VkImageMemoryRequirementsInfo2KHR")]
34#[allow(non_camel_case_types)]
35pub type ImageMemoryRequirementsInfo2KHR = crate::vk1_1::ImageMemoryRequirementsInfo2;
36#[doc(alias = "VkImageMemoryRequirementsInfo2KHR")]
38#[allow(non_camel_case_types)]
39pub type ImageMemoryRequirementsInfo2KHRBuilder<'a> = crate::vk1_1::ImageMemoryRequirementsInfo2Builder<
40 'a,
41>;
42#[doc(alias = "VkImageSparseMemoryRequirementsInfo2KHR")]
44#[allow(non_camel_case_types)]
45pub type ImageSparseMemoryRequirementsInfo2KHR = crate::vk1_1::ImageSparseMemoryRequirementsInfo2;
46#[doc(alias = "VkImageSparseMemoryRequirementsInfo2KHR")]
48#[allow(non_camel_case_types)]
49pub type ImageSparseMemoryRequirementsInfo2KHRBuilder<'a> = crate::vk1_1::ImageSparseMemoryRequirementsInfo2Builder<
50 'a,
51>;
52#[doc(alias = "VkMemoryRequirements2KHR")]
54#[allow(non_camel_case_types)]
55pub type MemoryRequirements2KHR = crate::vk1_1::MemoryRequirements2;
56#[doc(alias = "VkMemoryRequirements2KHR")]
58#[allow(non_camel_case_types)]
59pub type MemoryRequirements2KHRBuilder<'a> = crate::vk1_1::MemoryRequirements2Builder<
60 'a,
61>;
62#[doc(alias = "VkSparseImageMemoryRequirements2KHR")]
64#[allow(non_camel_case_types)]
65pub type SparseImageMemoryRequirements2KHR = crate::vk1_1::SparseImageMemoryRequirements2;
66#[doc(alias = "VkSparseImageMemoryRequirements2KHR")]
68#[allow(non_camel_case_types)]
69pub type SparseImageMemoryRequirements2KHRBuilder<'a> = crate::vk1_1::SparseImageMemoryRequirements2Builder<
70 'a,
71>;
72#[allow(non_camel_case_types)]
74pub type PFN_vkGetBufferMemoryRequirements2KHR = crate::vk1_1::PFN_vkGetBufferMemoryRequirements2;
75#[allow(non_camel_case_types)]
77pub type PFN_vkGetImageMemoryRequirements2KHR = crate::vk1_1::PFN_vkGetImageMemoryRequirements2;
78#[allow(non_camel_case_types)]
80pub type PFN_vkGetImageSparseMemoryRequirements2KHR = crate::vk1_1::PFN_vkGetImageSparseMemoryRequirements2;
81impl crate::vk1_0::StructureType {
83 pub const BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR: Self = Self::BUFFER_MEMORY_REQUIREMENTS_INFO_2;
84 pub const IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR: Self = Self::IMAGE_MEMORY_REQUIREMENTS_INFO_2;
85 pub const IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR: Self = Self::IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2;
86 pub const MEMORY_REQUIREMENTS_2_KHR: Self = Self::MEMORY_REQUIREMENTS_2;
87 pub const SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR: Self = Self::SPARSE_IMAGE_MEMORY_REQUIREMENTS_2;
88}
89impl crate::DeviceLoader {
91 #[inline]
92 #[track_caller]
93 #[doc(alias = "vkGetBufferMemoryRequirements2KHR")]
95 pub unsafe fn get_buffer_memory_requirements2_khr(
96 &self,
97 info: &crate::vk1_1::BufferMemoryRequirementsInfo2,
98 memory_requirements: &mut crate::vk1_1::MemoryRequirements2,
99 ) -> () {
100 let _function = self
101 .get_buffer_memory_requirements2_khr
102 .expect(crate::NOT_LOADED_MESSAGE);
103 let _return = _function(self.handle, info as _, memory_requirements as _);
104 ()
105 }
106 #[inline]
107 #[track_caller]
108 #[doc(alias = "vkGetImageMemoryRequirements2KHR")]
110 pub unsafe fn get_image_memory_requirements2_khr(
111 &self,
112 info: &crate::vk1_1::ImageMemoryRequirementsInfo2,
113 memory_requirements: &mut crate::vk1_1::MemoryRequirements2,
114 ) -> () {
115 let _function = self
116 .get_image_memory_requirements2_khr
117 .expect(crate::NOT_LOADED_MESSAGE);
118 let _return = _function(self.handle, info as _, memory_requirements as _);
119 ()
120 }
121 #[inline]
122 #[track_caller]
123 #[doc(alias = "vkGetImageSparseMemoryRequirements2KHR")]
125 pub unsafe fn get_image_sparse_memory_requirements2_khr(
126 &self,
127 info: &crate::vk1_1::ImageSparseMemoryRequirementsInfo2,
128 sparse_memory_requirement_count: Option<u32>,
129 sparse_memory_requirements_callback: impl FnMut(
130 &mut crate::SmallVec<crate::vk1_1::SparseImageMemoryRequirements2>,
131 ) -> (),
132 ) -> crate::SmallVec<crate::vk1_1::SparseImageMemoryRequirements2> {
133 let _function = self
134 .get_image_sparse_memory_requirements2_khr
135 .expect(crate::NOT_LOADED_MESSAGE);
136 let mut sparse_memory_requirement_count = match sparse_memory_requirement_count {
137 Some(v) => v,
138 None => {
139 let mut v = Default::default();
140 _function(self.handle, info as _, &mut v, std::ptr::null_mut());
141 v
142 }
143 };
144 let mut sparse_memory_requirements = crate::SmallVec::from_elem(
145 Default::default(),
146 sparse_memory_requirement_count as _,
147 );
148 let mut _callback = sparse_memory_requirements_callback;
149 _callback(&mut sparse_memory_requirements);
150 let _return = _function(
151 self.handle,
152 info as _,
153 &mut sparse_memory_requirement_count,
154 sparse_memory_requirements.as_mut_ptr(),
155 );
156 sparse_memory_requirements
157 }
158}