{-# 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_display_properties2
       (-- * Vulkan extension: @VK_KHR_get_display_properties2@
        -- |
        --
        -- supported: @vulkan@
        --
        -- contact: @James Jones @cubanismo@
        --
        -- author: @KHR@
        --
        -- type: @instance@
        --
        -- Extension number: @122@
        --
        -- Required extensions: 'VK_KHR_display'.
        --

        -- ** Required extensions: 'VK_KHR_display'.
        module Graphics.Vulkan.Marshal, AHardwareBuffer(),
        ANativeWindow(), CAMetalLayer(), VkBool32(..), VkDeviceAddress(..),
        VkDeviceSize(..), VkFlags(..), VkSampleMask(..),
        VkDisplayModeParametersKHR, VkDisplayModeProperties2KHR,
        VkDisplayModePropertiesKHR, VkDisplayEventTypeEXT(..),
        VkDisplayPlaneAlphaBitmaskKHR(..), VkDisplayPowerStateEXT(..),
        VkDisplayPlaneAlphaFlagBitsKHR(), VkDisplayPlaneAlphaFlagsKHR(),
        VkDisplayPlaneCapabilities2KHR, VkDisplayPlaneCapabilitiesKHR,
        VkDisplayPlaneInfo2KHR, VkDisplayPlaneProperties2KHR,
        VkDisplayPlanePropertiesKHR, VkDisplayProperties2KHR,
        VkDisplayPropertiesKHR, VkExtent2D, VkOffset2D,
        VkStructureType(..), VkSurfaceCounterBitmaskEXT(..),
        VkSurfaceTransformBitmaskKHR(..), VkSurfaceCounterFlagBitsEXT(),
        VkSurfaceCounterFlagsEXT(), VkSurfaceTransformFlagBitsKHR(),
        VkSurfaceTransformFlagsKHR(),
        -- > #include "vk_platform.h"
        VkGetPhysicalDeviceDisplayProperties2KHR,
        pattern VkGetPhysicalDeviceDisplayProperties2KHR,
        HS_vkGetPhysicalDeviceDisplayProperties2KHR,
        PFN_vkGetPhysicalDeviceDisplayProperties2KHR,
        VkGetPhysicalDeviceDisplayPlaneProperties2KHR,
        pattern VkGetPhysicalDeviceDisplayPlaneProperties2KHR,
        HS_vkGetPhysicalDeviceDisplayPlaneProperties2KHR,
        PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR,
        VkGetDisplayModeProperties2KHR,
        pattern VkGetDisplayModeProperties2KHR,
        HS_vkGetDisplayModeProperties2KHR,
        PFN_vkGetDisplayModeProperties2KHR,
        VkGetDisplayPlaneCapabilities2KHR,
        pattern VkGetDisplayPlaneCapabilities2KHR,
        HS_vkGetDisplayPlaneCapabilities2KHR,
        PFN_vkGetDisplayPlaneCapabilities2KHR, VkResult(..),
        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(),
        VkDisplayEventInfoEXT, VkDisplayModeCreateInfoKHR,
        VkDisplayNativeHdrSurfaceCapabilitiesAMD, VkDisplayPowerInfoEXT,
        VkDisplayPresentInfoKHR, VkDisplaySurfaceCreateInfoKHR, VkExtent3D,
        VkOffset3D, VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION,
        pattern VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION,
        VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME,
        pattern VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME,
        pattern VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR,
        pattern VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR,
        pattern VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR,
        pattern VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR,
        pattern VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR)
       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.Display
import Graphics.Vulkan.Types.Enum.Result
import Graphics.Vulkan.Types.Enum.StructureType
import Graphics.Vulkan.Types.Enum.Surface
import Graphics.Vulkan.Types.Handles
import Graphics.Vulkan.Types.Struct.Display
import Graphics.Vulkan.Types.Struct.Extent
import Graphics.Vulkan.Types.Struct.Offset

pattern VkGetPhysicalDeviceDisplayProperties2KHR :: CString

pattern $bVkGetPhysicalDeviceDisplayProperties2KHR :: CString
$mVkGetPhysicalDeviceDisplayProperties2KHR :: forall {r}. CString -> (Void# -> r) -> (Void# -> r) -> r
VkGetPhysicalDeviceDisplayProperties2KHR <-
        (is_VkGetPhysicalDeviceDisplayProperties2KHR -> True)
  where
    VkGetPhysicalDeviceDisplayProperties2KHR
      = CString
_VkGetPhysicalDeviceDisplayProperties2KHR

{-# INLINE _VkGetPhysicalDeviceDisplayProperties2KHR #-}

_VkGetPhysicalDeviceDisplayProperties2KHR :: CString
_VkGetPhysicalDeviceDisplayProperties2KHR :: CString
_VkGetPhysicalDeviceDisplayProperties2KHR
  = Addr# -> CString
forall a. Addr# -> Ptr a
Ptr Addr#
"vkGetPhysicalDeviceDisplayProperties2KHR\NUL"#

{-# INLINE is_VkGetPhysicalDeviceDisplayProperties2KHR #-}

is_VkGetPhysicalDeviceDisplayProperties2KHR :: CString -> Bool
is_VkGetPhysicalDeviceDisplayProperties2KHR :: CString -> Bool
is_VkGetPhysicalDeviceDisplayProperties2KHR
  = (Ordering
EQ Ordering -> Ordering -> Bool
forall a. Eq a => a -> a -> Bool
==) (Ordering -> Bool) -> (CString -> Ordering) -> CString -> Bool
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CString -> CString -> Ordering
cmpCStrings CString
_VkGetPhysicalDeviceDisplayProperties2KHR

type VkGetPhysicalDeviceDisplayProperties2KHR =
     "vkGetPhysicalDeviceDisplayProperties2KHR"

-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.
--
--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.
--
--   > VkResult vkGetPhysicalDeviceDisplayProperties2KHR
--   >     ( VkPhysicalDevice physicalDevice
--   >     , uint32_t* pPropertyCount
--   >     , VkDisplayProperties2KHR* pProperties
--   >     )
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkGetPhysicalDeviceDisplayProperties2KHR vkGetPhysicalDeviceDisplayProperties2KHR registry at www.khronos.org>
type HS_vkGetPhysicalDeviceDisplayProperties2KHR =
     VkPhysicalDevice -- ^ physicalDevice
                      ->
       Ptr Word32 -- ^ pPropertyCount
                  -> Ptr VkDisplayProperties2KHR -- ^ pProperties
                                                 -> IO VkResult

type PFN_vkGetPhysicalDeviceDisplayProperties2KHR =
     FunPtr HS_vkGetPhysicalDeviceDisplayProperties2KHR

foreign import ccall unsafe "dynamic"
               unwrapVkGetPhysicalDeviceDisplayProperties2KHRUnsafe ::
               PFN_vkGetPhysicalDeviceDisplayProperties2KHR ->
                 HS_vkGetPhysicalDeviceDisplayProperties2KHR

foreign import ccall safe "dynamic"
               unwrapVkGetPhysicalDeviceDisplayProperties2KHRSafe ::
               PFN_vkGetPhysicalDeviceDisplayProperties2KHR ->
                 HS_vkGetPhysicalDeviceDisplayProperties2KHR

instance VulkanProc "vkGetPhysicalDeviceDisplayProperties2KHR"
         where
    type VkProcType "vkGetPhysicalDeviceDisplayProperties2KHR" =
         HS_vkGetPhysicalDeviceDisplayProperties2KHR
    vkProcSymbol :: CString
vkProcSymbol = CString
_VkGetPhysicalDeviceDisplayProperties2KHR

    {-# INLINE vkProcSymbol #-}
    unwrapVkProcPtrUnsafe :: FunPtr (VkProcType "vkGetPhysicalDeviceDisplayProperties2KHR")
-> VkProcType "vkGetPhysicalDeviceDisplayProperties2KHR"
unwrapVkProcPtrUnsafe
      = FunPtr (VkProcType "vkGetPhysicalDeviceDisplayProperties2KHR")
-> VkProcType "vkGetPhysicalDeviceDisplayProperties2KHR"
PFN_vkGetPhysicalDeviceDisplayProperties2KHR
-> HS_vkGetPhysicalDeviceDisplayProperties2KHR
unwrapVkGetPhysicalDeviceDisplayProperties2KHRUnsafe

    {-# INLINE unwrapVkProcPtrUnsafe #-}
    unwrapVkProcPtrSafe :: FunPtr (VkProcType "vkGetPhysicalDeviceDisplayProperties2KHR")
-> VkProcType "vkGetPhysicalDeviceDisplayProperties2KHR"
unwrapVkProcPtrSafe
      = FunPtr (VkProcType "vkGetPhysicalDeviceDisplayProperties2KHR")
-> VkProcType "vkGetPhysicalDeviceDisplayProperties2KHR"
PFN_vkGetPhysicalDeviceDisplayProperties2KHR
-> HS_vkGetPhysicalDeviceDisplayProperties2KHR
unwrapVkGetPhysicalDeviceDisplayProperties2KHRSafe

    {-# INLINE unwrapVkProcPtrSafe #-}

pattern VkGetPhysicalDeviceDisplayPlaneProperties2KHR :: CString

pattern $bVkGetPhysicalDeviceDisplayPlaneProperties2KHR :: CString
$mVkGetPhysicalDeviceDisplayPlaneProperties2KHR :: forall {r}. CString -> (Void# -> r) -> (Void# -> r) -> r
VkGetPhysicalDeviceDisplayPlaneProperties2KHR <-
        (is_VkGetPhysicalDeviceDisplayPlaneProperties2KHR -> True)
  where
    VkGetPhysicalDeviceDisplayPlaneProperties2KHR
      = CString
_VkGetPhysicalDeviceDisplayPlaneProperties2KHR

{-# INLINE _VkGetPhysicalDeviceDisplayPlaneProperties2KHR #-}

_VkGetPhysicalDeviceDisplayPlaneProperties2KHR :: CString
_VkGetPhysicalDeviceDisplayPlaneProperties2KHR :: CString
_VkGetPhysicalDeviceDisplayPlaneProperties2KHR
  = Addr# -> CString
forall a. Addr# -> Ptr a
Ptr Addr#
"vkGetPhysicalDeviceDisplayPlaneProperties2KHR\NUL"#

{-# INLINE is_VkGetPhysicalDeviceDisplayPlaneProperties2KHR #-}

is_VkGetPhysicalDeviceDisplayPlaneProperties2KHR :: CString -> Bool
is_VkGetPhysicalDeviceDisplayPlaneProperties2KHR :: CString -> Bool
is_VkGetPhysicalDeviceDisplayPlaneProperties2KHR
  = (Ordering
EQ Ordering -> Ordering -> Bool
forall a. Eq a => a -> a -> Bool
==) (Ordering -> Bool) -> (CString -> Ordering) -> CString -> Bool
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
      CString -> CString -> Ordering
cmpCStrings CString
_VkGetPhysicalDeviceDisplayPlaneProperties2KHR

type VkGetPhysicalDeviceDisplayPlaneProperties2KHR =
     "vkGetPhysicalDeviceDisplayPlaneProperties2KHR"

-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.
--
--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.
--
--   > VkResult vkGetPhysicalDeviceDisplayPlaneProperties2KHR
--   >     ( VkPhysicalDevice physicalDevice
--   >     , uint32_t* pPropertyCount
--   >     , VkDisplayPlaneProperties2KHR* pProperties
--   >     )
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkGetPhysicalDeviceDisplayPlaneProperties2KHR vkGetPhysicalDeviceDisplayPlaneProperties2KHR registry at www.khronos.org>
type HS_vkGetPhysicalDeviceDisplayPlaneProperties2KHR =
     VkPhysicalDevice -- ^ physicalDevice
                      ->
       Ptr Word32 -- ^ pPropertyCount
                  -> Ptr VkDisplayPlaneProperties2KHR -- ^ pProperties
                                                      -> IO VkResult

type PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR =
     FunPtr HS_vkGetPhysicalDeviceDisplayPlaneProperties2KHR

foreign import ccall unsafe "dynamic"
               unwrapVkGetPhysicalDeviceDisplayPlaneProperties2KHRUnsafe ::
               PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR ->
                 HS_vkGetPhysicalDeviceDisplayPlaneProperties2KHR

foreign import ccall safe "dynamic"
               unwrapVkGetPhysicalDeviceDisplayPlaneProperties2KHRSafe ::
               PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR ->
                 HS_vkGetPhysicalDeviceDisplayPlaneProperties2KHR

instance VulkanProc "vkGetPhysicalDeviceDisplayPlaneProperties2KHR"
         where
    type VkProcType "vkGetPhysicalDeviceDisplayPlaneProperties2KHR" =
         HS_vkGetPhysicalDeviceDisplayPlaneProperties2KHR
    vkProcSymbol :: CString
vkProcSymbol = CString
_VkGetPhysicalDeviceDisplayPlaneProperties2KHR

    {-# INLINE vkProcSymbol #-}
    unwrapVkProcPtrUnsafe :: FunPtr (VkProcType "vkGetPhysicalDeviceDisplayPlaneProperties2KHR")
-> VkProcType "vkGetPhysicalDeviceDisplayPlaneProperties2KHR"
unwrapVkProcPtrUnsafe
      = FunPtr (VkProcType "vkGetPhysicalDeviceDisplayPlaneProperties2KHR")
-> VkProcType "vkGetPhysicalDeviceDisplayPlaneProperties2KHR"
PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR
-> HS_vkGetPhysicalDeviceDisplayPlaneProperties2KHR
unwrapVkGetPhysicalDeviceDisplayPlaneProperties2KHRUnsafe

    {-# INLINE unwrapVkProcPtrUnsafe #-}
    unwrapVkProcPtrSafe :: FunPtr (VkProcType "vkGetPhysicalDeviceDisplayPlaneProperties2KHR")
-> VkProcType "vkGetPhysicalDeviceDisplayPlaneProperties2KHR"
unwrapVkProcPtrSafe
      = FunPtr (VkProcType "vkGetPhysicalDeviceDisplayPlaneProperties2KHR")
-> VkProcType "vkGetPhysicalDeviceDisplayPlaneProperties2KHR"
PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR
-> HS_vkGetPhysicalDeviceDisplayPlaneProperties2KHR
unwrapVkGetPhysicalDeviceDisplayPlaneProperties2KHRSafe

    {-# INLINE unwrapVkProcPtrSafe #-}

pattern VkGetDisplayModeProperties2KHR :: CString

pattern $bVkGetDisplayModeProperties2KHR :: CString
$mVkGetDisplayModeProperties2KHR :: forall {r}. CString -> (Void# -> r) -> (Void# -> r) -> r
VkGetDisplayModeProperties2KHR <-
        (is_VkGetDisplayModeProperties2KHR -> True)
  where
    VkGetDisplayModeProperties2KHR = CString
_VkGetDisplayModeProperties2KHR

{-# INLINE _VkGetDisplayModeProperties2KHR #-}

_VkGetDisplayModeProperties2KHR :: CString
_VkGetDisplayModeProperties2KHR :: CString
_VkGetDisplayModeProperties2KHR
  = Addr# -> CString
forall a. Addr# -> Ptr a
Ptr Addr#
"vkGetDisplayModeProperties2KHR\NUL"#

{-# INLINE is_VkGetDisplayModeProperties2KHR #-}

is_VkGetDisplayModeProperties2KHR :: CString -> Bool
is_VkGetDisplayModeProperties2KHR :: CString -> Bool
is_VkGetDisplayModeProperties2KHR
  = (Ordering
EQ Ordering -> Ordering -> Bool
forall a. Eq a => a -> a -> Bool
==) (Ordering -> Bool) -> (CString -> Ordering) -> CString -> Bool
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CString -> CString -> Ordering
cmpCStrings CString
_VkGetDisplayModeProperties2KHR

type VkGetDisplayModeProperties2KHR =
     "vkGetDisplayModeProperties2KHR"

-- | Success codes: 'VK_SUCCESS', 'VK_INCOMPLETE'.
--
--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.
--
--   > VkResult vkGetDisplayModeProperties2KHR
--   >     ( VkPhysicalDevice physicalDevice
--   >     , VkDisplayKHR display
--   >     , uint32_t* pPropertyCount
--   >     , VkDisplayModeProperties2KHR* pProperties
--   >     )
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkGetDisplayModeProperties2KHR vkGetDisplayModeProperties2KHR registry at www.khronos.org>
type HS_vkGetDisplayModeProperties2KHR =
     VkPhysicalDevice -- ^ physicalDevice
                      ->
       VkDisplayKHR -- ^ display
                    ->
         Ptr Word32 -- ^ pPropertyCount
                    -> Ptr VkDisplayModeProperties2KHR -- ^ pProperties
                                                       -> IO VkResult

type PFN_vkGetDisplayModeProperties2KHR =
     FunPtr HS_vkGetDisplayModeProperties2KHR

foreign import ccall unsafe "dynamic"
               unwrapVkGetDisplayModeProperties2KHRUnsafe ::
               PFN_vkGetDisplayModeProperties2KHR ->
                 HS_vkGetDisplayModeProperties2KHR

foreign import ccall safe "dynamic"
               unwrapVkGetDisplayModeProperties2KHRSafe ::
               PFN_vkGetDisplayModeProperties2KHR ->
                 HS_vkGetDisplayModeProperties2KHR

instance VulkanProc "vkGetDisplayModeProperties2KHR" where
    type VkProcType "vkGetDisplayModeProperties2KHR" =
         HS_vkGetDisplayModeProperties2KHR
    vkProcSymbol :: CString
vkProcSymbol = CString
_VkGetDisplayModeProperties2KHR

    {-# INLINE vkProcSymbol #-}
    unwrapVkProcPtrUnsafe :: FunPtr (VkProcType "vkGetDisplayModeProperties2KHR")
-> VkProcType "vkGetDisplayModeProperties2KHR"
unwrapVkProcPtrUnsafe = FunPtr (VkProcType "vkGetDisplayModeProperties2KHR")
-> VkProcType "vkGetDisplayModeProperties2KHR"
PFN_vkGetDisplayModeProperties2KHR
-> HS_vkGetDisplayModeProperties2KHR
unwrapVkGetDisplayModeProperties2KHRUnsafe

    {-# INLINE unwrapVkProcPtrUnsafe #-}
    unwrapVkProcPtrSafe :: FunPtr (VkProcType "vkGetDisplayModeProperties2KHR")
-> VkProcType "vkGetDisplayModeProperties2KHR"
unwrapVkProcPtrSafe = FunPtr (VkProcType "vkGetDisplayModeProperties2KHR")
-> VkProcType "vkGetDisplayModeProperties2KHR"
PFN_vkGetDisplayModeProperties2KHR
-> HS_vkGetDisplayModeProperties2KHR
unwrapVkGetDisplayModeProperties2KHRSafe

    {-# INLINE unwrapVkProcPtrSafe #-}

pattern VkGetDisplayPlaneCapabilities2KHR :: CString

pattern $bVkGetDisplayPlaneCapabilities2KHR :: CString
$mVkGetDisplayPlaneCapabilities2KHR :: forall {r}. CString -> (Void# -> r) -> (Void# -> r) -> r
VkGetDisplayPlaneCapabilities2KHR <-
        (is_VkGetDisplayPlaneCapabilities2KHR -> True)
  where
    VkGetDisplayPlaneCapabilities2KHR
      = CString
_VkGetDisplayPlaneCapabilities2KHR

{-# INLINE _VkGetDisplayPlaneCapabilities2KHR #-}

_VkGetDisplayPlaneCapabilities2KHR :: CString
_VkGetDisplayPlaneCapabilities2KHR :: CString
_VkGetDisplayPlaneCapabilities2KHR
  = Addr# -> CString
forall a. Addr# -> Ptr a
Ptr Addr#
"vkGetDisplayPlaneCapabilities2KHR\NUL"#

{-# INLINE is_VkGetDisplayPlaneCapabilities2KHR #-}

is_VkGetDisplayPlaneCapabilities2KHR :: CString -> Bool
is_VkGetDisplayPlaneCapabilities2KHR :: CString -> Bool
is_VkGetDisplayPlaneCapabilities2KHR
  = (Ordering
EQ Ordering -> Ordering -> Bool
forall a. Eq a => a -> a -> Bool
==) (Ordering -> Bool) -> (CString -> Ordering) -> CString -> Bool
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CString -> CString -> Ordering
cmpCStrings CString
_VkGetDisplayPlaneCapabilities2KHR

type VkGetDisplayPlaneCapabilities2KHR =
     "vkGetDisplayPlaneCapabilities2KHR"

-- | Success codes: 'VK_SUCCESS'.
--
--   Error codes: 'VK_ERROR_OUT_OF_HOST_MEMORY', 'VK_ERROR_OUT_OF_DEVICE_MEMORY'.
--
--   > VkResult vkGetDisplayPlaneCapabilities2KHR
--   >     ( VkPhysicalDevice physicalDevice
--   >     , const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo
--   >     , VkDisplayPlaneCapabilities2KHR* pCapabilities
--   >     )
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkGetDisplayPlaneCapabilities2KHR vkGetDisplayPlaneCapabilities2KHR registry at www.khronos.org>
type HS_vkGetDisplayPlaneCapabilities2KHR =
     VkPhysicalDevice -- ^ physicalDevice
                      ->
       Ptr VkDisplayPlaneInfo2KHR -- ^ pDisplayPlaneInfo
                                  ->
         Ptr VkDisplayPlaneCapabilities2KHR -- ^ pCapabilities
                                            -> IO VkResult

type PFN_vkGetDisplayPlaneCapabilities2KHR =
     FunPtr HS_vkGetDisplayPlaneCapabilities2KHR

foreign import ccall unsafe "dynamic"
               unwrapVkGetDisplayPlaneCapabilities2KHRUnsafe ::
               PFN_vkGetDisplayPlaneCapabilities2KHR ->
                 HS_vkGetDisplayPlaneCapabilities2KHR

foreign import ccall safe "dynamic"
               unwrapVkGetDisplayPlaneCapabilities2KHRSafe ::
               PFN_vkGetDisplayPlaneCapabilities2KHR ->
                 HS_vkGetDisplayPlaneCapabilities2KHR

instance VulkanProc "vkGetDisplayPlaneCapabilities2KHR" where
    type VkProcType "vkGetDisplayPlaneCapabilities2KHR" =
         HS_vkGetDisplayPlaneCapabilities2KHR
    vkProcSymbol :: CString
vkProcSymbol = CString
_VkGetDisplayPlaneCapabilities2KHR

    {-# INLINE vkProcSymbol #-}
    unwrapVkProcPtrUnsafe :: FunPtr (VkProcType "vkGetDisplayPlaneCapabilities2KHR")
-> VkProcType "vkGetDisplayPlaneCapabilities2KHR"
unwrapVkProcPtrUnsafe
      = FunPtr (VkProcType "vkGetDisplayPlaneCapabilities2KHR")
-> VkProcType "vkGetDisplayPlaneCapabilities2KHR"
PFN_vkGetDisplayPlaneCapabilities2KHR
-> HS_vkGetDisplayPlaneCapabilities2KHR
unwrapVkGetDisplayPlaneCapabilities2KHRUnsafe

    {-# INLINE unwrapVkProcPtrUnsafe #-}
    unwrapVkProcPtrSafe :: FunPtr (VkProcType "vkGetDisplayPlaneCapabilities2KHR")
-> VkProcType "vkGetDisplayPlaneCapabilities2KHR"
unwrapVkProcPtrSafe = FunPtr (VkProcType "vkGetDisplayPlaneCapabilities2KHR")
-> VkProcType "vkGetDisplayPlaneCapabilities2KHR"
PFN_vkGetDisplayPlaneCapabilities2KHR
-> HS_vkGetDisplayPlaneCapabilities2KHR
unwrapVkGetDisplayPlaneCapabilities2KHRSafe

    {-# INLINE unwrapVkProcPtrSafe #-}

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

pattern $bVK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION :: forall a. (Num a, Eq a) => a
$mVK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION :: forall {r} {a}.
(Num a, Eq a) =>
a -> (Void# -> r) -> (Void# -> r) -> r
VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION = 1

type VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION = 1

pattern VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME :: CString

pattern $bVK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME :: CString
$mVK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME :: forall {r}. CString -> (Void# -> r) -> (Void# -> r) -> r
VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME <-
        (is_VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME -> True)
  where
    VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME
      = CString
_VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME

{-# INLINE _VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME #-}

_VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME :: CString
_VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME :: CString
_VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME
  = Addr# -> CString
forall a. Addr# -> Ptr a
Ptr Addr#
"VK_KHR_get_display_properties2\NUL"#

{-# INLINE is_VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME #-}

is_VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME ::
                                                  CString -> Bool
is_VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME :: CString -> Bool
is_VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME
  = (Ordering
EQ Ordering -> Ordering -> Bool
forall a. Eq a => a -> a -> Bool
==) (Ordering -> Bool) -> (CString -> Ordering) -> CString -> Bool
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
      CString -> CString -> Ordering
cmpCStrings CString
_VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME

type VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME =
     "VK_KHR_get_display_properties2"

pattern VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR ::
        VkStructureType

pattern $bVK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: VkStructureType
$mVK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR =
        VkStructureType 1000121000

pattern VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR ::
        VkStructureType

pattern $bVK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: VkStructureType
$mVK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR =
        VkStructureType 1000121001

pattern VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR ::
        VkStructureType

pattern $bVK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: VkStructureType
$mVK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR =
        VkStructureType 1000121002

pattern VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR ::
        VkStructureType

pattern $bVK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: VkStructureType
$mVK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR =
        VkStructureType 1000121003

pattern VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR ::
        VkStructureType

pattern $bVK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: VkStructureType
$mVK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR =
        VkStructureType 1000121004