#[doc(alias = "VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION")]
pub const KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION: u32 = 2;
#[doc(alias = "VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME")]
pub const KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME: *const std::os::raw::c_char = crate::cstr!(
"VK_KHR_get_physical_device_properties2"
);
pub const FN_GET_PHYSICAL_DEVICE_FEATURES2_KHR: *const std::os::raw::c_char = crate::cstr!(
"vkGetPhysicalDeviceFeatures2KHR"
);
pub const FN_GET_PHYSICAL_DEVICE_PROPERTIES2_KHR: *const std::os::raw::c_char = crate::cstr!(
"vkGetPhysicalDeviceProperties2KHR"
);
pub const FN_GET_PHYSICAL_DEVICE_FORMAT_PROPERTIES2_KHR: *const std::os::raw::c_char = crate::cstr!(
"vkGetPhysicalDeviceFormatProperties2KHR"
);
pub const FN_GET_PHYSICAL_DEVICE_IMAGE_FORMAT_PROPERTIES2_KHR: *const std::os::raw::c_char = crate::cstr!(
"vkGetPhysicalDeviceImageFormatProperties2KHR"
);
pub const FN_GET_PHYSICAL_DEVICE_QUEUE_FAMILY_PROPERTIES2_KHR: *const std::os::raw::c_char = crate::cstr!(
"vkGetPhysicalDeviceQueueFamilyProperties2KHR"
);
pub const FN_GET_PHYSICAL_DEVICE_MEMORY_PROPERTIES2_KHR: *const std::os::raw::c_char = crate::cstr!(
"vkGetPhysicalDeviceMemoryProperties2KHR"
);
pub const FN_GET_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_PROPERTIES2_KHR: *const std::os::raw::c_char = crate::cstr!(
"vkGetPhysicalDeviceSparseImageFormatProperties2KHR"
);
#[doc(alias = "VkPhysicalDeviceFeatures2KHR")]
#[allow(non_camel_case_types)]
pub type PhysicalDeviceFeatures2KHR = crate::vk1_1::PhysicalDeviceFeatures2;
#[doc(alias = "VkPhysicalDeviceFeatures2KHR")]
#[allow(non_camel_case_types)]
pub type PhysicalDeviceFeatures2KHRBuilder<'a> = crate::vk1_1::PhysicalDeviceFeatures2Builder<
'a,
>;
#[doc(alias = "VkPhysicalDeviceProperties2KHR")]
#[allow(non_camel_case_types)]
pub type PhysicalDeviceProperties2KHR = crate::vk1_1::PhysicalDeviceProperties2;
#[doc(alias = "VkPhysicalDeviceProperties2KHR")]
#[allow(non_camel_case_types)]
pub type PhysicalDeviceProperties2KHRBuilder<'a> = crate::vk1_1::PhysicalDeviceProperties2Builder<
'a,
>;
#[doc(alias = "VkFormatProperties2KHR")]
#[allow(non_camel_case_types)]
pub type FormatProperties2KHR = crate::vk1_1::FormatProperties2;
#[doc(alias = "VkFormatProperties2KHR")]
#[allow(non_camel_case_types)]
pub type FormatProperties2KHRBuilder<'a> = crate::vk1_1::FormatProperties2Builder<'a>;
#[doc(alias = "VkImageFormatProperties2KHR")]
#[allow(non_camel_case_types)]
pub type ImageFormatProperties2KHR = crate::vk1_1::ImageFormatProperties2;
#[doc(alias = "VkImageFormatProperties2KHR")]
#[allow(non_camel_case_types)]
pub type ImageFormatProperties2KHRBuilder<'a> = crate::vk1_1::ImageFormatProperties2Builder<
'a,
>;
#[doc(alias = "VkPhysicalDeviceImageFormatInfo2KHR")]
#[allow(non_camel_case_types)]
pub type PhysicalDeviceImageFormatInfo2KHR = crate::vk1_1::PhysicalDeviceImageFormatInfo2;
#[doc(alias = "VkPhysicalDeviceImageFormatInfo2KHR")]
#[allow(non_camel_case_types)]
pub type PhysicalDeviceImageFormatInfo2KHRBuilder<'a> = crate::vk1_1::PhysicalDeviceImageFormatInfo2Builder<
'a,
>;
#[doc(alias = "VkQueueFamilyProperties2KHR")]
#[allow(non_camel_case_types)]
pub type QueueFamilyProperties2KHR = crate::vk1_1::QueueFamilyProperties2;
#[doc(alias = "VkQueueFamilyProperties2KHR")]
#[allow(non_camel_case_types)]
pub type QueueFamilyProperties2KHRBuilder<'a> = crate::vk1_1::QueueFamilyProperties2Builder<
'a,
>;
#[doc(alias = "VkPhysicalDeviceMemoryProperties2KHR")]
#[allow(non_camel_case_types)]
pub type PhysicalDeviceMemoryProperties2KHR = crate::vk1_1::PhysicalDeviceMemoryProperties2;
#[doc(alias = "VkPhysicalDeviceMemoryProperties2KHR")]
#[allow(non_camel_case_types)]
pub type PhysicalDeviceMemoryProperties2KHRBuilder<'a> = crate::vk1_1::PhysicalDeviceMemoryProperties2Builder<
'a,
>;
#[doc(alias = "VkSparseImageFormatProperties2KHR")]
#[allow(non_camel_case_types)]
pub type SparseImageFormatProperties2KHR = crate::vk1_1::SparseImageFormatProperties2;
#[doc(alias = "VkSparseImageFormatProperties2KHR")]
#[allow(non_camel_case_types)]
pub type SparseImageFormatProperties2KHRBuilder<'a> = crate::vk1_1::SparseImageFormatProperties2Builder<
'a,
>;
#[doc(alias = "VkPhysicalDeviceSparseImageFormatInfo2KHR")]
#[allow(non_camel_case_types)]
pub type PhysicalDeviceSparseImageFormatInfo2KHR = crate::vk1_1::PhysicalDeviceSparseImageFormatInfo2;
#[doc(alias = "VkPhysicalDeviceSparseImageFormatInfo2KHR")]
#[allow(non_camel_case_types)]
pub type PhysicalDeviceSparseImageFormatInfo2KHRBuilder<'a> = crate::vk1_1::PhysicalDeviceSparseImageFormatInfo2Builder<
'a,
>;
#[allow(non_camel_case_types)]
pub type PFN_vkGetPhysicalDeviceFeatures2KHR = crate::vk1_1::PFN_vkGetPhysicalDeviceFeatures2;
#[allow(non_camel_case_types)]
pub type PFN_vkGetPhysicalDeviceProperties2KHR = crate::vk1_1::PFN_vkGetPhysicalDeviceProperties2;
#[allow(non_camel_case_types)]
pub type PFN_vkGetPhysicalDeviceFormatProperties2KHR = crate::vk1_1::PFN_vkGetPhysicalDeviceFormatProperties2;
#[allow(non_camel_case_types)]
pub type PFN_vkGetPhysicalDeviceImageFormatProperties2KHR = crate::vk1_1::PFN_vkGetPhysicalDeviceImageFormatProperties2;
#[allow(non_camel_case_types)]
pub type PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR = crate::vk1_1::PFN_vkGetPhysicalDeviceQueueFamilyProperties2;
#[allow(non_camel_case_types)]
pub type PFN_vkGetPhysicalDeviceMemoryProperties2KHR = crate::vk1_1::PFN_vkGetPhysicalDeviceMemoryProperties2;
#[allow(non_camel_case_types)]
pub type PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR = crate::vk1_1::PFN_vkGetPhysicalDeviceSparseImageFormatProperties2;
impl crate::vk1_0::StructureType {
pub const PHYSICAL_DEVICE_FEATURES_2_KHR: Self = Self::PHYSICAL_DEVICE_FEATURES_2;
pub const PHYSICAL_DEVICE_PROPERTIES_2_KHR: Self = Self::PHYSICAL_DEVICE_PROPERTIES_2;
pub const FORMAT_PROPERTIES_2_KHR: Self = Self::FORMAT_PROPERTIES_2;
pub const IMAGE_FORMAT_PROPERTIES_2_KHR: Self = Self::IMAGE_FORMAT_PROPERTIES_2;
pub const PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR: Self = Self::PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2;
pub const QUEUE_FAMILY_PROPERTIES_2_KHR: Self = Self::QUEUE_FAMILY_PROPERTIES_2;
pub const PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR: Self = Self::PHYSICAL_DEVICE_MEMORY_PROPERTIES_2;
pub const SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR: Self = Self::SPARSE_IMAGE_FORMAT_PROPERTIES_2;
pub const PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR: Self = Self::PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2;
}
impl crate::InstanceLoader {
#[inline]
#[track_caller]
#[doc(alias = "vkGetPhysicalDeviceFeatures2KHR")]
pub unsafe fn get_physical_device_features2_khr(
&self,
physical_device: crate::vk1_0::PhysicalDevice,
features: &mut crate::vk1_1::PhysicalDeviceFeatures2,
) -> () {
let _function = self
.get_physical_device_features2_khr
.expect(crate::NOT_LOADED_MESSAGE);
let _return = _function(physical_device as _, features as _);
()
}
#[inline]
#[track_caller]
#[doc(alias = "vkGetPhysicalDeviceProperties2KHR")]
pub unsafe fn get_physical_device_properties2_khr(
&self,
physical_device: crate::vk1_0::PhysicalDevice,
properties: &mut crate::vk1_1::PhysicalDeviceProperties2,
) -> () {
let _function = self
.get_physical_device_properties2_khr
.expect(crate::NOT_LOADED_MESSAGE);
let _return = _function(physical_device as _, properties as _);
()
}
#[inline]
#[track_caller]
#[doc(alias = "vkGetPhysicalDeviceFormatProperties2KHR")]
pub unsafe fn get_physical_device_format_properties2_khr(
&self,
physical_device: crate::vk1_0::PhysicalDevice,
format: crate::vk1_0::Format,
format_properties: &mut crate::vk1_1::FormatProperties2,
) -> () {
let _function = self
.get_physical_device_format_properties2_khr
.expect(crate::NOT_LOADED_MESSAGE);
let _return = _function(
physical_device as _,
format as _,
format_properties as _,
);
()
}
#[inline]
#[track_caller]
#[doc(alias = "vkGetPhysicalDeviceImageFormatProperties2KHR")]
pub unsafe fn get_physical_device_image_format_properties2_khr(
&self,
physical_device: crate::vk1_0::PhysicalDevice,
image_format_info: &crate::vk1_1::PhysicalDeviceImageFormatInfo2,
image_format_properties: &mut crate::vk1_1::ImageFormatProperties2,
) -> crate::utils::VulkanResult<()> {
let _function = self
.get_physical_device_image_format_properties2_khr
.expect(crate::NOT_LOADED_MESSAGE);
let _return = _function(
physical_device as _,
image_format_info as _,
image_format_properties as _,
);
crate::utils::VulkanResult::new(_return, ())
}
#[inline]
#[track_caller]
#[doc(alias = "vkGetPhysicalDeviceQueueFamilyProperties2KHR")]
pub unsafe fn get_physical_device_queue_family_properties2_khr(
&self,
physical_device: crate::vk1_0::PhysicalDevice,
queue_family_property_count: Option<u32>,
queue_family_properties_callback: impl FnMut(
&mut crate::SmallVec<crate::vk1_1::QueueFamilyProperties2>,
) -> (),
) -> crate::SmallVec<crate::vk1_1::QueueFamilyProperties2> {
let _function = self
.get_physical_device_queue_family_properties2_khr
.expect(crate::NOT_LOADED_MESSAGE);
let mut queue_family_property_count = match queue_family_property_count {
Some(v) => v,
None => {
let mut v = Default::default();
_function(physical_device as _, &mut v, std::ptr::null_mut());
v
}
};
let mut queue_family_properties = crate::SmallVec::from_elem(
Default::default(),
queue_family_property_count as _,
);
let mut _callback = queue_family_properties_callback;
_callback(&mut queue_family_properties);
let _return = _function(
physical_device as _,
&mut queue_family_property_count,
queue_family_properties.as_mut_ptr(),
);
queue_family_properties
}
#[inline]
#[track_caller]
#[doc(alias = "vkGetPhysicalDeviceMemoryProperties2KHR")]
pub unsafe fn get_physical_device_memory_properties2_khr(
&self,
physical_device: crate::vk1_0::PhysicalDevice,
memory_properties: &mut crate::vk1_1::PhysicalDeviceMemoryProperties2,
) -> () {
let _function = self
.get_physical_device_memory_properties2_khr
.expect(crate::NOT_LOADED_MESSAGE);
let _return = _function(physical_device as _, memory_properties as _);
()
}
#[inline]
#[track_caller]
#[doc(alias = "vkGetPhysicalDeviceSparseImageFormatProperties2KHR")]
pub unsafe fn get_physical_device_sparse_image_format_properties2_khr(
&self,
physical_device: crate::vk1_0::PhysicalDevice,
format_info: &crate::vk1_1::PhysicalDeviceSparseImageFormatInfo2,
property_count: Option<u32>,
properties_callback: impl FnMut(
&mut crate::SmallVec<crate::vk1_1::SparseImageFormatProperties2>,
) -> (),
) -> crate::SmallVec<crate::vk1_1::SparseImageFormatProperties2> {
let _function = self
.get_physical_device_sparse_image_format_properties2_khr
.expect(crate::NOT_LOADED_MESSAGE);
let mut property_count = match property_count {
Some(v) => v,
None => {
let mut v = Default::default();
_function(
physical_device as _,
format_info as _,
&mut v,
std::ptr::null_mut(),
);
v
}
};
let mut properties = crate::SmallVec::from_elem(
Default::default(),
property_count as _,
);
let mut _callback = properties_callback;
_callback(&mut properties);
let _return = _function(
physical_device as _,
format_info as _,
&mut property_count,
properties.as_mut_ptr(),
);
properties
}
}