packages feed

vulkan-api-1.4.0.0: src-gen/Graphics/Vulkan/Ext/VK_KHR_get_memory_requirements2.hs

{-# 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
--   >     )
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkGetImageMemoryRequirements2KHR vkGetImageMemoryRequirements2KHR registry at www.khronos.org>
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
--   >     )
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkGetBufferMemoryRequirements2KHR vkGetBufferMemoryRequirements2KHR registry at www.khronos.org>
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
--   >     )
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkGetImageSparseMemoryRequirements2KHR vkGetImageSparseMemoryRequirements2KHR registry at www.khronos.org>
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