content: {-# OPTIONS_GHC -fno-warn-orphans#-}
  {-# OPTIONS_GHC -fno-warn-unused-imports#-}
  {-# 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_display_control
         (AHardwareBuffer(), ANativeWindow(), CAMetalLayer(), VkBool32(..),
          VkDeviceAddress(..), VkDeviceSize(..), VkFlags(..),
          VkSampleMask(..), pattern VK_COLORSPACE_SRGB_NONLINEAR_KHR,
          VkColorComponentBitmask(..), VkColorSpaceKHR(..),
          VkColorComponentFlagBits(), VkColorComponentFlags(),
          VkCompositeAlphaBitmaskKHR(..), VkCompositeAlphaFlagBitsKHR(),
          VkCompositeAlphaFlagsKHR(), VkDeviceEventInfoEXT,
          VkDeviceDiagnosticsConfigBitmaskNV(..), VkDeviceEventTypeEXT(..),
          VkDeviceGroupPresentModeBitmaskKHR(..), VkDeviceCreateFlagBits(..),
          VkDeviceDiagnosticsConfigFlagBitsNV(),
          VkDeviceDiagnosticsConfigFlagsNV(),
          VkDeviceGroupPresentModeFlagBitsKHR(),
          VkDeviceGroupPresentModeFlagsKHR(), VkDeviceQueueCreateBitmask(..),
          VkDeviceQueueCreateFlagBits(), VkDeviceQueueCreateFlags(),
          VkDisplayEventInfoEXT, VkDisplayEventTypeEXT(..),
          VkDisplayPlaneAlphaBitmaskKHR(..), VkDisplayPowerStateEXT(..),
          VkDisplayPlaneAlphaFlagBitsKHR(), VkDisplayPlaneAlphaFlagsKHR(),
          VkDisplayPowerInfoEXT, VkExtent2D, VkFormat(..),
          VkFormatFeatureBitmask(..), VkFormatFeatureFlagBits(),
          VkFormatFeatureFlags(), VkImageAspectBitmask(..),
          VkImageCreateBitmask(..), VkImageLayout(..), VkImageTiling(..),
          VkImageType(..), VkImageUsageBitmask(..), VkImageViewType(..),
          VkImageAspectFlagBits(), VkImageAspectFlags(),
          VkImageCreateFlagBits(), VkImageCreateFlags(),
          VkImageUsageFlagBits(), VkImageUsageFlags(),
          VkImageViewCreateBitmask(..), VkImageViewCreateFlagBits(),
          VkImageViewCreateFlags(), VkPresentModeKHR(..), VkSharingMode(..),
          VkStructureType(..), VkSurfaceCounterBitmaskEXT(..),
          VkSurfaceTransformBitmaskKHR(..), VkSurfaceCounterFlagBitsEXT(),
          VkSurfaceCounterFlagsEXT(), VkSurfaceTransformFlagBitsKHR(),
          VkSurfaceTransformFlagsKHR(), VkSwapchainCounterCreateInfoEXT,
          VkSwapchainImageUsageBitmaskANDROID(..),
          VkSwapchainCreateBitmaskKHR(..), VkSwapchainCreateFlagBitsKHR(),
          VkSwapchainCreateFlagsKHR(),
          VkSwapchainImageUsageFlagBitsANDROID(),
          VkSwapchainImageUsageFlagsANDROID(), VkSwapchainCreateInfoKHR,
          -- > #include "vk_platform.h"
          VkDisplayPowerControlEXT, pattern VkDisplayPowerControlEXT,
          HS_vkDisplayPowerControlEXT, PFN_vkDisplayPowerControlEXT,
          VkRegisterDeviceEventEXT, pattern VkRegisterDeviceEventEXT,
          HS_vkRegisterDeviceEventEXT, PFN_vkRegisterDeviceEventEXT,
          VkRegisterDisplayEventEXT, pattern VkRegisterDisplayEventEXT,
          HS_vkRegisterDisplayEventEXT, PFN_vkRegisterDisplayEventEXT,
          VkGetSwapchainCounterEXT, pattern VkGetSwapchainCounterEXT,
          HS_vkGetSwapchainCounterEXT, PFN_vkGetSwapchainCounterEXT,
          module Graphics.Vulkan.Marshal, VkInternalAllocationType(..),
          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, VkDeviceCreateInfo,
          VkDeviceDiagnosticsConfigCreateInfoNV, VkDeviceGroupBindSparseInfo,
          VkDeviceGroupBindSparseInfoKHR,
          VkDeviceGroupCommandBufferBeginInfo,
          VkDeviceGroupCommandBufferBeginInfoKHR,
          VkDeviceGroupDeviceCreateInfo, VkDeviceGroupDeviceCreateInfoKHR,
          VkDeviceGroupPresentCapabilitiesKHR, VkDeviceGroupPresentInfoKHR,
          VkDeviceGroupRenderPassBeginInfo,
          VkDeviceGroupRenderPassBeginInfoKHR, VkDeviceGroupSubmitInfo,
          VkDeviceGroupSubmitInfoKHR, VkDeviceGroupSwapchainCreateInfoKHR,
          VkDeviceMemoryOpaqueCaptureAddressInfo,
          VkDeviceMemoryOpaqueCaptureAddressInfoKHR,
          VkDeviceMemoryOverallocationCreateInfoAMD,
          VkDevicePrivateDataCreateInfoEXT, VkDeviceQueueCreateInfo,
          VkDeviceQueueGlobalPriorityCreateInfoEXT, VkDeviceQueueInfo2,
          VkDisplayModeCreateInfoKHR, VkDisplayModeParametersKHR,
          VkDisplayModeProperties2KHR, VkDisplayModePropertiesKHR,
          VkDisplayNativeHdrSurfaceCapabilitiesAMD,
          VkDisplayPlaneCapabilities2KHR, VkDisplayPlaneCapabilitiesKHR,
          VkDisplayPlaneInfo2KHR, VkDisplayPlaneProperties2KHR,
          VkDisplayPlanePropertiesKHR, VkDisplayPresentInfoKHR,
          VkDisplayProperties2KHR, VkDisplayPropertiesKHR,
          VkDisplaySurfaceCreateInfoKHR, VK_EXT_DISPLAY_CONTROL_SPEC_VERSION,
          pattern VK_EXT_DISPLAY_CONTROL_SPEC_VERSION,
          VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME,
          pattern VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME,
          pattern VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT,
          pattern VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT,
          pattern VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT,
          pattern VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_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.Enum.Color
  import Graphics.Vulkan.Types.Enum.CompositeAlphaFlagsKHR
  import Graphics.Vulkan.Types.Enum.Device
  import Graphics.Vulkan.Types.Enum.Display
  import Graphics.Vulkan.Types.Enum.Format
  import Graphics.Vulkan.Types.Enum.Image
  import Graphics.Vulkan.Types.Enum.InternalAllocationType
  import Graphics.Vulkan.Types.Enum.PresentModeKHR
  import Graphics.Vulkan.Types.Enum.Result
  import Graphics.Vulkan.Types.Enum.SharingMode
  import Graphics.Vulkan.Types.Enum.StructureType
  import Graphics.Vulkan.Types.Enum.Surface
  import Graphics.Vulkan.Types.Enum.Swapchain
  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
  import Graphics.Vulkan.Types.Struct.Display
  import Graphics.Vulkan.Types.Struct.Extent               (VkExtent2D)
  import Graphics.Vulkan.Types.Struct.Swapchain            (VkSwapchainCounterCreateInfoEXT,
                                                            VkSwapchainCreateInfoKHR)
  
  pattern VkDisplayPowerControlEXT :: CString
  
  pattern VkDisplayPowerControlEXT <-
          (is_VkDisplayPowerControlEXT -> True)
    where
      VkDisplayPowerControlEXT = _VkDisplayPowerControlEXT
  
  {-# INLINE _VkDisplayPowerControlEXT #-}
  
  _VkDisplayPowerControlEXT :: CString
  _VkDisplayPowerControlEXT = Ptr "vkDisplayPowerControlEXT\NUL"#
  
  {-# INLINE is_VkDisplayPowerControlEXT #-}
  
  is_VkDisplayPowerControlEXT :: CString -> Bool
  is_VkDisplayPowerControlEXT
    = (EQ ==) . cmpCStrings _VkDisplayPowerControlEXT
  
  type VkDisplayPowerControlEXT = "vkDisplayPowerControlEXT"
  
  -- | Success codes: 'VK_SUCCESS'.
  --
  --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY'.
  --
  --   > VkResult vkDisplayPowerControlEXT
  --   >     ( VkDevice device
  --   >     , VkDisplayKHR display
  --   >     , const VkDisplayPowerInfoEXT* pDisplayPowerInfo
  --   >     )
  --
  --   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkDisplayPowerControlEXT vkDisplayPowerControlEXT registry at www.khronos.org>
  type HS_vkDisplayPowerControlEXT =
       VkDevice -- ^ device
                ->
         VkDisplayKHR -- ^ display
                      -> Ptr VkDisplayPowerInfoEXT -- ^ pDisplayPowerInfo
                                                   -> IO VkResult
  
  type PFN_vkDisplayPowerControlEXT =
       FunPtr HS_vkDisplayPowerControlEXT
  
  foreign import ccall unsafe "dynamic"
                 unwrapVkDisplayPowerControlEXTUnsafe ::
                 PFN_vkDisplayPowerControlEXT -> HS_vkDisplayPowerControlEXT
  
  foreign import ccall safe "dynamic"
                 unwrapVkDisplayPowerControlEXTSafe ::
                 PFN_vkDisplayPowerControlEXT -> HS_vkDisplayPowerControlEXT
  
  instance VulkanProc "vkDisplayPowerControlEXT" where
      type VkProcType "vkDisplayPowerControlEXT" =
           HS_vkDisplayPowerControlEXT
      vkProcSymbol = _VkDisplayPowerControlEXT
  
      {-# INLINE vkProcSymbol #-}
      unwrapVkProcPtrUnsafe = unwrapVkDisplayPowerControlEXTUnsafe
  
      {-# INLINE unwrapVkProcPtrUnsafe #-}
      unwrapVkProcPtrSafe = unwrapVkDisplayPowerControlEXTSafe
  
      {-# INLINE unwrapVkProcPtrSafe #-}
  
  pattern VkRegisterDeviceEventEXT :: CString
  
  pattern VkRegisterDeviceEventEXT <-
          (is_VkRegisterDeviceEventEXT -> True)
    where
      VkRegisterDeviceEventEXT = _VkRegisterDeviceEventEXT
  
  {-# INLINE _VkRegisterDeviceEventEXT #-}
  
  _VkRegisterDeviceEventEXT :: CString
  _VkRegisterDeviceEventEXT = Ptr "vkRegisterDeviceEventEXT\NUL"#
  
  {-# INLINE is_VkRegisterDeviceEventEXT #-}
  
  is_VkRegisterDeviceEventEXT :: CString -> Bool
  is_VkRegisterDeviceEventEXT
    = (EQ ==) . cmpCStrings _VkRegisterDeviceEventEXT
  
  type VkRegisterDeviceEventEXT = "vkRegisterDeviceEventEXT"
  
  -- | Success codes: 'VK_SUCCESS'.
  --
  --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY'.
  --
  --   > VkResult vkRegisterDeviceEventEXT
  --   >     ( VkDevice device
  --   >     , const VkDeviceEventInfoEXT* pDeviceEventInfo
  --   >     , const VkAllocationCallbacks* pAllocator
  --   >     , VkFence* pFence
  --   >     )
  --
  --   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkRegisterDeviceEventEXT vkRegisterDeviceEventEXT registry at www.khronos.org>
  type HS_vkRegisterDeviceEventEXT =
       VkDevice -- ^ device
                ->
         Ptr VkDeviceEventInfoEXT -- ^ pDeviceEventInfo
                                  ->
           Ptr VkAllocationCallbacks -- ^ pAllocator
                                     -> Ptr VkFence -- ^ pFence
                                                    -> IO VkResult
  
  type PFN_vkRegisterDeviceEventEXT =
       FunPtr HS_vkRegisterDeviceEventEXT
  
  foreign import ccall unsafe "dynamic"
                 unwrapVkRegisterDeviceEventEXTUnsafe ::
                 PFN_vkRegisterDeviceEventEXT -> HS_vkRegisterDeviceEventEXT
  
  foreign import ccall safe "dynamic"
                 unwrapVkRegisterDeviceEventEXTSafe ::
                 PFN_vkRegisterDeviceEventEXT -> HS_vkRegisterDeviceEventEXT
  
  instance VulkanProc "vkRegisterDeviceEventEXT" where
      type VkProcType "vkRegisterDeviceEventEXT" =
           HS_vkRegisterDeviceEventEXT
      vkProcSymbol = _VkRegisterDeviceEventEXT
  
      {-# INLINE vkProcSymbol #-}
      unwrapVkProcPtrUnsafe = unwrapVkRegisterDeviceEventEXTUnsafe
  
      {-# INLINE unwrapVkProcPtrUnsafe #-}
      unwrapVkProcPtrSafe = unwrapVkRegisterDeviceEventEXTSafe
  
      {-# INLINE unwrapVkProcPtrSafe #-}
  
  pattern VkRegisterDisplayEventEXT :: CString
  
  pattern VkRegisterDisplayEventEXT <-
          (is_VkRegisterDisplayEventEXT -> True)
    where
      VkRegisterDisplayEventEXT = _VkRegisterDisplayEventEXT
  
  {-# INLINE _VkRegisterDisplayEventEXT #-}
  
  _VkRegisterDisplayEventEXT :: CString
  _VkRegisterDisplayEventEXT = Ptr "vkRegisterDisplayEventEXT\NUL"#
  
  {-# INLINE is_VkRegisterDisplayEventEXT #-}
  
  is_VkRegisterDisplayEventEXT :: CString -> Bool
  is_VkRegisterDisplayEventEXT
    = (EQ ==) . cmpCStrings _VkRegisterDisplayEventEXT
  
  type VkRegisterDisplayEventEXT = "vkRegisterDisplayEventEXT"
  
  -- | Success codes: 'VK_SUCCESS'.
  --
  --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY'.
  --
  --   > VkResult vkRegisterDisplayEventEXT
  --   >     ( VkDevice device
  --   >     , VkDisplayKHR display
  --   >     , const VkDisplayEventInfoEXT* pDisplayEventInfo
  --   >     , const VkAllocationCallbacks* pAllocator
  --   >     , VkFence* pFence
  --   >     )
  --
  --   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkRegisterDisplayEventEXT vkRegisterDisplayEventEXT registry at www.khronos.org>
  type HS_vkRegisterDisplayEventEXT =
       VkDevice -- ^ device
                ->
         VkDisplayKHR -- ^ display
                      ->
           Ptr VkDisplayEventInfoEXT -- ^ pDisplayEventInfo
                                     ->
             Ptr VkAllocationCallbacks -- ^ pAllocator
                                       -> Ptr VkFence -- ^ pFence
                                                      -> IO VkResult
  
  type PFN_vkRegisterDisplayEventEXT =
       FunPtr HS_vkRegisterDisplayEventEXT
  
  foreign import ccall unsafe "dynamic"
                 unwrapVkRegisterDisplayEventEXTUnsafe ::
                 PFN_vkRegisterDisplayEventEXT -> HS_vkRegisterDisplayEventEXT
  
  foreign import ccall safe "dynamic"
                 unwrapVkRegisterDisplayEventEXTSafe ::
                 PFN_vkRegisterDisplayEventEXT -> HS_vkRegisterDisplayEventEXT
  
  instance VulkanProc "vkRegisterDisplayEventEXT" where
      type VkProcType "vkRegisterDisplayEventEXT" =
           HS_vkRegisterDisplayEventEXT
      vkProcSymbol = _VkRegisterDisplayEventEXT
  
      {-# INLINE vkProcSymbol #-}
      unwrapVkProcPtrUnsafe = unwrapVkRegisterDisplayEventEXTUnsafe
  
      {-# INLINE unwrapVkProcPtrUnsafe #-}
      unwrapVkProcPtrSafe = unwrapVkRegisterDisplayEventEXTSafe
  
      {-# INLINE unwrapVkProcPtrSafe #-}
  
  pattern VkGetSwapchainCounterEXT :: CString
  
  pattern VkGetSwapchainCounterEXT <-
          (is_VkGetSwapchainCounterEXT -> True)
    where
      VkGetSwapchainCounterEXT = _VkGetSwapchainCounterEXT
  
  {-# INLINE _VkGetSwapchainCounterEXT #-}
  
  _VkGetSwapchainCounterEXT :: CString
  _VkGetSwapchainCounterEXT = Ptr "vkGetSwapchainCounterEXT\NUL"#
  
  {-# INLINE is_VkGetSwapchainCounterEXT #-}
  
  is_VkGetSwapchainCounterEXT :: CString -> Bool
  is_VkGetSwapchainCounterEXT
    = (EQ ==) . cmpCStrings _VkGetSwapchainCounterEXT
  
  type VkGetSwapchainCounterEXT = "vkGetSwapchainCounterEXT"
  
  -- | Success codes: 'VK_SUCCESS'.
  --
  --   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_DEVICE_LOST', 'VK_ERROR_OUT_OF_DATE_KHR'.
  --
  --   > VkResult vkGetSwapchainCounterEXT
  --   >     ( VkDevice device
  --   >     , VkSwapchainKHR swapchain
  --   >     , VkSurfaceCounterFlagBitsEXT counter
  --   >     , uint64_t* pCounterValue
  --   >     )
  --
  --   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkGetSwapchainCounterEXT vkGetSwapchainCounterEXT registry at www.khronos.org>
  type HS_vkGetSwapchainCounterEXT =
       VkDevice -- ^ device
                ->
         VkSwapchainKHR -- ^ swapchain
                        ->
           VkSurfaceCounterFlagBitsEXT -- ^ counter
                                       -> Ptr Word64 -- ^ pCounterValue
                                                     -> IO VkResult
  
  type PFN_vkGetSwapchainCounterEXT =
       FunPtr HS_vkGetSwapchainCounterEXT
  
  foreign import ccall unsafe "dynamic"
                 unwrapVkGetSwapchainCounterEXTUnsafe ::
                 PFN_vkGetSwapchainCounterEXT -> HS_vkGetSwapchainCounterEXT
  
  foreign import ccall safe "dynamic"
                 unwrapVkGetSwapchainCounterEXTSafe ::
                 PFN_vkGetSwapchainCounterEXT -> HS_vkGetSwapchainCounterEXT
  
  instance VulkanProc "vkGetSwapchainCounterEXT" where
      type VkProcType "vkGetSwapchainCounterEXT" =
           HS_vkGetSwapchainCounterEXT
      vkProcSymbol = _VkGetSwapchainCounterEXT
  
      {-# INLINE vkProcSymbol #-}
      unwrapVkProcPtrUnsafe = unwrapVkGetSwapchainCounterEXTUnsafe
  
      {-# INLINE unwrapVkProcPtrUnsafe #-}
      unwrapVkProcPtrSafe = unwrapVkGetSwapchainCounterEXTSafe
  
      {-# INLINE unwrapVkProcPtrSafe #-}
  
  pattern VK_EXT_DISPLAY_CONTROL_SPEC_VERSION :: (Num a, Eq a) => a
  
  pattern VK_EXT_DISPLAY_CONTROL_SPEC_VERSION = 1
  
  type VK_EXT_DISPLAY_CONTROL_SPEC_VERSION = 1
  
  pattern VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME :: CString
  
  pattern VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME <-
          (is_VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME -> True)
    where
      VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME
        = _VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME
  
  {-# INLINE _VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME #-}
  
  _VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME :: CString
  _VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME
    = Ptr "VK_EXT_display_control\NUL"#
  
  {-# INLINE is_VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME #-}
  
  is_VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME :: CString -> Bool
  is_VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME
    = (EQ ==) . cmpCStrings _VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME
  
  type VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME =
       "VK_EXT_display_control"
  
  pattern VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT :: VkStructureType
  
  pattern VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT =
          VkStructureType 1000091000
  
  pattern VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT :: VkStructureType
  
  pattern VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT =
          VkStructureType 1000091001
  
  pattern VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT :: VkStructureType
  
  pattern VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT =
          VkStructureType 1000091002
  
  pattern VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT ::
          VkStructureType
  
  pattern VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT =
          VkStructureType 1000091003
  