#[doc(alias = "VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION")]
pub const KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION: u32 = 1;
#[doc(alias = "VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME")]
pub const KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME: *const std::os::raw::c_char = crate::cstr!(
"VK_KHR_get_memory_requirements2"
);
pub const FN_GET_BUFFER_MEMORY_REQUIREMENTS2_KHR: *const std::os::raw::c_char = crate::cstr!(
"vkGetBufferMemoryRequirements2KHR"
);
pub const FN_GET_IMAGE_MEMORY_REQUIREMENTS2_KHR: *const std::os::raw::c_char = crate::cstr!(
"vkGetImageMemoryRequirements2KHR"
);
pub const FN_GET_IMAGE_SPARSE_MEMORY_REQUIREMENTS2_KHR: *const std::os::raw::c_char = crate::cstr!(
"vkGetImageSparseMemoryRequirements2KHR"
);
#[doc(alias = "VkBufferMemoryRequirementsInfo2KHR")]
#[allow(non_camel_case_types)]
pub type BufferMemoryRequirementsInfo2KHR = crate::vk1_1::BufferMemoryRequirementsInfo2;
#[doc(alias = "VkBufferMemoryRequirementsInfo2KHR")]
#[allow(non_camel_case_types)]
pub type BufferMemoryRequirementsInfo2KHRBuilder<'a> = crate::vk1_1::BufferMemoryRequirementsInfo2Builder<
'a,
>;
#[doc(alias = "VkImageMemoryRequirementsInfo2KHR")]
#[allow(non_camel_case_types)]
pub type ImageMemoryRequirementsInfo2KHR = crate::vk1_1::ImageMemoryRequirementsInfo2;
#[doc(alias = "VkImageMemoryRequirementsInfo2KHR")]
#[allow(non_camel_case_types)]
pub type ImageMemoryRequirementsInfo2KHRBuilder<'a> = crate::vk1_1::ImageMemoryRequirementsInfo2Builder<
'a,
>;
#[doc(alias = "VkImageSparseMemoryRequirementsInfo2KHR")]
#[allow(non_camel_case_types)]
pub type ImageSparseMemoryRequirementsInfo2KHR = crate::vk1_1::ImageSparseMemoryRequirementsInfo2;
#[doc(alias = "VkImageSparseMemoryRequirementsInfo2KHR")]
#[allow(non_camel_case_types)]
pub type ImageSparseMemoryRequirementsInfo2KHRBuilder<'a> = crate::vk1_1::ImageSparseMemoryRequirementsInfo2Builder<
'a,
>;
#[doc(alias = "VkMemoryRequirements2KHR")]
#[allow(non_camel_case_types)]
pub type MemoryRequirements2KHR = crate::vk1_1::MemoryRequirements2;
#[doc(alias = "VkMemoryRequirements2KHR")]
#[allow(non_camel_case_types)]
pub type MemoryRequirements2KHRBuilder<'a> = crate::vk1_1::MemoryRequirements2Builder<
'a,
>;
#[doc(alias = "VkSparseImageMemoryRequirements2KHR")]
#[allow(non_camel_case_types)]
pub type SparseImageMemoryRequirements2KHR = crate::vk1_1::SparseImageMemoryRequirements2;
#[doc(alias = "VkSparseImageMemoryRequirements2KHR")]
#[allow(non_camel_case_types)]
pub type SparseImageMemoryRequirements2KHRBuilder<'a> = crate::vk1_1::SparseImageMemoryRequirements2Builder<
'a,
>;
#[allow(non_camel_case_types)]
pub type PFN_vkGetBufferMemoryRequirements2KHR = crate::vk1_1::PFN_vkGetBufferMemoryRequirements2;
#[allow(non_camel_case_types)]
pub type PFN_vkGetImageMemoryRequirements2KHR = crate::vk1_1::PFN_vkGetImageMemoryRequirements2;
#[allow(non_camel_case_types)]
pub type PFN_vkGetImageSparseMemoryRequirements2KHR = crate::vk1_1::PFN_vkGetImageSparseMemoryRequirements2;
impl crate::vk1_0::StructureType {
pub const BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR: Self = Self::BUFFER_MEMORY_REQUIREMENTS_INFO_2;
pub const IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR: Self = Self::IMAGE_MEMORY_REQUIREMENTS_INFO_2;
pub const IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR: Self = Self::IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2;
pub const MEMORY_REQUIREMENTS_2_KHR: Self = Self::MEMORY_REQUIREMENTS_2;
pub const SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR: Self = Self::SPARSE_IMAGE_MEMORY_REQUIREMENTS_2;
}
impl crate::DeviceLoader {
#[inline]
#[track_caller]
#[doc(alias = "vkGetBufferMemoryRequirements2KHR")]
pub unsafe fn get_buffer_memory_requirements2_khr(
&self,
info: &crate::vk1_1::BufferMemoryRequirementsInfo2,
memory_requirements: &mut crate::vk1_1::MemoryRequirements2,
) -> () {
let _function = self
.get_buffer_memory_requirements2_khr
.expect(crate::NOT_LOADED_MESSAGE);
let _return = _function(self.handle, info as _, memory_requirements as _);
()
}
#[inline]
#[track_caller]
#[doc(alias = "vkGetImageMemoryRequirements2KHR")]
pub unsafe fn get_image_memory_requirements2_khr(
&self,
info: &crate::vk1_1::ImageMemoryRequirementsInfo2,
memory_requirements: &mut crate::vk1_1::MemoryRequirements2,
) -> () {
let _function = self
.get_image_memory_requirements2_khr
.expect(crate::NOT_LOADED_MESSAGE);
let _return = _function(self.handle, info as _, memory_requirements as _);
()
}
#[inline]
#[track_caller]
#[doc(alias = "vkGetImageSparseMemoryRequirements2KHR")]
pub unsafe fn get_image_sparse_memory_requirements2_khr(
&self,
info: &crate::vk1_1::ImageSparseMemoryRequirementsInfo2,
sparse_memory_requirement_count: Option<u32>,
sparse_memory_requirements_callback: impl FnMut(
&mut crate::SmallVec<crate::vk1_1::SparseImageMemoryRequirements2>,
) -> (),
) -> crate::SmallVec<crate::vk1_1::SparseImageMemoryRequirements2> {
let _function = self
.get_image_sparse_memory_requirements2_khr
.expect(crate::NOT_LOADED_MESSAGE);
let mut sparse_memory_requirement_count = match sparse_memory_requirement_count {
Some(v) => v,
None => {
let mut v = Default::default();
_function(self.handle, info as _, &mut v, std::ptr::null_mut());
v
}
};
let mut sparse_memory_requirements = crate::SmallVec::from_elem(
Default::default(),
sparse_memory_requirement_count as _,
);
let mut _callback = sparse_memory_requirements_callback;
_callback(&mut sparse_memory_requirements);
let _return = _function(
self.handle,
info as _,
&mut sparse_memory_requirement_count,
sparse_memory_requirements.as_mut_ptr(),
);
sparse_memory_requirements
}
}