{-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_KHR_get_physical_device_properties2 (-- * Vulkan extension: @VK_KHR_get_physical_device_properties2@ -- | -- -- supported: @vulkan@ -- -- contact: @Jeff Bolz @jbolz@ -- -- author: @KHR@ -- -- type: @instance@ -- -- Extension number: @60@ module Graphics.Vulkan.Types.Struct.VkFormatProperties2KHR, module Graphics.Vulkan.Types.Struct.VkImageFormatProperties2KHR, module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures2KHR, module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceImageFormatInfo2KHR, module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMemoryProperties2KHR, module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2KHR, module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseImageFormatInfo2KHR, module Graphics.Vulkan.Types.Struct.VkQueueFamilyProperties2KHR, module Graphics.Vulkan.Types.Struct.VkSparseImageFormatProperties2KHR, vkGetPhysicalDeviceFeatures2KHR, vkGetPhysicalDeviceFeatures2KHRSafe, vkGetPhysicalDeviceProperties2KHR, vkGetPhysicalDeviceProperties2KHRSafe, vkGetPhysicalDeviceFormatProperties2KHR, vkGetPhysicalDeviceFormatProperties2KHRSafe, vkGetPhysicalDeviceImageFormatProperties2KHR, vkGetPhysicalDeviceImageFormatProperties2KHRSafe, vkGetPhysicalDeviceQueueFamilyProperties2KHR, vkGetPhysicalDeviceQueueFamilyProperties2KHRSafe, vkGetPhysicalDeviceMemoryProperties2KHR, vkGetPhysicalDeviceMemoryProperties2KHRSafe, vkGetPhysicalDeviceSparseImageFormatProperties2KHR, vkGetPhysicalDeviceSparseImageFormatProperties2KHRSafe, module Graphics.Vulkan.Marshal, module Graphics.Vulkan.Types.BaseTypes, module Graphics.Vulkan.Types.Bitmasks, module Graphics.Vulkan.Types.Enum.VkDeviceQueueCreateFlags, module Graphics.Vulkan.Types.Enum.VkFormat, module Graphics.Vulkan.Types.Enum.VkFormatFeatureFlags, module Graphics.Vulkan.Types.Enum.VkImageAspectFlags, module Graphics.Vulkan.Types.Enum.VkImageCreateFlags, module Graphics.Vulkan.Types.Enum.VkImageTiling, module Graphics.Vulkan.Types.Enum.VkImageType, module Graphics.Vulkan.Types.Enum.VkImageUsageFlags, module Graphics.Vulkan.Types.Enum.VkMemoryHeapFlags, module Graphics.Vulkan.Types.Enum.VkMemoryPropertyFlags, module Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType, module Graphics.Vulkan.Types.Enum.VkQueueFlags, module Graphics.Vulkan.Types.Enum.VkResult, module Graphics.Vulkan.Types.Enum.VkSampleCountFlags, module Graphics.Vulkan.Types.Enum.VkSparseImageFormatFlags, module Graphics.Vulkan.Types.Enum.VkStructureType, module Graphics.Vulkan.Types.Handles, module Graphics.Vulkan.Types.Struct.VkDeviceCreateInfo, module Graphics.Vulkan.Types.Struct.VkDeviceQueueCreateInfo, module Graphics.Vulkan.Types.Struct.VkExtent3D, module Graphics.Vulkan.Types.Struct.VkFormatProperties, module Graphics.Vulkan.Types.Struct.VkFormatProperties2, module Graphics.Vulkan.Types.Struct.VkImageFormatProperties, module Graphics.Vulkan.Types.Struct.VkImageFormatProperties2, module Graphics.Vulkan.Types.Struct.VkMemoryHeap, module Graphics.Vulkan.Types.Struct.VkMemoryType, module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures, module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures2, module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceImageFormatInfo2, module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits, module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMemoryProperties, module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMemoryProperties2, module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties, module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2, module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseImageFormatInfo2, module Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties, module Graphics.Vulkan.Types.Struct.VkQueueFamilyProperties, module Graphics.Vulkan.Types.Struct.VkQueueFamilyProperties2, module Graphics.Vulkan.Types.Struct.VkSparseImageFormatProperties, module Graphics.Vulkan.Types.Struct.VkSparseImageFormatProperties2, VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION, pattern VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION, VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME, pattern VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME, pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR, pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR, pattern VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR, pattern VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR, pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR, pattern VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR, pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR, pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR, pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR) where import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Core_1_1 (pattern VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2, pattern VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2, pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2, pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2, pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2, pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2, pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2, pattern VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2, pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2) import Graphics.Vulkan.Marshal import Graphics.Vulkan.Types.BaseTypes import Graphics.Vulkan.Types.Bitmasks import Graphics.Vulkan.Types.Enum.VkDeviceQueueCreateFlags import Graphics.Vulkan.Types.Enum.VkFormat import Graphics.Vulkan.Types.Enum.VkFormatFeatureFlags import Graphics.Vulkan.Types.Enum.VkImageAspectFlags import Graphics.Vulkan.Types.Enum.VkImageCreateFlags import Graphics.Vulkan.Types.Enum.VkImageTiling import Graphics.Vulkan.Types.Enum.VkImageType import Graphics.Vulkan.Types.Enum.VkImageUsageFlags import Graphics.Vulkan.Types.Enum.VkMemoryHeapFlags import Graphics.Vulkan.Types.Enum.VkMemoryPropertyFlags import Graphics.Vulkan.Types.Enum.VkPhysicalDeviceType import Graphics.Vulkan.Types.Enum.VkQueueFlags import Graphics.Vulkan.Types.Enum.VkResult import Graphics.Vulkan.Types.Enum.VkSampleCountFlags import Graphics.Vulkan.Types.Enum.VkSparseImageFormatFlags import Graphics.Vulkan.Types.Enum.VkStructureType import Graphics.Vulkan.Types.Handles import Graphics.Vulkan.Types.Struct.VkDeviceCreateInfo import Graphics.Vulkan.Types.Struct.VkDeviceQueueCreateInfo import Graphics.Vulkan.Types.Struct.VkExtent3D import Graphics.Vulkan.Types.Struct.VkFormatProperties import Graphics.Vulkan.Types.Struct.VkFormatProperties2 import Graphics.Vulkan.Types.Struct.VkFormatProperties2KHR import Graphics.Vulkan.Types.Struct.VkImageFormatProperties import Graphics.Vulkan.Types.Struct.VkImageFormatProperties2 import Graphics.Vulkan.Types.Struct.VkImageFormatProperties2KHR import Graphics.Vulkan.Types.Struct.VkMemoryHeap import Graphics.Vulkan.Types.Struct.VkMemoryType import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures2 import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceFeatures2KHR import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceImageFormatInfo2 import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceImageFormatInfo2KHR import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceLimits import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMemoryProperties import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMemoryProperties2 import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceMemoryProperties2KHR import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2 import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceProperties2KHR import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseImageFormatInfo2 import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseImageFormatInfo2KHR import Graphics.Vulkan.Types.Struct.VkPhysicalDeviceSparseProperties import Graphics.Vulkan.Types.Struct.VkQueueFamilyProperties import Graphics.Vulkan.Types.Struct.VkQueueFamilyProperties2 import Graphics.Vulkan.Types.Struct.VkQueueFamilyProperties2KHR import Graphics.Vulkan.Types.Struct.VkSparseImageFormatProperties import Graphics.Vulkan.Types.Struct.VkSparseImageFormatProperties2 import Graphics.Vulkan.Types.Struct.VkSparseImageFormatProperties2KHR -- | This is an alias for `vkGetPhysicalDeviceFeatures2`. -- -- > () vkGetPhysicalDeviceFeatures2KHR -- > ( VkPhysicalDevice physicalDevice -- > , VkPhysicalDeviceFeatures2* pFeatures -- > ) -- -- foreign import ccall unsafe "vkGetPhysicalDeviceFeatures2" vkGetPhysicalDeviceFeatures2KHR :: VkPhysicalDevice -- ^ physicalDevice -> Ptr VkPhysicalDeviceFeatures2 -- ^ pFeatures -> IO () -- | This is an alias for `vkGetPhysicalDeviceFeatures2`. -- -- > () vkGetPhysicalDeviceFeatures2KHR -- > ( VkPhysicalDevice physicalDevice -- > , VkPhysicalDeviceFeatures2* pFeatures -- > ) -- -- foreign import ccall safe "vkGetPhysicalDeviceFeatures2" vkGetPhysicalDeviceFeatures2KHRSafe :: VkPhysicalDevice -- ^ physicalDevice -> Ptr VkPhysicalDeviceFeatures2 -- ^ pFeatures -> IO () -- | This is an alias for `vkGetPhysicalDeviceProperties2`. -- -- > () vkGetPhysicalDeviceProperties2KHR -- > ( VkPhysicalDevice physicalDevice -- > , VkPhysicalDeviceProperties2* pProperties -- > ) -- -- foreign import ccall unsafe "vkGetPhysicalDeviceProperties2" vkGetPhysicalDeviceProperties2KHR :: VkPhysicalDevice -- ^ physicalDevice -> Ptr VkPhysicalDeviceProperties2 -- ^ pProperties -> IO () -- | This is an alias for `vkGetPhysicalDeviceProperties2`. -- -- > () vkGetPhysicalDeviceProperties2KHR -- > ( VkPhysicalDevice physicalDevice -- > , VkPhysicalDeviceProperties2* pProperties -- > ) -- -- foreign import ccall safe "vkGetPhysicalDeviceProperties2" vkGetPhysicalDeviceProperties2KHRSafe :: VkPhysicalDevice -- ^ physicalDevice -> Ptr VkPhysicalDeviceProperties2 -- ^ pProperties -> IO () -- | This is an alias for `vkGetPhysicalDeviceFormatProperties2`. -- -- > () vkGetPhysicalDeviceFormatProperties2KHR -- > ( VkPhysicalDevice physicalDevice -- > , VkFormat format -- > , VkFormatProperties2* pFormatProperties -- > ) -- -- foreign import ccall unsafe "vkGetPhysicalDeviceFormatProperties2" vkGetPhysicalDeviceFormatProperties2KHR :: VkPhysicalDevice -- ^ physicalDevice -> VkFormat -- ^ format -> Ptr VkFormatProperties2 -- ^ pFormatProperties -> IO () -- | This is an alias for `vkGetPhysicalDeviceFormatProperties2`. -- -- > () vkGetPhysicalDeviceFormatProperties2KHR -- > ( VkPhysicalDevice physicalDevice -- > , VkFormat format -- > , VkFormatProperties2* pFormatProperties -- > ) -- -- foreign import ccall safe "vkGetPhysicalDeviceFormatProperties2" vkGetPhysicalDeviceFormatProperties2KHRSafe :: VkPhysicalDevice -- ^ physicalDevice -> VkFormat -- ^ format -> Ptr VkFormatProperties2 -- ^ pFormatProperties -> IO () -- | This is an alias for `vkGetPhysicalDeviceImageFormatProperties2`. -- -- Success codes: 'VK_SUCCESS'. -- -- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FORMAT_NOT_SUPPORTED'. -- -- > VkResult vkGetPhysicalDeviceImageFormatProperties2KHR -- > ( VkPhysicalDevice physicalDevice -- > , const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo -- > , VkImageFormatProperties2* pImageFormatProperties -- > ) -- -- foreign import ccall unsafe "vkGetPhysicalDeviceImageFormatProperties2" vkGetPhysicalDeviceImageFormatProperties2KHR :: VkPhysicalDevice -- ^ physicalDevice -> Ptr VkPhysicalDeviceImageFormatInfo2 -- ^ pImageFormatInfo -> Ptr VkImageFormatProperties2 -- ^ pImageFormatProperties -> IO VkResult -- | This is an alias for `vkGetPhysicalDeviceImageFormatProperties2`. -- -- Success codes: 'VK_SUCCESS'. -- -- Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY', 'VK_ERROR_FORMAT_NOT_SUPPORTED'. -- -- > VkResult vkGetPhysicalDeviceImageFormatProperties2KHR -- > ( VkPhysicalDevice physicalDevice -- > , const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo -- > , VkImageFormatProperties2* pImageFormatProperties -- > ) -- -- foreign import ccall safe "vkGetPhysicalDeviceImageFormatProperties2" vkGetPhysicalDeviceImageFormatProperties2KHRSafe :: VkPhysicalDevice -- ^ physicalDevice -> Ptr VkPhysicalDeviceImageFormatInfo2 -- ^ pImageFormatInfo -> Ptr VkImageFormatProperties2 -- ^ pImageFormatProperties -> IO VkResult -- | This is an alias for `vkGetPhysicalDeviceQueueFamilyProperties2`. -- -- > () vkGetPhysicalDeviceQueueFamilyProperties2KHR -- > ( VkPhysicalDevice physicalDevice -- > , uint32_t* pQueueFamilyPropertyCount -- > , VkQueueFamilyProperties2* pQueueFamilyProperties -- > ) -- -- foreign import ccall unsafe "vkGetPhysicalDeviceQueueFamilyProperties2" vkGetPhysicalDeviceQueueFamilyProperties2KHR :: VkPhysicalDevice -- ^ physicalDevice -> Ptr Word32 -- ^ pQueueFamilyPropertyCount -> Ptr VkQueueFamilyProperties2 -- ^ pQueueFamilyProperties -> IO () -- | This is an alias for `vkGetPhysicalDeviceQueueFamilyProperties2`. -- -- > () vkGetPhysicalDeviceQueueFamilyProperties2KHR -- > ( VkPhysicalDevice physicalDevice -- > , uint32_t* pQueueFamilyPropertyCount -- > , VkQueueFamilyProperties2* pQueueFamilyProperties -- > ) -- -- foreign import ccall safe "vkGetPhysicalDeviceQueueFamilyProperties2" vkGetPhysicalDeviceQueueFamilyProperties2KHRSafe :: VkPhysicalDevice -- ^ physicalDevice -> Ptr Word32 -- ^ pQueueFamilyPropertyCount -> Ptr VkQueueFamilyProperties2 -- ^ pQueueFamilyProperties -> IO () -- | This is an alias for `vkGetPhysicalDeviceMemoryProperties2`. -- -- > () vkGetPhysicalDeviceMemoryProperties2KHR -- > ( VkPhysicalDevice physicalDevice -- > , VkPhysicalDeviceMemoryProperties2* pMemoryProperties -- > ) -- -- foreign import ccall unsafe "vkGetPhysicalDeviceMemoryProperties2" vkGetPhysicalDeviceMemoryProperties2KHR :: VkPhysicalDevice -- ^ physicalDevice -> Ptr VkPhysicalDeviceMemoryProperties2 -- ^ pMemoryProperties -> IO () -- | This is an alias for `vkGetPhysicalDeviceMemoryProperties2`. -- -- > () vkGetPhysicalDeviceMemoryProperties2KHR -- > ( VkPhysicalDevice physicalDevice -- > , VkPhysicalDeviceMemoryProperties2* pMemoryProperties -- > ) -- -- foreign import ccall safe "vkGetPhysicalDeviceMemoryProperties2" vkGetPhysicalDeviceMemoryProperties2KHRSafe :: VkPhysicalDevice -- ^ physicalDevice -> Ptr VkPhysicalDeviceMemoryProperties2 -- ^ pMemoryProperties -> IO () -- | This is an alias for `vkGetPhysicalDeviceSparseImageFormatProperties2`. -- -- > () vkGetPhysicalDeviceSparseImageFormatProperties2KHR -- > ( VkPhysicalDevice physicalDevice -- > , const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo -- > , uint32_t* pPropertyCount -- > , VkSparseImageFormatProperties2* pProperties -- > ) -- -- foreign import ccall unsafe "vkGetPhysicalDeviceSparseImageFormatProperties2" vkGetPhysicalDeviceSparseImageFormatProperties2KHR :: VkPhysicalDevice -- ^ physicalDevice -> Ptr VkPhysicalDeviceSparseImageFormatInfo2 -- ^ pFormatInfo -> Ptr Word32 -- ^ pPropertyCount -> Ptr VkSparseImageFormatProperties2 -- ^ pProperties -> IO () -- | This is an alias for `vkGetPhysicalDeviceSparseImageFormatProperties2`. -- -- > () vkGetPhysicalDeviceSparseImageFormatProperties2KHR -- > ( VkPhysicalDevice physicalDevice -- > , const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo -- > , uint32_t* pPropertyCount -- > , VkSparseImageFormatProperties2* pProperties -- > ) -- -- foreign import ccall safe "vkGetPhysicalDeviceSparseImageFormatProperties2" vkGetPhysicalDeviceSparseImageFormatProperties2KHRSafe :: VkPhysicalDevice -- ^ physicalDevice -> Ptr VkPhysicalDeviceSparseImageFormatInfo2 -- ^ pFormatInfo -> Ptr Word32 -- ^ pPropertyCount -> Ptr VkSparseImageFormatProperties2 -- ^ pProperties -> IO () pattern VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION :: (Num a, Eq a) => a pattern VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION = 1 type VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION = 1 pattern VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME :: CString pattern VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME <- (is_VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME -> True) where VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME = _VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME {-# INLINE _VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME #-} _VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME :: CString _VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME = Ptr "VK_KHR_get_physical_device_properties2\NUL"# {-# INLINE is_VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME #-} is_VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME :: CString -> Bool is_VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME = (EQ ==) . cmpCStrings _VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME type VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME = "VK_KHR_get_physical_device_properties2" pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 pattern VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 pattern VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 pattern VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2