#[doc(alias = "VK_EXT_PRIVATE_DATA_SPEC_VERSION")]
pub const EXT_PRIVATE_DATA_SPEC_VERSION: u32 = 1;
#[doc(alias = "VK_EXT_PRIVATE_DATA_EXTENSION_NAME")]
pub const EXT_PRIVATE_DATA_EXTENSION_NAME: *const std::os::raw::c_char = crate::cstr!(
"VK_EXT_private_data"
);
pub const FN_CREATE_PRIVATE_DATA_SLOT_EXT: *const std::os::raw::c_char = crate::cstr!(
"vkCreatePrivateDataSlotEXT"
);
pub const FN_DESTROY_PRIVATE_DATA_SLOT_EXT: *const std::os::raw::c_char = crate::cstr!(
"vkDestroyPrivateDataSlotEXT"
);
pub const FN_SET_PRIVATE_DATA_EXT: *const std::os::raw::c_char = crate::cstr!(
"vkSetPrivateDataEXT"
);
pub const FN_GET_PRIVATE_DATA_EXT: *const std::os::raw::c_char = crate::cstr!(
"vkGetPrivateDataEXT"
);
#[doc(alias = "VkPrivateDataSlotCreateFlagsEXT")]
#[allow(non_camel_case_types)]
pub type PrivateDataSlotCreateFlagsEXT = crate::vk1_3::PrivateDataSlotCreateFlags;
#[doc(alias = "VkPrivateDataSlotEXT")]
#[allow(non_camel_case_types)]
pub type PrivateDataSlotEXT = crate::vk1_3::PrivateDataSlot;
#[doc(alias = "VkDevicePrivateDataCreateInfoEXT")]
#[allow(non_camel_case_types)]
pub type DevicePrivateDataCreateInfoEXT = crate::vk1_3::DevicePrivateDataCreateInfo;
#[doc(alias = "VkDevicePrivateDataCreateInfoEXT")]
#[allow(non_camel_case_types)]
pub type DevicePrivateDataCreateInfoEXTBuilder<'a> = crate::vk1_3::DevicePrivateDataCreateInfoBuilder<
'a,
>;
#[doc(alias = "VkPrivateDataSlotCreateInfoEXT")]
#[allow(non_camel_case_types)]
pub type PrivateDataSlotCreateInfoEXT = crate::vk1_3::PrivateDataSlotCreateInfo;
#[doc(alias = "VkPrivateDataSlotCreateInfoEXT")]
#[allow(non_camel_case_types)]
pub type PrivateDataSlotCreateInfoEXTBuilder<'a> = crate::vk1_3::PrivateDataSlotCreateInfoBuilder<
'a,
>;
#[doc(alias = "VkPhysicalDevicePrivateDataFeaturesEXT")]
#[allow(non_camel_case_types)]
pub type PhysicalDevicePrivateDataFeaturesEXT = crate::vk1_3::PhysicalDevicePrivateDataFeatures;
#[doc(alias = "VkPhysicalDevicePrivateDataFeaturesEXT")]
#[allow(non_camel_case_types)]
pub type PhysicalDevicePrivateDataFeaturesEXTBuilder<'a> = crate::vk1_3::PhysicalDevicePrivateDataFeaturesBuilder<
'a,
>;
#[allow(non_camel_case_types)]
pub type PFN_vkCreatePrivateDataSlotEXT = crate::vk1_3::PFN_vkCreatePrivateDataSlot;
#[allow(non_camel_case_types)]
pub type PFN_vkDestroyPrivateDataSlotEXT = crate::vk1_3::PFN_vkDestroyPrivateDataSlot;
#[allow(non_camel_case_types)]
pub type PFN_vkSetPrivateDataEXT = crate::vk1_3::PFN_vkSetPrivateData;
#[allow(non_camel_case_types)]
pub type PFN_vkGetPrivateDataEXT = crate::vk1_3::PFN_vkGetPrivateData;
impl crate::vk1_0::StructureType {
pub const PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT: Self = Self::PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES;
pub const DEVICE_PRIVATE_DATA_CREATE_INFO_EXT: Self = Self::DEVICE_PRIVATE_DATA_CREATE_INFO;
pub const PRIVATE_DATA_SLOT_CREATE_INFO_EXT: Self = Self::PRIVATE_DATA_SLOT_CREATE_INFO;
}
impl crate::vk1_0::ObjectType {
pub const PRIVATE_DATA_SLOT_EXT: Self = Self::PRIVATE_DATA_SLOT;
}
impl crate::DeviceLoader {
#[inline]
#[track_caller]
#[doc(alias = "vkCreatePrivateDataSlotEXT")]
pub unsafe fn create_private_data_slot_ext(
&self,
create_info: &crate::vk1_3::PrivateDataSlotCreateInfo,
allocator: Option<&crate::vk1_0::AllocationCallbacks>,
) -> crate::utils::VulkanResult<crate::vk1_3::PrivateDataSlot> {
let _function = self
.create_private_data_slot_ext
.expect(crate::NOT_LOADED_MESSAGE);
let mut private_data_slot = Default::default();
let _return = _function(
self.handle,
create_info as _,
match allocator {
Some(v) => v,
None => std::ptr::null(),
},
&mut private_data_slot,
);
crate::utils::VulkanResult::new(_return, private_data_slot)
}
#[inline]
#[track_caller]
#[doc(alias = "vkDestroyPrivateDataSlotEXT")]
pub unsafe fn destroy_private_data_slot_ext(
&self,
private_data_slot: crate::vk1_3::PrivateDataSlot,
allocator: Option<&crate::vk1_0::AllocationCallbacks>,
) -> () {
let _function = self
.destroy_private_data_slot_ext
.expect(crate::NOT_LOADED_MESSAGE);
let _return = _function(
self.handle,
private_data_slot as _,
match allocator {
Some(v) => v,
None => std::ptr::null(),
},
);
()
}
#[inline]
#[track_caller]
#[doc(alias = "vkSetPrivateDataEXT")]
pub unsafe fn set_private_data_ext(
&self,
object_type: crate::vk1_0::ObjectType,
object_handle: u64,
private_data_slot: crate::vk1_3::PrivateDataSlot,
data: u64,
) -> crate::utils::VulkanResult<()> {
let _function = self.set_private_data_ext.expect(crate::NOT_LOADED_MESSAGE);
let _return = _function(
self.handle,
object_type as _,
object_handle as _,
private_data_slot as _,
data as _,
);
crate::utils::VulkanResult::new(_return, ())
}
#[inline]
#[track_caller]
#[doc(alias = "vkGetPrivateDataEXT")]
pub unsafe fn get_private_data_ext(
&self,
object_type: crate::vk1_0::ObjectType,
object_handle: u64,
private_data_slot: crate::vk1_3::PrivateDataSlot,
) -> u64 {
let _function = self.get_private_data_ext.expect(crate::NOT_LOADED_MESSAGE);
let mut data = Default::default();
let _return = _function(
self.handle,
object_type as _,
object_handle as _,
private_data_slot as _,
&mut data,
);
data
}
}