use core::ptr;
use libc::c_void;
use vk;
pub const VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION: u32 = 1;
pub const VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME: &'static [u8; 39] = b"VK_KHR_get_physical_device_properties2\x00";
pub const VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME_STR: &'static str = "VK_KHR_get_physical_device_properties2";
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VkPhysicalDeviceFeatures2KHR {
pub sType: vk::VkStructureType,
pub pNext: *mut c_void,
pub features: vk::VkPhysicalDeviceFeatures,
}
impl Default for VkPhysicalDeviceFeatures2KHR {
fn default() -> Self {
VkPhysicalDeviceFeatures2KHR {
sType: vk::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR,
pNext: ptr::null_mut(),
features: Default::default(),
}
}
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VkPhysicalDeviceProperties2KHR {
pub sType: vk::VkStructureType,
pub pNext: *mut c_void,
pub properties: vk::VkPhysicalDeviceProperties,
}
impl Default for VkPhysicalDeviceProperties2KHR {
fn default() -> Self {
VkPhysicalDeviceProperties2KHR {
sType: vk::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR,
pNext: ptr::null_mut(),
properties: Default::default(),
}
}
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VkFormatProperties2KHR {
pub sType: vk::VkStructureType,
pub pNext: *mut c_void,
pub formatProperties: vk::VkFormatProperties,
}
impl Default for VkFormatProperties2KHR {
fn default() -> Self {
VkFormatProperties2KHR {
sType: vk::VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR,
pNext: ptr::null_mut(),
formatProperties: Default::default(),
}
}
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VkImageFormatProperties2KHR {
pub sType: vk::VkStructureType,
pub pNext: *mut c_void,
pub imageFormatProperties: vk::VkImageFormatProperties,
}
impl Default for VkImageFormatProperties2KHR {
fn default() -> Self {
VkImageFormatProperties2KHR {
sType: vk::VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR,
pNext: ptr::null_mut(),
imageFormatProperties: Default::default(),
}
}
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VkPhysicalDeviceImageFormatInfo2KHR {
pub sType: vk::VkStructureType,
pub pNext: *const c_void,
pub format: vk::VkFormat,
pub type_: vk::VkImageType,
pub tiling: vk::VkImageTiling,
pub usage: vk::VkImageUsageFlags,
pub flags: vk::VkImageCreateFlags,
}
impl Default for VkPhysicalDeviceImageFormatInfo2KHR {
fn default() -> Self {
VkPhysicalDeviceImageFormatInfo2KHR {
sType: vk::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR,
pNext: ptr::null(),
format: Default::default(),
type_: Default::default(),
tiling: Default::default(),
usage: Default::default(),
flags: Default::default(),
}
}
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VkQueueFamilyProperties2KHR {
pub sType: vk::VkStructureType,
pub pNext: *mut c_void,
pub queueFamilyProperties: vk::VkQueueFamilyProperties,
}
impl Default for VkQueueFamilyProperties2KHR {
fn default() -> Self {
VkQueueFamilyProperties2KHR {
sType: vk::VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR,
pNext: ptr::null_mut(),
queueFamilyProperties: Default::default(),
}
}
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VkPhysicalDeviceMemoryProperties2KHR {
pub sType: vk::VkStructureType,
pub pNext: *mut c_void,
pub memoryProperties: vk::VkPhysicalDeviceMemoryProperties,
}
impl Default for VkPhysicalDeviceMemoryProperties2KHR {
fn default() -> Self {
VkPhysicalDeviceMemoryProperties2KHR {
sType: vk::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR,
pNext: ptr::null_mut(),
memoryProperties: Default::default(),
}
}
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VkSparseImageFormatProperties2KHR {
pub sType: vk::VkStructureType,
pub pNext: *mut c_void,
pub properties: vk::VkSparseImageFormatProperties,
}
impl Default for VkSparseImageFormatProperties2KHR {
fn default() -> Self {
VkSparseImageFormatProperties2KHR {
sType: vk::VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR,
pNext: ptr::null_mut(),
properties: Default::default(),
}
}
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct VkPhysicalDeviceSparseImageFormatInfo2KHR {
pub sType: vk::VkStructureType,
pub pNext: *const c_void,
pub format: vk::VkFormat,
pub type_: vk::VkImageType,
pub samples: vk::VkSampleCountFlagBits,
pub usage: vk::VkImageUsageFlags,
pub tiling: vk::VkImageTiling,
}
impl Default for VkPhysicalDeviceSparseImageFormatInfo2KHR {
fn default() -> Self {
VkPhysicalDeviceSparseImageFormatInfo2KHR {
sType: vk::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR,
pNext: ptr::null(),
format: Default::default(),
type_: Default::default(),
samples: Default::default(),
usage: Default::default(),
tiling: Default::default(),
}
}
}
pub type PFN_vkGetPhysicalDeviceFeatures2KHR = Option<unsafe extern "system" fn(physicalDevice: vk::VkPhysicalDevice, pFeatures: *mut VkPhysicalDeviceFeatures2KHR)>;
pub type PFN_vkGetPhysicalDeviceProperties2KHR = Option<unsafe extern "system" fn(physicalDevice: vk::VkPhysicalDevice, pProperties: *mut VkPhysicalDeviceProperties2KHR)>;
pub type PFN_vkGetPhysicalDeviceFormatProperties2KHR = Option<unsafe extern "system" fn(physicalDevice: vk::VkPhysicalDevice, format: vk::VkFormat, pFormatProperties: *mut VkFormatProperties2KHR)>;
pub type PFN_vkGetPhysicalDeviceImageFormatProperties2KHR = Option<unsafe extern "system" fn(physicalDevice: vk::VkPhysicalDevice, pImageFormatInfo: *const VkPhysicalDeviceImageFormatInfo2KHR, pImageFormatProperties: *mut VkImageFormatProperties2KHR) -> vk::VkResult>;
pub type PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR = Option<unsafe extern "system" fn(physicalDevice: vk::VkPhysicalDevice, pQueueFamilyPropertyCount: *mut u32, pQueueFamilyProperties: *mut VkQueueFamilyProperties2KHR)>;
pub type PFN_vkGetPhysicalDeviceMemoryProperties2KHR = Option<unsafe extern "system" fn(physicalDevice: vk::VkPhysicalDevice, pMemoryProperties: *mut VkPhysicalDeviceMemoryProperties2KHR)>;
pub type PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR = Option<unsafe extern "system" fn(physicalDevice: vk::VkPhysicalDevice, pFormatInfo: *const VkPhysicalDeviceSparseImageFormatInfo2KHR, pPropertyCount: *mut u32, pProperties: *mut VkSparseImageFormatProperties2KHR)>;
#[cfg(feature = "function_prototypes")]
extern "system" {
pub fn vkGetPhysicalDeviceFeatures2KHR(physicalDevice: vk::VkPhysicalDevice, pFeatures: *mut VkPhysicalDeviceFeatures2KHR);
pub fn vkGetPhysicalDeviceProperties2KHR(physicalDevice: vk::VkPhysicalDevice, pProperties: *mut VkPhysicalDeviceProperties2KHR);
pub fn vkGetPhysicalDeviceFormatProperties2KHR(physicalDevice: vk::VkPhysicalDevice, format: vk::VkFormat, pFormatProperties: *mut VkFormatProperties2KHR);
pub fn vkGetPhysicalDeviceImageFormatProperties2KHR(physicalDevice: vk::VkPhysicalDevice, pImageFormatInfo: *const VkPhysicalDeviceImageFormatInfo2KHR, pImageFormatProperties: *mut VkImageFormatProperties2KHR) -> vk::VkResult;
pub fn vkGetPhysicalDeviceQueueFamilyProperties2KHR(physicalDevice: vk::VkPhysicalDevice, pQueueFamilyPropertyCount: *mut u32, pQueueFamilyProperties: *mut VkQueueFamilyProperties2KHR);
pub fn vkGetPhysicalDeviceMemoryProperties2KHR(physicalDevice: vk::VkPhysicalDevice, pMemoryProperties: *mut VkPhysicalDeviceMemoryProperties2KHR);
pub fn vkGetPhysicalDeviceSparseImageFormatProperties2KHR(physicalDevice: vk::VkPhysicalDevice, pFormatInfo: *const VkPhysicalDeviceSparseImageFormatInfo2KHR, pPropertyCount: *mut u32, pProperties: *mut VkSparseImageFormatProperties2KHR);
}