packages feed

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

{-# 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_EXT_private_data
       (-- * Vulkan extension: @VK_EXT_private_data@
        -- |
        --
        -- supported: @vulkan@
        --
        -- contact: @Matthew Rusch @mattruschnv@
        --
        -- author: @NV@
        --
        -- type: @device@
        --
        -- Extension number: @296@
        module Graphics.Vulkan.Marshal, AHardwareBuffer(),
        ANativeWindow(), CAMetalLayer(), VkBool32(..), VkDeviceAddress(..),
        VkDeviceSize(..), VkFlags(..), VkSampleMask(..),
        VkAndroidSurfaceCreateFlagsKHR(..), VkBufferViewCreateFlags(..),
        VkBuildAccelerationStructureFlagsNV(..),
        VkCommandPoolTrimFlags(..), VkCommandPoolTrimFlagsKHR(..),
        VkDebugUtilsMessengerCallbackDataFlagsEXT(..),
        VkDebugUtilsMessengerCreateFlagsEXT(..),
        VkDescriptorBindingFlagsEXT(..), VkDescriptorPoolResetFlags(..),
        VkDescriptorUpdateTemplateCreateFlags(..),
        VkDescriptorUpdateTemplateCreateFlagsKHR(..),
        VkDeviceCreateFlags(..), VkDirectFBSurfaceCreateFlagsEXT(..),
        VkDisplayModeCreateFlagsKHR(..),
        VkDisplaySurfaceCreateFlagsKHR(..), VkEventCreateFlags(..),
        VkExternalFenceFeatureFlagsKHR(..),
        VkExternalFenceHandleTypeFlagsKHR(..),
        VkExternalMemoryFeatureFlagsKHR(..),
        VkExternalMemoryHandleTypeFlagsKHR(..),
        VkExternalSemaphoreFeatureFlagsKHR(..),
        VkExternalSemaphoreHandleTypeFlagsKHR(..),
        VkFenceImportFlagsKHR(..), VkGeometryFlagsNV(..),
        VkGeometryInstanceFlagsNV(..), VkHeadlessSurfaceCreateFlagsEXT(..),
        VkIOSSurfaceCreateFlagsMVK(..),
        VkImagePipeSurfaceCreateFlagsFUCHSIA(..),
        VkInstanceCreateFlags(..), VkMacOSSurfaceCreateFlagsMVK(..),
        VkMemoryAllocateFlagsKHR(..), VkMemoryMapFlags(..),
        VkMetalSurfaceCreateFlagsEXT(..), VkPeerMemoryFeatureFlagsKHR(..),
        VkPipelineColorBlendStateCreateFlags(..),
        VkPipelineCoverageModulationStateCreateFlagsNV(..),
        VkPipelineCoverageReductionStateCreateFlagsNV(..),
        VkPipelineCoverageToColorStateCreateFlagsNV(..),
        VkPipelineDepthStencilStateCreateFlags(..),
        VkPipelineDiscardRectangleStateCreateFlagsEXT(..),
        VkPipelineDynamicStateCreateFlags(..),
        VkPipelineInputAssemblyStateCreateFlags(..),
        VkPipelineLayoutCreateFlags(..),
        VkPipelineMultisampleStateCreateFlags(..),
        VkPipelineRasterizationConservativeStateCreateFlagsEXT(..),
        VkPipelineRasterizationDepthClipStateCreateFlagsEXT(..),
        VkPipelineRasterizationStateCreateFlags(..),
        VkPipelineRasterizationStateStreamCreateFlagsEXT(..),
        VkPipelineTessellationStateCreateFlags(..),
        VkPipelineVertexInputStateCreateFlags(..),
        VkPipelineViewportStateCreateFlags(..),
        VkPipelineViewportSwizzleStateCreateFlagsNV(..),
        VkQueryPoolCreateFlags(..), VkResolveModeFlagsKHR(..),
        VkSemaphoreCreateFlags(..), VkSemaphoreImportFlagsKHR(..),
        VkSemaphoreWaitFlagsKHR(..),
        VkStreamDescriptorSurfaceCreateFlagsGGP(..),
        VkValidationCacheCreateFlagsEXT(..), VkViSurfaceCreateFlagsNN(..),
        VkWaylandSurfaceCreateFlagsKHR(..),
        VkWin32SurfaceCreateFlagsKHR(..), VkXcbSurfaceCreateFlagsKHR(..),
        VkXlibSurfaceCreateFlagsKHR(..), VkDeviceCreateInfo,
        VkDevicePrivateDataCreateInfoEXT,
        VkDeviceDiagnosticsConfigBitmaskNV(..), VkDeviceEventTypeEXT(..),
        VkDeviceGroupPresentModeBitmaskKHR(..), VkDeviceCreateFlagBits(..),
        VkDeviceDiagnosticsConfigFlagBitsNV(),
        VkDeviceDiagnosticsConfigFlagsNV(),
        VkDeviceGroupPresentModeFlagBitsKHR(),
        VkDeviceGroupPresentModeFlagsKHR(), VkDeviceQueueCreateBitmask(..),
        VkDeviceQueueCreateFlagBits(), VkDeviceQueueCreateFlags(),
        VkDeviceQueueCreateInfo, VkPhysicalDeviceFeatures,
        VkPhysicalDeviceFeatures2, VkPhysicalDevicePrivateDataFeaturesEXT,
        VkPrivateDataSlotCreateBitmaskEXT(..),
        VkPrivateDataSlotCreateFlagBitsEXT(),
        VkPrivateDataSlotCreateFlagsEXT(), VkPrivateDataSlotCreateInfoEXT,
        VkStructureType(..), -- > #include "vk_platform.h"
                             VkCreatePrivateDataSlotEXT,
        pattern VkCreatePrivateDataSlotEXT, HS_vkCreatePrivateDataSlotEXT,
        PFN_vkCreatePrivateDataSlotEXT, VkDestroyPrivateDataSlotEXT,
        pattern VkDestroyPrivateDataSlotEXT,
        HS_vkDestroyPrivateDataSlotEXT, PFN_vkDestroyPrivateDataSlotEXT,
        VkSetPrivateDataEXT, pattern VkSetPrivateDataEXT,
        HS_vkSetPrivateDataEXT, PFN_vkSetPrivateDataEXT,
        VkGetPrivateDataEXT, pattern VkGetPrivateDataEXT,
        HS_vkGetPrivateDataEXT, PFN_vkGetPrivateDataEXT,
        VkInternalAllocationType(..), VkObjectType(..), VkResult(..),
        VkSystemAllocationScope(..), newVkAllocationFunction,
        newVkDebugReportCallbackEXT, newVkDebugUtilsMessengerCallbackEXT,
        newVkFreeFunction, newVkInternalAllocationNotification,
        newVkInternalFreeNotification, newVkReallocationFunction,
        newVkVoidFunction, unwrapVkAllocationFunction,
        unwrapVkDebugReportCallbackEXT,
        unwrapVkDebugUtilsMessengerCallbackEXT, unwrapVkFreeFunction,
        unwrapVkInternalAllocationNotification,
        unwrapVkInternalFreeNotification, unwrapVkReallocationFunction,
        unwrapVkVoidFunction, HS_vkAllocationFunction,
        HS_vkDebugReportCallbackEXT, HS_vkDebugUtilsMessengerCallbackEXT,
        HS_vkFreeFunction, HS_vkInternalAllocationNotification,
        HS_vkInternalFreeNotification, HS_vkReallocationFunction,
        HS_vkVoidFunction, PFN_vkAllocationFunction,
        PFN_vkDebugReportCallbackEXT, PFN_vkDebugUtilsMessengerCallbackEXT,
        PFN_vkFreeFunction, PFN_vkInternalAllocationNotification,
        PFN_vkInternalFreeNotification, PFN_vkReallocationFunction,
        PFN_vkVoidFunction, 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(),
        VkAllocationCallbacks, VK_EXT_PRIVATE_DATA_SPEC_VERSION,
        pattern VK_EXT_PRIVATE_DATA_SPEC_VERSION,
        VK_EXT_PRIVATE_DATA_EXTENSION_NAME,
        pattern VK_EXT_PRIVATE_DATA_EXTENSION_NAME,
        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT,
        pattern VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT,
        pattern VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT,
        pattern VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT)
       where
import GHC.Ptr                                                   (Ptr (..))
import Graphics.Vulkan.Marshal
import Graphics.Vulkan.Marshal.Proc                              (VulkanProc (..))
import Graphics.Vulkan.Types.BaseTypes
import Graphics.Vulkan.Types.Bitmasks
import Graphics.Vulkan.Types.Enum.Device
import Graphics.Vulkan.Types.Enum.InternalAllocationType
import Graphics.Vulkan.Types.Enum.ObjectType
import Graphics.Vulkan.Types.Enum.PrivateDataSlotCreateFlagsEXT
import Graphics.Vulkan.Types.Enum.Result
import Graphics.Vulkan.Types.Enum.StructureType
import Graphics.Vulkan.Types.Enum.SystemAllocationScope
import Graphics.Vulkan.Types.Funcpointers
import Graphics.Vulkan.Types.Handles
import Graphics.Vulkan.Types.Struct.AllocationCallbacks
import Graphics.Vulkan.Types.Struct.Device                       (VkDeviceCreateInfo,
                                                                  VkDevicePrivateDataCreateInfoEXT,
                                                                  VkDeviceQueueCreateInfo)
import Graphics.Vulkan.Types.Struct.PhysicalDevice               (VkPhysicalDeviceFeatures2,
                                                                  VkPhysicalDevicePrivateDataFeaturesEXT)
import Graphics.Vulkan.Types.Struct.PhysicalDeviceFeatures       (VkPhysicalDeviceFeatures)
import Graphics.Vulkan.Types.Struct.PrivateDataSlotCreateInfoEXT

pattern VkCreatePrivateDataSlotEXT :: CString

pattern VkCreatePrivateDataSlotEXT <-
        (is_VkCreatePrivateDataSlotEXT -> True)
  where
    VkCreatePrivateDataSlotEXT = _VkCreatePrivateDataSlotEXT

{-# INLINE _VkCreatePrivateDataSlotEXT #-}

_VkCreatePrivateDataSlotEXT :: CString
_VkCreatePrivateDataSlotEXT = Ptr "vkCreatePrivateDataSlotEXT\NUL"#

{-# INLINE is_VkCreatePrivateDataSlotEXT #-}

is_VkCreatePrivateDataSlotEXT :: CString -> Bool
is_VkCreatePrivateDataSlotEXT
  = (EQ ==) . cmpCStrings _VkCreatePrivateDataSlotEXT

type VkCreatePrivateDataSlotEXT = "vkCreatePrivateDataSlotEXT"

-- | Success codes: 'VK_SUCCESS'.
--
--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY'.
--
--   > VkResult vkCreatePrivateDataSlotEXT
--   >     ( VkDevice device
--   >     , const VkPrivateDataSlotCreateInfoEXT* pCreateInfo
--   >     , const VkAllocationCallbacks* pAllocator
--   >     , VkPrivateDataSlotEXT* pPrivateDataSlot
--   >     )
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkCreatePrivateDataSlotEXT vkCreatePrivateDataSlotEXT registry at www.khronos.org>
type HS_vkCreatePrivateDataSlotEXT =
     VkDevice -- ^ device
              ->
       Ptr VkPrivateDataSlotCreateInfoEXT -- ^ pCreateInfo
                                          ->
         Ptr VkAllocationCallbacks -- ^ pAllocator
                                   ->
           Ptr VkPrivateDataSlotEXT -- ^ pPrivateDataSlot
                                    -> IO VkResult

type PFN_vkCreatePrivateDataSlotEXT =
     FunPtr HS_vkCreatePrivateDataSlotEXT

foreign import ccall unsafe "dynamic"
               unwrapVkCreatePrivateDataSlotEXTUnsafe ::
               PFN_vkCreatePrivateDataSlotEXT -> HS_vkCreatePrivateDataSlotEXT

foreign import ccall safe "dynamic"
               unwrapVkCreatePrivateDataSlotEXTSafe ::
               PFN_vkCreatePrivateDataSlotEXT -> HS_vkCreatePrivateDataSlotEXT

instance VulkanProc "vkCreatePrivateDataSlotEXT" where
    type VkProcType "vkCreatePrivateDataSlotEXT" =
         HS_vkCreatePrivateDataSlotEXT
    vkProcSymbol = _VkCreatePrivateDataSlotEXT

    {-# INLINE vkProcSymbol #-}
    unwrapVkProcPtrUnsafe = unwrapVkCreatePrivateDataSlotEXTUnsafe

    {-# INLINE unwrapVkProcPtrUnsafe #-}
    unwrapVkProcPtrSafe = unwrapVkCreatePrivateDataSlotEXTSafe

    {-# INLINE unwrapVkProcPtrSafe #-}

pattern VkDestroyPrivateDataSlotEXT :: CString

pattern VkDestroyPrivateDataSlotEXT <-
        (is_VkDestroyPrivateDataSlotEXT -> True)
  where
    VkDestroyPrivateDataSlotEXT = _VkDestroyPrivateDataSlotEXT

{-# INLINE _VkDestroyPrivateDataSlotEXT #-}

_VkDestroyPrivateDataSlotEXT :: CString
_VkDestroyPrivateDataSlotEXT
  = Ptr "vkDestroyPrivateDataSlotEXT\NUL"#

{-# INLINE is_VkDestroyPrivateDataSlotEXT #-}

is_VkDestroyPrivateDataSlotEXT :: CString -> Bool
is_VkDestroyPrivateDataSlotEXT
  = (EQ ==) . cmpCStrings _VkDestroyPrivateDataSlotEXT

type VkDestroyPrivateDataSlotEXT = "vkDestroyPrivateDataSlotEXT"

-- | > void vkDestroyPrivateDataSlotEXT
--   >     ( VkDevice device
--   >     , VkPrivateDataSlotEXT privateDataSlot
--   >     , const VkAllocationCallbacks* pAllocator
--   >     )
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkDestroyPrivateDataSlotEXT vkDestroyPrivateDataSlotEXT registry at www.khronos.org>
type HS_vkDestroyPrivateDataSlotEXT =
     VkDevice -- ^ device
              ->
       VkPrivateDataSlotEXT -- ^ privateDataSlot
                            -> Ptr VkAllocationCallbacks -- ^ pAllocator
                                                         -> IO ()

type PFN_vkDestroyPrivateDataSlotEXT =
     FunPtr HS_vkDestroyPrivateDataSlotEXT

foreign import ccall unsafe "dynamic"
               unwrapVkDestroyPrivateDataSlotEXTUnsafe ::
               PFN_vkDestroyPrivateDataSlotEXT -> HS_vkDestroyPrivateDataSlotEXT

foreign import ccall safe "dynamic"
               unwrapVkDestroyPrivateDataSlotEXTSafe ::
               PFN_vkDestroyPrivateDataSlotEXT -> HS_vkDestroyPrivateDataSlotEXT

instance VulkanProc "vkDestroyPrivateDataSlotEXT" where
    type VkProcType "vkDestroyPrivateDataSlotEXT" =
         HS_vkDestroyPrivateDataSlotEXT
    vkProcSymbol = _VkDestroyPrivateDataSlotEXT

    {-# INLINE vkProcSymbol #-}
    unwrapVkProcPtrUnsafe = unwrapVkDestroyPrivateDataSlotEXTUnsafe

    {-# INLINE unwrapVkProcPtrUnsafe #-}
    unwrapVkProcPtrSafe = unwrapVkDestroyPrivateDataSlotEXTSafe

    {-# INLINE unwrapVkProcPtrSafe #-}

pattern VkSetPrivateDataEXT :: CString

pattern VkSetPrivateDataEXT <- (is_VkSetPrivateDataEXT -> True)
  where
    VkSetPrivateDataEXT = _VkSetPrivateDataEXT

{-# INLINE _VkSetPrivateDataEXT #-}

_VkSetPrivateDataEXT :: CString
_VkSetPrivateDataEXT = Ptr "vkSetPrivateDataEXT\NUL"#

{-# INLINE is_VkSetPrivateDataEXT #-}

is_VkSetPrivateDataEXT :: CString -> Bool
is_VkSetPrivateDataEXT = (EQ ==) . cmpCStrings _VkSetPrivateDataEXT

type VkSetPrivateDataEXT = "vkSetPrivateDataEXT"

-- | Success codes: 'VK_SUCCESS'.
--
--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY'.
--
--   > VkResult vkSetPrivateDataEXT
--   >     ( VkDevice device
--   >     , VkObjectType objectType
--   >     , uint64_t objectHandle
--   >     , VkPrivateDataSlotEXT privateDataSlot
--   >     , uint64_t data
--   >     )
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkSetPrivateDataEXT vkSetPrivateDataEXT registry at www.khronos.org>
type HS_vkSetPrivateDataEXT =
     VkDevice -- ^ device
              ->
       VkObjectType -- ^ objectType
                    ->
         Word64 -- ^ objectHandle
                -> VkPrivateDataSlotEXT -- ^ privateDataSlot
                                        -> Word64 -- ^ data
                                                  -> IO VkResult

type PFN_vkSetPrivateDataEXT = FunPtr HS_vkSetPrivateDataEXT

foreign import ccall unsafe "dynamic"
               unwrapVkSetPrivateDataEXTUnsafe ::
               PFN_vkSetPrivateDataEXT -> HS_vkSetPrivateDataEXT

foreign import ccall safe "dynamic" unwrapVkSetPrivateDataEXTSafe
               :: PFN_vkSetPrivateDataEXT -> HS_vkSetPrivateDataEXT

instance VulkanProc "vkSetPrivateDataEXT" where
    type VkProcType "vkSetPrivateDataEXT" = HS_vkSetPrivateDataEXT
    vkProcSymbol = _VkSetPrivateDataEXT

    {-# INLINE vkProcSymbol #-}
    unwrapVkProcPtrUnsafe = unwrapVkSetPrivateDataEXTUnsafe

    {-# INLINE unwrapVkProcPtrUnsafe #-}
    unwrapVkProcPtrSafe = unwrapVkSetPrivateDataEXTSafe

    {-# INLINE unwrapVkProcPtrSafe #-}

pattern VkGetPrivateDataEXT :: CString

pattern VkGetPrivateDataEXT <- (is_VkGetPrivateDataEXT -> True)
  where
    VkGetPrivateDataEXT = _VkGetPrivateDataEXT

{-# INLINE _VkGetPrivateDataEXT #-}

_VkGetPrivateDataEXT :: CString
_VkGetPrivateDataEXT = Ptr "vkGetPrivateDataEXT\NUL"#

{-# INLINE is_VkGetPrivateDataEXT #-}

is_VkGetPrivateDataEXT :: CString -> Bool
is_VkGetPrivateDataEXT = (EQ ==) . cmpCStrings _VkGetPrivateDataEXT

type VkGetPrivateDataEXT = "vkGetPrivateDataEXT"

-- | > void vkGetPrivateDataEXT
--   >     ( VkDevice device
--   >     , VkObjectType objectType
--   >     , uint64_t objectHandle
--   >     , VkPrivateDataSlotEXT privateDataSlot
--   >     , uint64_t* pData
--   >     )
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkGetPrivateDataEXT vkGetPrivateDataEXT registry at www.khronos.org>
type HS_vkGetPrivateDataEXT =
     VkDevice -- ^ device
              ->
       VkObjectType -- ^ objectType
                    ->
         Word64 -- ^ objectHandle
                -> VkPrivateDataSlotEXT -- ^ privateDataSlot
                                        -> Ptr Word64 -- ^ pData
                                                      -> IO ()

type PFN_vkGetPrivateDataEXT = FunPtr HS_vkGetPrivateDataEXT

foreign import ccall unsafe "dynamic"
               unwrapVkGetPrivateDataEXTUnsafe ::
               PFN_vkGetPrivateDataEXT -> HS_vkGetPrivateDataEXT

foreign import ccall safe "dynamic" unwrapVkGetPrivateDataEXTSafe
               :: PFN_vkGetPrivateDataEXT -> HS_vkGetPrivateDataEXT

instance VulkanProc "vkGetPrivateDataEXT" where
    type VkProcType "vkGetPrivateDataEXT" = HS_vkGetPrivateDataEXT
    vkProcSymbol = _VkGetPrivateDataEXT

    {-# INLINE vkProcSymbol #-}
    unwrapVkProcPtrUnsafe = unwrapVkGetPrivateDataEXTUnsafe

    {-# INLINE unwrapVkProcPtrUnsafe #-}
    unwrapVkProcPtrSafe = unwrapVkGetPrivateDataEXTSafe

    {-# INLINE unwrapVkProcPtrSafe #-}

pattern VK_EXT_PRIVATE_DATA_SPEC_VERSION :: (Num a, Eq a) => a

pattern VK_EXT_PRIVATE_DATA_SPEC_VERSION = 1

type VK_EXT_PRIVATE_DATA_SPEC_VERSION = 1

pattern VK_EXT_PRIVATE_DATA_EXTENSION_NAME :: CString

pattern VK_EXT_PRIVATE_DATA_EXTENSION_NAME <-
        (is_VK_EXT_PRIVATE_DATA_EXTENSION_NAME -> True)
  where
    VK_EXT_PRIVATE_DATA_EXTENSION_NAME
      = _VK_EXT_PRIVATE_DATA_EXTENSION_NAME

{-# INLINE _VK_EXT_PRIVATE_DATA_EXTENSION_NAME #-}

_VK_EXT_PRIVATE_DATA_EXTENSION_NAME :: CString
_VK_EXT_PRIVATE_DATA_EXTENSION_NAME
  = Ptr "VK_EXT_private_data\NUL"#

{-# INLINE is_VK_EXT_PRIVATE_DATA_EXTENSION_NAME #-}

is_VK_EXT_PRIVATE_DATA_EXTENSION_NAME :: CString -> Bool
is_VK_EXT_PRIVATE_DATA_EXTENSION_NAME
  = (EQ ==) . cmpCStrings _VK_EXT_PRIVATE_DATA_EXTENSION_NAME

type VK_EXT_PRIVATE_DATA_EXTENSION_NAME = "VK_EXT_private_data"

pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT
        :: VkStructureType

pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT
        = VkStructureType 1000295000

pattern VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT ::
        VkStructureType

pattern VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT =
        VkStructureType 1000295001

pattern VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT ::
        VkStructureType

pattern VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO_EXT =
        VkStructureType 1000295002

pattern VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT :: VkObjectType

pattern VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT =
        VkObjectType 1000295000