{-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures#-} {-# OPTIONS_GHC -fno-warn-orphans#-} {-# OPTIONS_HADDOCK not-home#-} {-# LANGUAGE CPP #-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE ViewPatterns #-} module Graphics.Vulkan.Ext.VK_KHR_get_memory_requirements2 (-- * Vulkan extension: @VK_KHR_get_memory_requirements2@ -- | -- -- supported: @vulkan@ -- -- contact: @Jason Ekstrand @jekstrand@ -- -- author: @KHR@ -- -- type: @device@ -- -- Extension number: @147@ VkBufferMemoryRequirementsInfo2KHR, VkImageMemoryRequirementsInfo2KHR, VkImageSparseMemoryRequirementsInfo2KHR, VkMemoryRequirements2KHR, VkSparseImageMemoryRequirements2KHR, VkGetImageMemoryRequirements2KHR, pattern VkGetImageMemoryRequirements2KHR, HS_vkGetImageMemoryRequirements2KHR, PFN_vkGetImageMemoryRequirements2KHR, VkGetBufferMemoryRequirements2KHR, pattern VkGetBufferMemoryRequirements2KHR, HS_vkGetBufferMemoryRequirements2KHR, PFN_vkGetBufferMemoryRequirements2KHR, VkGetImageSparseMemoryRequirements2KHR, pattern VkGetImageSparseMemoryRequirements2KHR, HS_vkGetImageSparseMemoryRequirements2KHR, PFN_vkGetImageSparseMemoryRequirements2KHR, module Graphics.Vulkan.Marshal, AHardwareBuffer(), ANativeWindow(), CAMetalLayer(), VkBool32(..), VkDeviceAddress(..), VkDeviceSize(..), VkFlags(..), VkSampleMask(..), VkImageAspectBitmask(..), VkImageCreateBitmask(..), VkImageLayout(..), VkImageTiling(..), VkImageType(..), VkImageUsageBitmask(..), VkImageViewType(..), VkImageAspectFlagBits(), VkImageAspectFlags(), VkImageCreateFlagBits(), VkImageCreateFlags(), VkImageUsageFlagBits(), VkImageUsageFlags(), VkImageViewCreateBitmask(..), VkImageViewCreateFlagBits(), VkImageViewCreateFlags(), VkSparseImageFormatBitmask(..), VkSparseMemoryBindBitmask(..), VkSparseImageFormatFlagBits(), VkSparseImageFormatFlags(), VkSparseMemoryBindFlagBits(), VkSparseMemoryBindFlags(), VkStructureType(..), VkAccelerationStructureKHR, VkAccelerationStructureKHR_T(), VkAccelerationStructureNV, VkAccelerationStructureNV_T(), VkBuffer, VkBufferView, VkBufferView_T(), VkBuffer_T(), VkCommandBuffer, VkCommandBuffer_T(), VkCommandPool, VkCommandPool_T(), VkDebugReportCallbackEXT, VkDebugReportCallbackEXT_T(), VkDebugUtilsMessengerEXT, VkDebugUtilsMessengerEXT_T(), VkDeferredOperationKHR, VkDeferredOperationKHR_T(), VkDescriptorPool, VkDescriptorPool_T(), VkDescriptorSet, VkDescriptorSetLayout, VkDescriptorSetLayout_T(), VkDescriptorSet_T(), VkDescriptorUpdateTemplate, VkDescriptorUpdateTemplateKHR, VkDescriptorUpdateTemplateKHR_T(), VkDescriptorUpdateTemplate_T(), VkDevice, VkDeviceMemory, VkDeviceMemory_T(), VkDevice_T(), VkDisplayKHR, VkDisplayKHR_T(), VkDisplayModeKHR, VkDisplayModeKHR_T(), VkEvent, VkEvent_T(), VkFence, VkFence_T(), VkFramebuffer, VkFramebuffer_T(), VkImage, VkImageView, VkImageView_T(), VkImage_T(), VkIndirectCommandsLayoutNV, VkIndirectCommandsLayoutNV_T(), VkInstance, VkInstance_T(), VkPerformanceConfigurationINTEL, VkPerformanceConfigurationINTEL_T(), VkPhysicalDevice, VkPhysicalDevice_T(), VkPipeline, VkPipelineCache, VkPipelineCache_T(), VkPipelineLayout, VkPipelineLayout_T(), VkPipeline_T(), VkPrivateDataSlotEXT, VkPrivateDataSlotEXT_T(), VkQueryPool, VkQueryPool_T(), VkQueue, VkQueue_T(), VkRenderPass, VkRenderPass_T(), VkSampler, VkSamplerYcbcrConversion, VkSamplerYcbcrConversionKHR, VkSamplerYcbcrConversionKHR_T(), VkSamplerYcbcrConversion_T(), VkSampler_T(), VkSemaphore, VkSemaphore_T(), VkShaderModule, VkShaderModule_T(), VkSurfaceKHR, VkSurfaceKHR_T(), VkSwapchainKHR, VkSwapchainKHR_T(), VkValidationCacheEXT, VkValidationCacheEXT_T(), VkBufferCopy, VkBufferCreateInfo, VkBufferDeviceAddressCreateInfoEXT, VkBufferDeviceAddressInfo, VkBufferDeviceAddressInfoEXT, VkBufferDeviceAddressInfoKHR, VkBufferImageCopy, VkBufferMemoryBarrier, VkBufferMemoryRequirementsInfo2, VkBufferOpaqueCaptureAddressCreateInfo, VkBufferOpaqueCaptureAddressCreateInfoKHR, VkBufferViewCreateInfo, VkExtent2D, VkExtent3D, VkImageBlit, VkImageCopy, VkImageCreateInfo, VkImageDrmFormatModifierExplicitCreateInfoEXT, VkImageDrmFormatModifierListCreateInfoEXT, VkImageDrmFormatModifierPropertiesEXT, VkImageFormatListCreateInfo, VkImageFormatListCreateInfoKHR, VkImageFormatProperties, VkImageFormatProperties2, VkImageFormatProperties2KHR, VkImageMemoryBarrier, VkImageMemoryRequirementsInfo2, VkImagePlaneMemoryRequirementsInfo, VkImagePlaneMemoryRequirementsInfoKHR, VkImageResolve, VkImageSparseMemoryRequirementsInfo2, VkImageStencilUsageCreateInfo, VkImageStencilUsageCreateInfoEXT, VkImageSubresource, VkImageSubresourceLayers, VkImageSubresourceRange, VkImageSwapchainCreateInfoKHR, VkImageViewASTCDecodeModeEXT, VkImageViewAddressPropertiesNVX, VkImageViewCreateInfo, VkImageViewHandleInfoNVX, VkImageViewUsageCreateInfo, VkImageViewUsageCreateInfoKHR, VkMemoryAllocateFlagsInfo, VkMemoryAllocateFlagsInfoKHR, VkMemoryAllocateInfo, VkMemoryBarrier, VkMemoryDedicatedAllocateInfo, VkMemoryDedicatedAllocateInfoKHR, VkMemoryDedicatedRequirements, VkMemoryDedicatedRequirementsKHR, VkMemoryFdPropertiesKHR, VkMemoryGetFdInfoKHR, VkMemoryHeap, VkMemoryHostPointerPropertiesEXT, VkMemoryOpaqueCaptureAddressAllocateInfo, VkMemoryOpaqueCaptureAddressAllocateInfoKHR, VkMemoryPriorityAllocateInfoEXT, VkMemoryRequirements, VkMemoryRequirements2, VkMemoryType, VkSparseBufferMemoryBindInfo, VkSparseImageFormatProperties, VkSparseImageFormatProperties2, VkSparseImageFormatProperties2KHR, VkSparseImageMemoryBind, VkSparseImageMemoryBindInfo, VkSparseImageMemoryRequirements, VkSparseImageMemoryRequirements2, VkSparseImageOpaqueMemoryBindInfo, VkSparseMemoryBind, VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION, pattern VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION, VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME, pattern VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME, pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR, pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR, pattern VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR, pattern VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR, pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR) where import GHC.Ptr (Ptr (..)) import Graphics.Vulkan.Core_1_1 (pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2, pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2, pattern VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2, pattern VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2, pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2) import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Proc (VulkanProc (..)) import Graphics.Vulkan.Types.BaseTypes import Graphics.Vulkan.Types.Enum.Image import Graphics.Vulkan.Types.Enum.Sparse import Graphics.Vulkan.Types.Enum.StructureType import Graphics.Vulkan.Types.Handles import Graphics.Vulkan.Types.Struct.Buffer import Graphics.Vulkan.Types.Struct.Extent import Graphics.Vulkan.Types.Struct.Image import Graphics.Vulkan.Types.Struct.Memory import Graphics.Vulkan.Types.Struct.Sparse pattern VkGetImageMemoryRequirements2KHR :: CString pattern VkGetImageMemoryRequirements2KHR <- (is_VkGetImageMemoryRequirements2KHR -> True) where VkGetImageMemoryRequirements2KHR = _VkGetImageMemoryRequirements2KHR {-# INLINE _VkGetImageMemoryRequirements2KHR #-} _VkGetImageMemoryRequirements2KHR :: CString _VkGetImageMemoryRequirements2KHR = Ptr "vkGetImageMemoryRequirements2KHR\NUL"# {-# INLINE is_VkGetImageMemoryRequirements2KHR #-} is_VkGetImageMemoryRequirements2KHR :: CString -> Bool is_VkGetImageMemoryRequirements2KHR = (EQ ==) . cmpCStrings _VkGetImageMemoryRequirements2KHR type VkGetImageMemoryRequirements2KHR = "vkGetImageMemoryRequirements2KHR" -- | This is an alias for `vkGetImageMemoryRequirements2`. -- -- > void vkGetImageMemoryRequirements2KHR -- > ( VkDevice device -- > , const VkImageMemoryRequirementsInfo2* pInfo -- > , VkMemoryRequirements2* pMemoryRequirements -- > ) -- -- type HS_vkGetImageMemoryRequirements2KHR = VkDevice -- ^ device -> Ptr VkImageMemoryRequirementsInfo2 -- ^ pInfo -> Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements -> IO () type PFN_vkGetImageMemoryRequirements2KHR = FunPtr HS_vkGetImageMemoryRequirements2KHR foreign import ccall unsafe "dynamic" unwrapVkGetImageMemoryRequirements2KHRUnsafe :: PFN_vkGetImageMemoryRequirements2KHR -> HS_vkGetImageMemoryRequirements2KHR foreign import ccall safe "dynamic" unwrapVkGetImageMemoryRequirements2KHRSafe :: PFN_vkGetImageMemoryRequirements2KHR -> HS_vkGetImageMemoryRequirements2KHR instance VulkanProc "vkGetImageMemoryRequirements2KHR" where type VkProcType "vkGetImageMemoryRequirements2KHR" = HS_vkGetImageMemoryRequirements2KHR vkProcSymbol = _VkGetImageMemoryRequirements2KHR {-# INLINE vkProcSymbol #-} unwrapVkProcPtrUnsafe = unwrapVkGetImageMemoryRequirements2KHRUnsafe {-# INLINE unwrapVkProcPtrUnsafe #-} unwrapVkProcPtrSafe = unwrapVkGetImageMemoryRequirements2KHRSafe {-# INLINE unwrapVkProcPtrSafe #-} pattern VkGetBufferMemoryRequirements2KHR :: CString pattern VkGetBufferMemoryRequirements2KHR <- (is_VkGetBufferMemoryRequirements2KHR -> True) where VkGetBufferMemoryRequirements2KHR = _VkGetBufferMemoryRequirements2KHR {-# INLINE _VkGetBufferMemoryRequirements2KHR #-} _VkGetBufferMemoryRequirements2KHR :: CString _VkGetBufferMemoryRequirements2KHR = Ptr "vkGetBufferMemoryRequirements2KHR\NUL"# {-# INLINE is_VkGetBufferMemoryRequirements2KHR #-} is_VkGetBufferMemoryRequirements2KHR :: CString -> Bool is_VkGetBufferMemoryRequirements2KHR = (EQ ==) . cmpCStrings _VkGetBufferMemoryRequirements2KHR type VkGetBufferMemoryRequirements2KHR = "vkGetBufferMemoryRequirements2KHR" -- | This is an alias for `vkGetBufferMemoryRequirements2`. -- -- > void vkGetBufferMemoryRequirements2KHR -- > ( VkDevice device -- > , const VkBufferMemoryRequirementsInfo2* pInfo -- > , VkMemoryRequirements2* pMemoryRequirements -- > ) -- -- type HS_vkGetBufferMemoryRequirements2KHR = VkDevice -- ^ device -> Ptr VkBufferMemoryRequirementsInfo2 -- ^ pInfo -> Ptr VkMemoryRequirements2 -- ^ pMemoryRequirements -> IO () type PFN_vkGetBufferMemoryRequirements2KHR = FunPtr HS_vkGetBufferMemoryRequirements2KHR foreign import ccall unsafe "dynamic" unwrapVkGetBufferMemoryRequirements2KHRUnsafe :: PFN_vkGetBufferMemoryRequirements2KHR -> HS_vkGetBufferMemoryRequirements2KHR foreign import ccall safe "dynamic" unwrapVkGetBufferMemoryRequirements2KHRSafe :: PFN_vkGetBufferMemoryRequirements2KHR -> HS_vkGetBufferMemoryRequirements2KHR instance VulkanProc "vkGetBufferMemoryRequirements2KHR" where type VkProcType "vkGetBufferMemoryRequirements2KHR" = HS_vkGetBufferMemoryRequirements2KHR vkProcSymbol = _VkGetBufferMemoryRequirements2KHR {-# INLINE vkProcSymbol #-} unwrapVkProcPtrUnsafe = unwrapVkGetBufferMemoryRequirements2KHRUnsafe {-# INLINE unwrapVkProcPtrUnsafe #-} unwrapVkProcPtrSafe = unwrapVkGetBufferMemoryRequirements2KHRSafe {-# INLINE unwrapVkProcPtrSafe #-} pattern VkGetImageSparseMemoryRequirements2KHR :: CString pattern VkGetImageSparseMemoryRequirements2KHR <- (is_VkGetImageSparseMemoryRequirements2KHR -> True) where VkGetImageSparseMemoryRequirements2KHR = _VkGetImageSparseMemoryRequirements2KHR {-# INLINE _VkGetImageSparseMemoryRequirements2KHR #-} _VkGetImageSparseMemoryRequirements2KHR :: CString _VkGetImageSparseMemoryRequirements2KHR = Ptr "vkGetImageSparseMemoryRequirements2KHR\NUL"# {-# INLINE is_VkGetImageSparseMemoryRequirements2KHR #-} is_VkGetImageSparseMemoryRequirements2KHR :: CString -> Bool is_VkGetImageSparseMemoryRequirements2KHR = (EQ ==) . cmpCStrings _VkGetImageSparseMemoryRequirements2KHR type VkGetImageSparseMemoryRequirements2KHR = "vkGetImageSparseMemoryRequirements2KHR" -- | This is an alias for `vkGetImageSparseMemoryRequirements2`. -- -- > void vkGetImageSparseMemoryRequirements2KHR -- > ( VkDevice device -- > , const VkImageSparseMemoryRequirementsInfo2* pInfo -- > , uint32_t* pSparseMemoryRequirementCount -- > , VkSparseImageMemoryRequirements2* pSparseMemoryRequirements -- > ) -- -- type HS_vkGetImageSparseMemoryRequirements2KHR = VkDevice -- ^ device -> Ptr VkImageSparseMemoryRequirementsInfo2 -- ^ pInfo -> Ptr Word32 -- ^ pSparseMemoryRequirementCount -> Ptr VkSparseImageMemoryRequirements2 -- ^ pSparseMemoryRequirements -> IO () type PFN_vkGetImageSparseMemoryRequirements2KHR = FunPtr HS_vkGetImageSparseMemoryRequirements2KHR foreign import ccall unsafe "dynamic" unwrapVkGetImageSparseMemoryRequirements2KHRUnsafe :: PFN_vkGetImageSparseMemoryRequirements2KHR -> HS_vkGetImageSparseMemoryRequirements2KHR foreign import ccall safe "dynamic" unwrapVkGetImageSparseMemoryRequirements2KHRSafe :: PFN_vkGetImageSparseMemoryRequirements2KHR -> HS_vkGetImageSparseMemoryRequirements2KHR instance VulkanProc "vkGetImageSparseMemoryRequirements2KHR" where type VkProcType "vkGetImageSparseMemoryRequirements2KHR" = HS_vkGetImageSparseMemoryRequirements2KHR vkProcSymbol = _VkGetImageSparseMemoryRequirements2KHR {-# INLINE vkProcSymbol #-} unwrapVkProcPtrUnsafe = unwrapVkGetImageSparseMemoryRequirements2KHRUnsafe {-# INLINE unwrapVkProcPtrUnsafe #-} unwrapVkProcPtrSafe = unwrapVkGetImageSparseMemoryRequirements2KHRSafe {-# INLINE unwrapVkProcPtrSafe #-} pattern VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION :: (Num a, Eq a) => a pattern VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION = 1 type VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION = 1 pattern VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME :: CString pattern VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME <- (is_VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME -> True) where VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME = _VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME {-# INLINE _VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME #-} _VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME :: CString _VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME = Ptr "VK_KHR_get_memory_requirements2\NUL"# {-# INLINE is_VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME #-} is_VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME :: CString -> Bool is_VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME = (EQ ==) . cmpCStrings _VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME type VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME = "VK_KHR_get_memory_requirements2" pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 pattern VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR = VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 pattern VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR = VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2