{-# 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_extended_dynamic_state
       (-- * Vulkan extension: @VK_EXT_extended_dynamic_state@
        -- |
        --
        -- supported: @vulkan@
        --
        -- contact: @Piers Daniell @pdaniell-nv@
        --
        -- author: @EXT@
        --
        -- type: @device@
        --
        -- Extension number: @268@
        --
        -- Required extensions: 'VK_KHR_get_physical_device_properties2'.
        --

        -- ** Required extensions: 'VK_KHR_get_physical_device_properties2'.
        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,
        VkDeviceDiagnosticsConfigBitmaskNV(..), VkDeviceEventTypeEXT(..),
        VkDeviceGroupPresentModeBitmaskKHR(..), VkDeviceCreateFlagBits(..),
        VkDeviceDiagnosticsConfigFlagBitsNV(),
        VkDeviceDiagnosticsConfigFlagsNV(),
        VkDeviceGroupPresentModeFlagBitsKHR(),
        VkDeviceGroupPresentModeFlagsKHR(), VkDeviceQueueCreateBitmask(..),
        VkDeviceQueueCreateFlagBits(), VkDeviceQueueCreateFlags(),
        VkDeviceQueueCreateInfo,
        VkPhysicalDeviceExtendedDynamicStateFeaturesEXT,
        VkPhysicalDeviceFeatures, VkPhysicalDeviceFeatures2,
        VkStructureType(..), -- > #include "vk_platform.h"
                             VkCmdSetCullModeEXT,
        pattern VkCmdSetCullModeEXT, HS_vkCmdSetCullModeEXT,
        PFN_vkCmdSetCullModeEXT, VkCmdSetFrontFaceEXT,
        pattern VkCmdSetFrontFaceEXT, HS_vkCmdSetFrontFaceEXT,
        PFN_vkCmdSetFrontFaceEXT, VkCmdSetPrimitiveTopologyEXT,
        pattern VkCmdSetPrimitiveTopologyEXT,
        HS_vkCmdSetPrimitiveTopologyEXT, PFN_vkCmdSetPrimitiveTopologyEXT,
        VkCmdSetViewportWithCountEXT, pattern VkCmdSetViewportWithCountEXT,
        HS_vkCmdSetViewportWithCountEXT, PFN_vkCmdSetViewportWithCountEXT,
        VkCmdSetScissorWithCountEXT, pattern VkCmdSetScissorWithCountEXT,
        HS_vkCmdSetScissorWithCountEXT, PFN_vkCmdSetScissorWithCountEXT,
        VkCmdBindVertexBuffers2EXT, pattern VkCmdBindVertexBuffers2EXT,
        HS_vkCmdBindVertexBuffers2EXT, PFN_vkCmdBindVertexBuffers2EXT,
        VkCmdSetDepthTestEnableEXT, pattern VkCmdSetDepthTestEnableEXT,
        HS_vkCmdSetDepthTestEnableEXT, PFN_vkCmdSetDepthTestEnableEXT,
        VkCmdSetDepthWriteEnableEXT, pattern VkCmdSetDepthWriteEnableEXT,
        HS_vkCmdSetDepthWriteEnableEXT, PFN_vkCmdSetDepthWriteEnableEXT,
        VkCmdSetDepthCompareOpEXT, pattern VkCmdSetDepthCompareOpEXT,
        HS_vkCmdSetDepthCompareOpEXT, PFN_vkCmdSetDepthCompareOpEXT,
        VkCmdSetDepthBoundsTestEnableEXT,
        pattern VkCmdSetDepthBoundsTestEnableEXT,
        HS_vkCmdSetDepthBoundsTestEnableEXT,
        PFN_vkCmdSetDepthBoundsTestEnableEXT, VkCmdSetStencilTestEnableEXT,
        pattern VkCmdSetStencilTestEnableEXT,
        HS_vkCmdSetStencilTestEnableEXT, PFN_vkCmdSetStencilTestEnableEXT,
        VkCmdSetStencilOpEXT, pattern VkCmdSetStencilOpEXT,
        HS_vkCmdSetStencilOpEXT, PFN_vkCmdSetStencilOpEXT, VkCompareOp(..),
        VkCullModeBitmask(..), VkCullModeFlagBits(), VkCullModeFlags(),
        VkFrontFace(..), VkPrimitiveTopology(..), VkStencilFaceBitmask(..),
        VkStencilOp(..), VkStencilFaceFlagBits(), VkStencilFaceFlags(),
        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(), VkExtent2D,
        VkExtent3D, VkOffset2D, VkOffset3D, VkRect2D, VkRectLayerKHR,
        VkViewport, VkViewportSwizzleNV, VkViewportWScalingNV,
        VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION,
        pattern VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION,
        VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME,
        pattern VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME,
        pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT,
        pattern VK_DYNAMIC_STATE_CULL_MODE_EXT,
        pattern VK_DYNAMIC_STATE_FRONT_FACE_EXT,
        pattern VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT,
        pattern VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT,
        pattern VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT,
        pattern VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT,
        pattern VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT,
        pattern VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT,
        pattern VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT,
        pattern VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT,
        pattern VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT,
        pattern VK_DYNAMIC_STATE_STENCIL_OP_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.CompareOp
import Graphics.Vulkan.Types.Enum.CullModeFlags
import Graphics.Vulkan.Types.Enum.Device
import Graphics.Vulkan.Types.Enum.DynamicState             (VkDynamicState (..))
import Graphics.Vulkan.Types.Enum.FrontFace
import Graphics.Vulkan.Types.Enum.PrimitiveTopology
import Graphics.Vulkan.Types.Enum.Stencil
import Graphics.Vulkan.Types.Enum.StructureType
import Graphics.Vulkan.Types.Handles
import Graphics.Vulkan.Types.Struct.Device                 (VkDeviceCreateInfo, VkDeviceQueueCreateInfo)
import Graphics.Vulkan.Types.Struct.Extent
import Graphics.Vulkan.Types.Struct.Offset
import Graphics.Vulkan.Types.Struct.PhysicalDevice         (VkPhysicalDeviceExtendedDynamicStateFeaturesEXT,
                                                            VkPhysicalDeviceFeatures2)
import Graphics.Vulkan.Types.Struct.PhysicalDeviceFeatures (VkPhysicalDeviceFeatures)
import Graphics.Vulkan.Types.Struct.Rect
import Graphics.Vulkan.Types.Struct.Viewport

pattern VkCmdSetCullModeEXT :: CString

pattern $bVkCmdSetCullModeEXT :: CString
$mVkCmdSetCullModeEXT :: forall {r}. CString -> (Void# -> r) -> (Void# -> r) -> r
VkCmdSetCullModeEXT <- (is_VkCmdSetCullModeEXT -> True)
  where
    VkCmdSetCullModeEXT = CString
_VkCmdSetCullModeEXT

{-# INLINE _VkCmdSetCullModeEXT #-}

_VkCmdSetCullModeEXT :: CString
_VkCmdSetCullModeEXT :: CString
_VkCmdSetCullModeEXT = Addr# -> CString
forall a. Addr# -> Ptr a
Ptr Addr#
"vkCmdSetCullModeEXT\NUL"#

{-# INLINE is_VkCmdSetCullModeEXT #-}

is_VkCmdSetCullModeEXT :: CString -> Bool
is_VkCmdSetCullModeEXT :: CString -> Bool
is_VkCmdSetCullModeEXT = (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
_VkCmdSetCullModeEXT

type VkCmdSetCullModeEXT = "vkCmdSetCullModeEXT"

-- | Queues: 'graphics'.
--
--   Renderpass: @both@
--
--   > void vkCmdSetCullModeEXT
--   >     ( VkCommandBuffer commandBuffer
--   >     , VkCullModeFlags cullMode
--   >     )
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkCmdSetCullModeEXT vkCmdSetCullModeEXT registry at www.khronos.org>
type HS_vkCmdSetCullModeEXT =
     VkCommandBuffer -- ^ commandBuffer
                     -> VkCullModeFlags -- ^ cullMode
                                        -> IO ()

type PFN_vkCmdSetCullModeEXT = FunPtr HS_vkCmdSetCullModeEXT

foreign import ccall unsafe "dynamic"
               unwrapVkCmdSetCullModeEXTUnsafe ::
               PFN_vkCmdSetCullModeEXT -> HS_vkCmdSetCullModeEXT

foreign import ccall safe "dynamic" unwrapVkCmdSetCullModeEXTSafe
               :: PFN_vkCmdSetCullModeEXT -> HS_vkCmdSetCullModeEXT

instance VulkanProc "vkCmdSetCullModeEXT" where
    type VkProcType "vkCmdSetCullModeEXT" = HS_vkCmdSetCullModeEXT
    vkProcSymbol :: CString
vkProcSymbol = CString
_VkCmdSetCullModeEXT

    {-# INLINE vkProcSymbol #-}
    unwrapVkProcPtrUnsafe :: FunPtr (VkProcType "vkCmdSetCullModeEXT")
-> VkProcType "vkCmdSetCullModeEXT"
unwrapVkProcPtrUnsafe = FunPtr (VkProcType "vkCmdSetCullModeEXT")
-> VkProcType "vkCmdSetCullModeEXT"
PFN_vkCmdSetCullModeEXT -> HS_vkCmdSetCullModeEXT
unwrapVkCmdSetCullModeEXTUnsafe

    {-# INLINE unwrapVkProcPtrUnsafe #-}
    unwrapVkProcPtrSafe :: FunPtr (VkProcType "vkCmdSetCullModeEXT")
-> VkProcType "vkCmdSetCullModeEXT"
unwrapVkProcPtrSafe = FunPtr (VkProcType "vkCmdSetCullModeEXT")
-> VkProcType "vkCmdSetCullModeEXT"
PFN_vkCmdSetCullModeEXT -> HS_vkCmdSetCullModeEXT
unwrapVkCmdSetCullModeEXTSafe

    {-# INLINE unwrapVkProcPtrSafe #-}

pattern VkCmdSetFrontFaceEXT :: CString

pattern $bVkCmdSetFrontFaceEXT :: CString
$mVkCmdSetFrontFaceEXT :: forall {r}. CString -> (Void# -> r) -> (Void# -> r) -> r
VkCmdSetFrontFaceEXT <- (is_VkCmdSetFrontFaceEXT -> True)
  where
    VkCmdSetFrontFaceEXT = CString
_VkCmdSetFrontFaceEXT

{-# INLINE _VkCmdSetFrontFaceEXT #-}

_VkCmdSetFrontFaceEXT :: CString
_VkCmdSetFrontFaceEXT :: CString
_VkCmdSetFrontFaceEXT = Addr# -> CString
forall a. Addr# -> Ptr a
Ptr Addr#
"vkCmdSetFrontFaceEXT\NUL"#

{-# INLINE is_VkCmdSetFrontFaceEXT #-}

is_VkCmdSetFrontFaceEXT :: CString -> Bool
is_VkCmdSetFrontFaceEXT :: CString -> Bool
is_VkCmdSetFrontFaceEXT
  = (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
_VkCmdSetFrontFaceEXT

type VkCmdSetFrontFaceEXT = "vkCmdSetFrontFaceEXT"

-- | Queues: 'graphics'.
--
--   Renderpass: @both@
--
--   > void vkCmdSetFrontFaceEXT
--   >     ( VkCommandBuffer commandBuffer
--   >     , VkFrontFace frontFace
--   >     )
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkCmdSetFrontFaceEXT vkCmdSetFrontFaceEXT registry at www.khronos.org>
type HS_vkCmdSetFrontFaceEXT =
     VkCommandBuffer -- ^ commandBuffer
                     -> VkFrontFace -- ^ frontFace
                                    -> IO ()

type PFN_vkCmdSetFrontFaceEXT = FunPtr HS_vkCmdSetFrontFaceEXT

foreign import ccall unsafe "dynamic"
               unwrapVkCmdSetFrontFaceEXTUnsafe ::
               PFN_vkCmdSetFrontFaceEXT -> HS_vkCmdSetFrontFaceEXT

foreign import ccall safe "dynamic" unwrapVkCmdSetFrontFaceEXTSafe
               :: PFN_vkCmdSetFrontFaceEXT -> HS_vkCmdSetFrontFaceEXT

instance VulkanProc "vkCmdSetFrontFaceEXT" where
    type VkProcType "vkCmdSetFrontFaceEXT" = HS_vkCmdSetFrontFaceEXT
    vkProcSymbol :: CString
vkProcSymbol = CString
_VkCmdSetFrontFaceEXT

    {-# INLINE vkProcSymbol #-}
    unwrapVkProcPtrUnsafe :: FunPtr (VkProcType "vkCmdSetFrontFaceEXT")
-> VkProcType "vkCmdSetFrontFaceEXT"
unwrapVkProcPtrUnsafe = FunPtr (VkProcType "vkCmdSetFrontFaceEXT")
-> VkProcType "vkCmdSetFrontFaceEXT"
PFN_vkCmdSetFrontFaceEXT -> HS_vkCmdSetFrontFaceEXT
unwrapVkCmdSetFrontFaceEXTUnsafe

    {-# INLINE unwrapVkProcPtrUnsafe #-}
    unwrapVkProcPtrSafe :: FunPtr (VkProcType "vkCmdSetFrontFaceEXT")
-> VkProcType "vkCmdSetFrontFaceEXT"
unwrapVkProcPtrSafe = FunPtr (VkProcType "vkCmdSetFrontFaceEXT")
-> VkProcType "vkCmdSetFrontFaceEXT"
PFN_vkCmdSetFrontFaceEXT -> HS_vkCmdSetFrontFaceEXT
unwrapVkCmdSetFrontFaceEXTSafe

    {-# INLINE unwrapVkProcPtrSafe #-}

pattern VkCmdSetPrimitiveTopologyEXT :: CString

pattern $bVkCmdSetPrimitiveTopologyEXT :: CString
$mVkCmdSetPrimitiveTopologyEXT :: forall {r}. CString -> (Void# -> r) -> (Void# -> r) -> r
VkCmdSetPrimitiveTopologyEXT <-
        (is_VkCmdSetPrimitiveTopologyEXT -> True)
  where
    VkCmdSetPrimitiveTopologyEXT = CString
_VkCmdSetPrimitiveTopologyEXT

{-# INLINE _VkCmdSetPrimitiveTopologyEXT #-}

_VkCmdSetPrimitiveTopologyEXT :: CString
_VkCmdSetPrimitiveTopologyEXT :: CString
_VkCmdSetPrimitiveTopologyEXT
  = Addr# -> CString
forall a. Addr# -> Ptr a
Ptr Addr#
"vkCmdSetPrimitiveTopologyEXT\NUL"#

{-# INLINE is_VkCmdSetPrimitiveTopologyEXT #-}

is_VkCmdSetPrimitiveTopologyEXT :: CString -> Bool
is_VkCmdSetPrimitiveTopologyEXT :: CString -> Bool
is_VkCmdSetPrimitiveTopologyEXT
  = (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
_VkCmdSetPrimitiveTopologyEXT

type VkCmdSetPrimitiveTopologyEXT = "vkCmdSetPrimitiveTopologyEXT"

-- | Queues: 'graphics'.
--
--   Renderpass: @both@
--
--   > void vkCmdSetPrimitiveTopologyEXT
--   >     ( VkCommandBuffer commandBuffer
--   >     , VkPrimitiveTopology primitiveTopology
--   >     )
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkCmdSetPrimitiveTopologyEXT vkCmdSetPrimitiveTopologyEXT registry at www.khronos.org>
type HS_vkCmdSetPrimitiveTopologyEXT =
     VkCommandBuffer -- ^ commandBuffer
                     -> VkPrimitiveTopology -- ^ primitiveTopology
                                            -> IO ()

type PFN_vkCmdSetPrimitiveTopologyEXT =
     FunPtr HS_vkCmdSetPrimitiveTopologyEXT

foreign import ccall unsafe "dynamic"
               unwrapVkCmdSetPrimitiveTopologyEXTUnsafe ::
               PFN_vkCmdSetPrimitiveTopologyEXT -> HS_vkCmdSetPrimitiveTopologyEXT

foreign import ccall safe "dynamic"
               unwrapVkCmdSetPrimitiveTopologyEXTSafe ::
               PFN_vkCmdSetPrimitiveTopologyEXT -> HS_vkCmdSetPrimitiveTopologyEXT

instance VulkanProc "vkCmdSetPrimitiveTopologyEXT" where
    type VkProcType "vkCmdSetPrimitiveTopologyEXT" =
         HS_vkCmdSetPrimitiveTopologyEXT
    vkProcSymbol :: CString
vkProcSymbol = CString
_VkCmdSetPrimitiveTopologyEXT

    {-# INLINE vkProcSymbol #-}
    unwrapVkProcPtrUnsafe :: FunPtr (VkProcType "vkCmdSetPrimitiveTopologyEXT")
-> VkProcType "vkCmdSetPrimitiveTopologyEXT"
unwrapVkProcPtrUnsafe = FunPtr (VkProcType "vkCmdSetPrimitiveTopologyEXT")
-> VkProcType "vkCmdSetPrimitiveTopologyEXT"
PFN_vkCmdSetPrimitiveTopologyEXT -> HS_vkCmdSetPrimitiveTopologyEXT
unwrapVkCmdSetPrimitiveTopologyEXTUnsafe

    {-# INLINE unwrapVkProcPtrUnsafe #-}
    unwrapVkProcPtrSafe :: FunPtr (VkProcType "vkCmdSetPrimitiveTopologyEXT")
-> VkProcType "vkCmdSetPrimitiveTopologyEXT"
unwrapVkProcPtrSafe = FunPtr (VkProcType "vkCmdSetPrimitiveTopologyEXT")
-> VkProcType "vkCmdSetPrimitiveTopologyEXT"
PFN_vkCmdSetPrimitiveTopologyEXT -> HS_vkCmdSetPrimitiveTopologyEXT
unwrapVkCmdSetPrimitiveTopologyEXTSafe

    {-# INLINE unwrapVkProcPtrSafe #-}

pattern VkCmdSetViewportWithCountEXT :: CString

pattern $bVkCmdSetViewportWithCountEXT :: CString
$mVkCmdSetViewportWithCountEXT :: forall {r}. CString -> (Void# -> r) -> (Void# -> r) -> r
VkCmdSetViewportWithCountEXT <-
        (is_VkCmdSetViewportWithCountEXT -> True)
  where
    VkCmdSetViewportWithCountEXT = CString
_VkCmdSetViewportWithCountEXT

{-# INLINE _VkCmdSetViewportWithCountEXT #-}

_VkCmdSetViewportWithCountEXT :: CString
_VkCmdSetViewportWithCountEXT :: CString
_VkCmdSetViewportWithCountEXT
  = Addr# -> CString
forall a. Addr# -> Ptr a
Ptr Addr#
"vkCmdSetViewportWithCountEXT\NUL"#

{-# INLINE is_VkCmdSetViewportWithCountEXT #-}

is_VkCmdSetViewportWithCountEXT :: CString -> Bool
is_VkCmdSetViewportWithCountEXT :: CString -> Bool
is_VkCmdSetViewportWithCountEXT
  = (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
_VkCmdSetViewportWithCountEXT

type VkCmdSetViewportWithCountEXT = "vkCmdSetViewportWithCountEXT"

-- | Queues: 'graphics'.
--
--   Renderpass: @both@
--
--   > void vkCmdSetViewportWithCountEXT
--   >     ( VkCommandBuffer commandBuffer
--   >     , uint32_t viewportCount
--   >     , const VkViewport* pViewports
--   >     )
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkCmdSetViewportWithCountEXT vkCmdSetViewportWithCountEXT registry at www.khronos.org>
type HS_vkCmdSetViewportWithCountEXT =
     VkCommandBuffer -- ^ commandBuffer
                     -> Word32 -- ^ viewportCount
                               -> Ptr VkViewport -- ^ pViewports
                                                 -> IO ()

type PFN_vkCmdSetViewportWithCountEXT =
     FunPtr HS_vkCmdSetViewportWithCountEXT

foreign import ccall unsafe "dynamic"
               unwrapVkCmdSetViewportWithCountEXTUnsafe ::
               PFN_vkCmdSetViewportWithCountEXT -> HS_vkCmdSetViewportWithCountEXT

foreign import ccall safe "dynamic"
               unwrapVkCmdSetViewportWithCountEXTSafe ::
               PFN_vkCmdSetViewportWithCountEXT -> HS_vkCmdSetViewportWithCountEXT

instance VulkanProc "vkCmdSetViewportWithCountEXT" where
    type VkProcType "vkCmdSetViewportWithCountEXT" =
         HS_vkCmdSetViewportWithCountEXT
    vkProcSymbol :: CString
vkProcSymbol = CString
_VkCmdSetViewportWithCountEXT

    {-# INLINE vkProcSymbol #-}
    unwrapVkProcPtrUnsafe :: FunPtr (VkProcType "vkCmdSetViewportWithCountEXT")
-> VkProcType "vkCmdSetViewportWithCountEXT"
unwrapVkProcPtrUnsafe = FunPtr (VkProcType "vkCmdSetViewportWithCountEXT")
-> VkProcType "vkCmdSetViewportWithCountEXT"
PFN_vkCmdSetViewportWithCountEXT -> HS_vkCmdSetViewportWithCountEXT
unwrapVkCmdSetViewportWithCountEXTUnsafe

    {-# INLINE unwrapVkProcPtrUnsafe #-}
    unwrapVkProcPtrSafe :: FunPtr (VkProcType "vkCmdSetViewportWithCountEXT")
-> VkProcType "vkCmdSetViewportWithCountEXT"
unwrapVkProcPtrSafe = FunPtr (VkProcType "vkCmdSetViewportWithCountEXT")
-> VkProcType "vkCmdSetViewportWithCountEXT"
PFN_vkCmdSetViewportWithCountEXT -> HS_vkCmdSetViewportWithCountEXT
unwrapVkCmdSetViewportWithCountEXTSafe

    {-# INLINE unwrapVkProcPtrSafe #-}

pattern VkCmdSetScissorWithCountEXT :: CString

pattern $bVkCmdSetScissorWithCountEXT :: CString
$mVkCmdSetScissorWithCountEXT :: forall {r}. CString -> (Void# -> r) -> (Void# -> r) -> r
VkCmdSetScissorWithCountEXT <-
        (is_VkCmdSetScissorWithCountEXT -> True)
  where
    VkCmdSetScissorWithCountEXT = CString
_VkCmdSetScissorWithCountEXT

{-# INLINE _VkCmdSetScissorWithCountEXT #-}

_VkCmdSetScissorWithCountEXT :: CString
_VkCmdSetScissorWithCountEXT :: CString
_VkCmdSetScissorWithCountEXT
  = Addr# -> CString
forall a. Addr# -> Ptr a
Ptr Addr#
"vkCmdSetScissorWithCountEXT\NUL"#

{-# INLINE is_VkCmdSetScissorWithCountEXT #-}

is_VkCmdSetScissorWithCountEXT :: CString -> Bool
is_VkCmdSetScissorWithCountEXT :: CString -> Bool
is_VkCmdSetScissorWithCountEXT
  = (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
_VkCmdSetScissorWithCountEXT

type VkCmdSetScissorWithCountEXT = "vkCmdSetScissorWithCountEXT"

-- | Queues: 'graphics'.
--
--   Renderpass: @both@
--
--   > void vkCmdSetScissorWithCountEXT
--   >     ( VkCommandBuffer commandBuffer
--   >     , uint32_t scissorCount
--   >     , const VkRect2D* pScissors
--   >     )
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkCmdSetScissorWithCountEXT vkCmdSetScissorWithCountEXT registry at www.khronos.org>
type HS_vkCmdSetScissorWithCountEXT =
     VkCommandBuffer -- ^ commandBuffer
                     -> Word32 -- ^ scissorCount
                               -> Ptr VkRect2D -- ^ pScissors
                                               -> IO ()

type PFN_vkCmdSetScissorWithCountEXT =
     FunPtr HS_vkCmdSetScissorWithCountEXT

foreign import ccall unsafe "dynamic"
               unwrapVkCmdSetScissorWithCountEXTUnsafe ::
               PFN_vkCmdSetScissorWithCountEXT -> HS_vkCmdSetScissorWithCountEXT

foreign import ccall safe "dynamic"
               unwrapVkCmdSetScissorWithCountEXTSafe ::
               PFN_vkCmdSetScissorWithCountEXT -> HS_vkCmdSetScissorWithCountEXT

instance VulkanProc "vkCmdSetScissorWithCountEXT" where
    type VkProcType "vkCmdSetScissorWithCountEXT" =
         HS_vkCmdSetScissorWithCountEXT
    vkProcSymbol :: CString
vkProcSymbol = CString
_VkCmdSetScissorWithCountEXT

    {-# INLINE vkProcSymbol #-}
    unwrapVkProcPtrUnsafe :: FunPtr (VkProcType "vkCmdSetScissorWithCountEXT")
-> VkProcType "vkCmdSetScissorWithCountEXT"
unwrapVkProcPtrUnsafe = FunPtr (VkProcType "vkCmdSetScissorWithCountEXT")
-> VkProcType "vkCmdSetScissorWithCountEXT"
PFN_vkCmdSetScissorWithCountEXT -> HS_vkCmdSetScissorWithCountEXT
unwrapVkCmdSetScissorWithCountEXTUnsafe

    {-# INLINE unwrapVkProcPtrUnsafe #-}
    unwrapVkProcPtrSafe :: FunPtr (VkProcType "vkCmdSetScissorWithCountEXT")
-> VkProcType "vkCmdSetScissorWithCountEXT"
unwrapVkProcPtrSafe = FunPtr (VkProcType "vkCmdSetScissorWithCountEXT")
-> VkProcType "vkCmdSetScissorWithCountEXT"
PFN_vkCmdSetScissorWithCountEXT -> HS_vkCmdSetScissorWithCountEXT
unwrapVkCmdSetScissorWithCountEXTSafe

    {-# INLINE unwrapVkProcPtrSafe #-}

pattern VkCmdBindVertexBuffers2EXT :: CString

pattern $bVkCmdBindVertexBuffers2EXT :: CString
$mVkCmdBindVertexBuffers2EXT :: forall {r}. CString -> (Void# -> r) -> (Void# -> r) -> r
VkCmdBindVertexBuffers2EXT <-
        (is_VkCmdBindVertexBuffers2EXT -> True)
  where
    VkCmdBindVertexBuffers2EXT = CString
_VkCmdBindVertexBuffers2EXT

{-# INLINE _VkCmdBindVertexBuffers2EXT #-}

_VkCmdBindVertexBuffers2EXT :: CString
_VkCmdBindVertexBuffers2EXT :: CString
_VkCmdBindVertexBuffers2EXT = Addr# -> CString
forall a. Addr# -> Ptr a
Ptr Addr#
"vkCmdBindVertexBuffers2EXT\NUL"#

{-# INLINE is_VkCmdBindVertexBuffers2EXT #-}

is_VkCmdBindVertexBuffers2EXT :: CString -> Bool
is_VkCmdBindVertexBuffers2EXT :: CString -> Bool
is_VkCmdBindVertexBuffers2EXT
  = (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
_VkCmdBindVertexBuffers2EXT

type VkCmdBindVertexBuffers2EXT = "vkCmdBindVertexBuffers2EXT"

-- | Queues: 'graphics'.
--
--   Renderpass: @both@
--
--   > void vkCmdBindVertexBuffers2EXT
--   >     ( VkCommandBuffer commandBuffer
--   >     , uint32_t firstBinding
--   >     , uint32_t bindingCount
--   >     , const VkBuffer* pBuffers
--   >     , const VkDeviceSize* pOffsets
--   >     , const VkDeviceSize* pSizes
--   >     , const VkDeviceSize* pStrides
--   >     )
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkCmdBindVertexBuffers2EXT vkCmdBindVertexBuffers2EXT registry at www.khronos.org>
type HS_vkCmdBindVertexBuffers2EXT =
     VkCommandBuffer -- ^ commandBuffer
                     ->
       Word32 -- ^ firstBinding
              ->
         Word32 -- ^ bindingCount
                ->
           Ptr VkBuffer -- ^ pBuffers
                        ->
             Ptr VkDeviceSize -- ^ pOffsets
                              -> Ptr VkDeviceSize -- ^ pSizes
                                                  -> Ptr VkDeviceSize -- ^ pStrides
                                                                      -> IO ()

type PFN_vkCmdBindVertexBuffers2EXT =
     FunPtr HS_vkCmdBindVertexBuffers2EXT

foreign import ccall unsafe "dynamic"
               unwrapVkCmdBindVertexBuffers2EXTUnsafe ::
               PFN_vkCmdBindVertexBuffers2EXT -> HS_vkCmdBindVertexBuffers2EXT

foreign import ccall safe "dynamic"
               unwrapVkCmdBindVertexBuffers2EXTSafe ::
               PFN_vkCmdBindVertexBuffers2EXT -> HS_vkCmdBindVertexBuffers2EXT

instance VulkanProc "vkCmdBindVertexBuffers2EXT" where
    type VkProcType "vkCmdBindVertexBuffers2EXT" =
         HS_vkCmdBindVertexBuffers2EXT
    vkProcSymbol :: CString
vkProcSymbol = CString
_VkCmdBindVertexBuffers2EXT

    {-# INLINE vkProcSymbol #-}
    unwrapVkProcPtrUnsafe :: FunPtr (VkProcType "vkCmdBindVertexBuffers2EXT")
-> VkProcType "vkCmdBindVertexBuffers2EXT"
unwrapVkProcPtrUnsafe = FunPtr (VkProcType "vkCmdBindVertexBuffers2EXT")
-> VkProcType "vkCmdBindVertexBuffers2EXT"
PFN_vkCmdBindVertexBuffers2EXT -> HS_vkCmdBindVertexBuffers2EXT
unwrapVkCmdBindVertexBuffers2EXTUnsafe

    {-# INLINE unwrapVkProcPtrUnsafe #-}
    unwrapVkProcPtrSafe :: FunPtr (VkProcType "vkCmdBindVertexBuffers2EXT")
-> VkProcType "vkCmdBindVertexBuffers2EXT"
unwrapVkProcPtrSafe = FunPtr (VkProcType "vkCmdBindVertexBuffers2EXT")
-> VkProcType "vkCmdBindVertexBuffers2EXT"
PFN_vkCmdBindVertexBuffers2EXT -> HS_vkCmdBindVertexBuffers2EXT
unwrapVkCmdBindVertexBuffers2EXTSafe

    {-# INLINE unwrapVkProcPtrSafe #-}

pattern VkCmdSetDepthTestEnableEXT :: CString

pattern $bVkCmdSetDepthTestEnableEXT :: CString
$mVkCmdSetDepthTestEnableEXT :: forall {r}. CString -> (Void# -> r) -> (Void# -> r) -> r
VkCmdSetDepthTestEnableEXT <-
        (is_VkCmdSetDepthTestEnableEXT -> True)
  where
    VkCmdSetDepthTestEnableEXT = CString
_VkCmdSetDepthTestEnableEXT

{-# INLINE _VkCmdSetDepthTestEnableEXT #-}

_VkCmdSetDepthTestEnableEXT :: CString
_VkCmdSetDepthTestEnableEXT :: CString
_VkCmdSetDepthTestEnableEXT = Addr# -> CString
forall a. Addr# -> Ptr a
Ptr Addr#
"vkCmdSetDepthTestEnableEXT\NUL"#

{-# INLINE is_VkCmdSetDepthTestEnableEXT #-}

is_VkCmdSetDepthTestEnableEXT :: CString -> Bool
is_VkCmdSetDepthTestEnableEXT :: CString -> Bool
is_VkCmdSetDepthTestEnableEXT
  = (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
_VkCmdSetDepthTestEnableEXT

type VkCmdSetDepthTestEnableEXT = "vkCmdSetDepthTestEnableEXT"

-- | Queues: 'graphics'.
--
--   Renderpass: @both@
--
--   > void vkCmdSetDepthTestEnableEXT
--   >     ( VkCommandBuffer commandBuffer
--   >     , VkBool32 depthTestEnable
--   >     )
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkCmdSetDepthTestEnableEXT vkCmdSetDepthTestEnableEXT registry at www.khronos.org>
type HS_vkCmdSetDepthTestEnableEXT =
     VkCommandBuffer -- ^ commandBuffer
                     -> VkBool32 -- ^ depthTestEnable
                                 -> IO ()

type PFN_vkCmdSetDepthTestEnableEXT =
     FunPtr HS_vkCmdSetDepthTestEnableEXT

foreign import ccall unsafe "dynamic"
               unwrapVkCmdSetDepthTestEnableEXTUnsafe ::
               PFN_vkCmdSetDepthTestEnableEXT -> HS_vkCmdSetDepthTestEnableEXT

foreign import ccall safe "dynamic"
               unwrapVkCmdSetDepthTestEnableEXTSafe ::
               PFN_vkCmdSetDepthTestEnableEXT -> HS_vkCmdSetDepthTestEnableEXT

instance VulkanProc "vkCmdSetDepthTestEnableEXT" where
    type VkProcType "vkCmdSetDepthTestEnableEXT" =
         HS_vkCmdSetDepthTestEnableEXT
    vkProcSymbol :: CString
vkProcSymbol = CString
_VkCmdSetDepthTestEnableEXT

    {-# INLINE vkProcSymbol #-}
    unwrapVkProcPtrUnsafe :: FunPtr (VkProcType "vkCmdSetDepthTestEnableEXT")
-> VkProcType "vkCmdSetDepthTestEnableEXT"
unwrapVkProcPtrUnsafe = FunPtr (VkProcType "vkCmdSetDepthTestEnableEXT")
-> VkProcType "vkCmdSetDepthTestEnableEXT"
PFN_vkCmdSetDepthTestEnableEXT -> HS_vkCmdSetDepthTestEnableEXT
unwrapVkCmdSetDepthTestEnableEXTUnsafe

    {-# INLINE unwrapVkProcPtrUnsafe #-}
    unwrapVkProcPtrSafe :: FunPtr (VkProcType "vkCmdSetDepthTestEnableEXT")
-> VkProcType "vkCmdSetDepthTestEnableEXT"
unwrapVkProcPtrSafe = FunPtr (VkProcType "vkCmdSetDepthTestEnableEXT")
-> VkProcType "vkCmdSetDepthTestEnableEXT"
PFN_vkCmdSetDepthTestEnableEXT -> HS_vkCmdSetDepthTestEnableEXT
unwrapVkCmdSetDepthTestEnableEXTSafe

    {-# INLINE unwrapVkProcPtrSafe #-}

pattern VkCmdSetDepthWriteEnableEXT :: CString

pattern $bVkCmdSetDepthWriteEnableEXT :: CString
$mVkCmdSetDepthWriteEnableEXT :: forall {r}. CString -> (Void# -> r) -> (Void# -> r) -> r
VkCmdSetDepthWriteEnableEXT <-
        (is_VkCmdSetDepthWriteEnableEXT -> True)
  where
    VkCmdSetDepthWriteEnableEXT = CString
_VkCmdSetDepthWriteEnableEXT

{-# INLINE _VkCmdSetDepthWriteEnableEXT #-}

_VkCmdSetDepthWriteEnableEXT :: CString
_VkCmdSetDepthWriteEnableEXT :: CString
_VkCmdSetDepthWriteEnableEXT
  = Addr# -> CString
forall a. Addr# -> Ptr a
Ptr Addr#
"vkCmdSetDepthWriteEnableEXT\NUL"#

{-# INLINE is_VkCmdSetDepthWriteEnableEXT #-}

is_VkCmdSetDepthWriteEnableEXT :: CString -> Bool
is_VkCmdSetDepthWriteEnableEXT :: CString -> Bool
is_VkCmdSetDepthWriteEnableEXT
  = (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
_VkCmdSetDepthWriteEnableEXT

type VkCmdSetDepthWriteEnableEXT = "vkCmdSetDepthWriteEnableEXT"

-- | Queues: 'graphics'.
--
--   Renderpass: @both@
--
--   > void vkCmdSetDepthWriteEnableEXT
--   >     ( VkCommandBuffer commandBuffer
--   >     , VkBool32 depthWriteEnable
--   >     )
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkCmdSetDepthWriteEnableEXT vkCmdSetDepthWriteEnableEXT registry at www.khronos.org>
type HS_vkCmdSetDepthWriteEnableEXT =
     VkCommandBuffer -- ^ commandBuffer
                     -> VkBool32 -- ^ depthWriteEnable
                                 -> IO ()

type PFN_vkCmdSetDepthWriteEnableEXT =
     FunPtr HS_vkCmdSetDepthWriteEnableEXT

foreign import ccall unsafe "dynamic"
               unwrapVkCmdSetDepthWriteEnableEXTUnsafe ::
               PFN_vkCmdSetDepthWriteEnableEXT -> HS_vkCmdSetDepthWriteEnableEXT

foreign import ccall safe "dynamic"
               unwrapVkCmdSetDepthWriteEnableEXTSafe ::
               PFN_vkCmdSetDepthWriteEnableEXT -> HS_vkCmdSetDepthWriteEnableEXT

instance VulkanProc "vkCmdSetDepthWriteEnableEXT" where
    type VkProcType "vkCmdSetDepthWriteEnableEXT" =
         HS_vkCmdSetDepthWriteEnableEXT
    vkProcSymbol :: CString
vkProcSymbol = CString
_VkCmdSetDepthWriteEnableEXT

    {-# INLINE vkProcSymbol #-}
    unwrapVkProcPtrUnsafe :: FunPtr (VkProcType "vkCmdSetDepthWriteEnableEXT")
-> VkProcType "vkCmdSetDepthWriteEnableEXT"
unwrapVkProcPtrUnsafe = FunPtr (VkProcType "vkCmdSetDepthWriteEnableEXT")
-> VkProcType "vkCmdSetDepthWriteEnableEXT"
PFN_vkCmdSetDepthTestEnableEXT -> HS_vkCmdSetDepthTestEnableEXT
unwrapVkCmdSetDepthWriteEnableEXTUnsafe

    {-# INLINE unwrapVkProcPtrUnsafe #-}
    unwrapVkProcPtrSafe :: FunPtr (VkProcType "vkCmdSetDepthWriteEnableEXT")
-> VkProcType "vkCmdSetDepthWriteEnableEXT"
unwrapVkProcPtrSafe = FunPtr (VkProcType "vkCmdSetDepthWriteEnableEXT")
-> VkProcType "vkCmdSetDepthWriteEnableEXT"
PFN_vkCmdSetDepthTestEnableEXT -> HS_vkCmdSetDepthTestEnableEXT
unwrapVkCmdSetDepthWriteEnableEXTSafe

    {-# INLINE unwrapVkProcPtrSafe #-}

pattern VkCmdSetDepthCompareOpEXT :: CString

pattern $bVkCmdSetDepthCompareOpEXT :: CString
$mVkCmdSetDepthCompareOpEXT :: forall {r}. CString -> (Void# -> r) -> (Void# -> r) -> r
VkCmdSetDepthCompareOpEXT <-
        (is_VkCmdSetDepthCompareOpEXT -> True)
  where
    VkCmdSetDepthCompareOpEXT = CString
_VkCmdSetDepthCompareOpEXT

{-# INLINE _VkCmdSetDepthCompareOpEXT #-}

_VkCmdSetDepthCompareOpEXT :: CString
_VkCmdSetDepthCompareOpEXT :: CString
_VkCmdSetDepthCompareOpEXT = Addr# -> CString
forall a. Addr# -> Ptr a
Ptr Addr#
"vkCmdSetDepthCompareOpEXT\NUL"#

{-# INLINE is_VkCmdSetDepthCompareOpEXT #-}

is_VkCmdSetDepthCompareOpEXT :: CString -> Bool
is_VkCmdSetDepthCompareOpEXT :: CString -> Bool
is_VkCmdSetDepthCompareOpEXT
  = (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
_VkCmdSetDepthCompareOpEXT

type VkCmdSetDepthCompareOpEXT = "vkCmdSetDepthCompareOpEXT"

-- | Queues: 'graphics'.
--
--   Renderpass: @both@
--
--   > void vkCmdSetDepthCompareOpEXT
--   >     ( VkCommandBuffer commandBuffer
--   >     , VkCompareOp depthCompareOp
--   >     )
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkCmdSetDepthCompareOpEXT vkCmdSetDepthCompareOpEXT registry at www.khronos.org>
type HS_vkCmdSetDepthCompareOpEXT =
     VkCommandBuffer -- ^ commandBuffer
                     -> VkCompareOp -- ^ depthCompareOp
                                    -> IO ()

type PFN_vkCmdSetDepthCompareOpEXT =
     FunPtr HS_vkCmdSetDepthCompareOpEXT

foreign import ccall unsafe "dynamic"
               unwrapVkCmdSetDepthCompareOpEXTUnsafe ::
               PFN_vkCmdSetDepthCompareOpEXT -> HS_vkCmdSetDepthCompareOpEXT

foreign import ccall safe "dynamic"
               unwrapVkCmdSetDepthCompareOpEXTSafe ::
               PFN_vkCmdSetDepthCompareOpEXT -> HS_vkCmdSetDepthCompareOpEXT

instance VulkanProc "vkCmdSetDepthCompareOpEXT" where
    type VkProcType "vkCmdSetDepthCompareOpEXT" =
         HS_vkCmdSetDepthCompareOpEXT
    vkProcSymbol :: CString
vkProcSymbol = CString
_VkCmdSetDepthCompareOpEXT

    {-# INLINE vkProcSymbol #-}
    unwrapVkProcPtrUnsafe :: FunPtr (VkProcType "vkCmdSetDepthCompareOpEXT")
-> VkProcType "vkCmdSetDepthCompareOpEXT"
unwrapVkProcPtrUnsafe = FunPtr (VkProcType "vkCmdSetDepthCompareOpEXT")
-> VkProcType "vkCmdSetDepthCompareOpEXT"
PFN_vkCmdSetDepthCompareOpEXT -> HS_vkCmdSetDepthCompareOpEXT
unwrapVkCmdSetDepthCompareOpEXTUnsafe

    {-# INLINE unwrapVkProcPtrUnsafe #-}
    unwrapVkProcPtrSafe :: FunPtr (VkProcType "vkCmdSetDepthCompareOpEXT")
-> VkProcType "vkCmdSetDepthCompareOpEXT"
unwrapVkProcPtrSafe = FunPtr (VkProcType "vkCmdSetDepthCompareOpEXT")
-> VkProcType "vkCmdSetDepthCompareOpEXT"
PFN_vkCmdSetDepthCompareOpEXT -> HS_vkCmdSetDepthCompareOpEXT
unwrapVkCmdSetDepthCompareOpEXTSafe

    {-# INLINE unwrapVkProcPtrSafe #-}

pattern VkCmdSetDepthBoundsTestEnableEXT :: CString

pattern $bVkCmdSetDepthBoundsTestEnableEXT :: CString
$mVkCmdSetDepthBoundsTestEnableEXT :: forall {r}. CString -> (Void# -> r) -> (Void# -> r) -> r
VkCmdSetDepthBoundsTestEnableEXT <-
        (is_VkCmdSetDepthBoundsTestEnableEXT -> True)
  where
    VkCmdSetDepthBoundsTestEnableEXT
      = CString
_VkCmdSetDepthBoundsTestEnableEXT

{-# INLINE _VkCmdSetDepthBoundsTestEnableEXT #-}

_VkCmdSetDepthBoundsTestEnableEXT :: CString
_VkCmdSetDepthBoundsTestEnableEXT :: CString
_VkCmdSetDepthBoundsTestEnableEXT
  = Addr# -> CString
forall a. Addr# -> Ptr a
Ptr Addr#
"vkCmdSetDepthBoundsTestEnableEXT\NUL"#

{-# INLINE is_VkCmdSetDepthBoundsTestEnableEXT #-}

is_VkCmdSetDepthBoundsTestEnableEXT :: CString -> Bool
is_VkCmdSetDepthBoundsTestEnableEXT :: CString -> Bool
is_VkCmdSetDepthBoundsTestEnableEXT
  = (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
_VkCmdSetDepthBoundsTestEnableEXT

type VkCmdSetDepthBoundsTestEnableEXT =
     "vkCmdSetDepthBoundsTestEnableEXT"

-- | Queues: 'graphics'.
--
--   Renderpass: @both@
--
--   > void vkCmdSetDepthBoundsTestEnableEXT
--   >     ( VkCommandBuffer commandBuffer
--   >     , VkBool32 depthBoundsTestEnable
--   >     )
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkCmdSetDepthBoundsTestEnableEXT vkCmdSetDepthBoundsTestEnableEXT registry at www.khronos.org>
type HS_vkCmdSetDepthBoundsTestEnableEXT =
     VkCommandBuffer -- ^ commandBuffer
                     -> VkBool32 -- ^ depthBoundsTestEnable
                                 -> IO ()

type PFN_vkCmdSetDepthBoundsTestEnableEXT =
     FunPtr HS_vkCmdSetDepthBoundsTestEnableEXT

foreign import ccall unsafe "dynamic"
               unwrapVkCmdSetDepthBoundsTestEnableEXTUnsafe ::
               PFN_vkCmdSetDepthBoundsTestEnableEXT ->
                 HS_vkCmdSetDepthBoundsTestEnableEXT

foreign import ccall safe "dynamic"
               unwrapVkCmdSetDepthBoundsTestEnableEXTSafe ::
               PFN_vkCmdSetDepthBoundsTestEnableEXT ->
                 HS_vkCmdSetDepthBoundsTestEnableEXT

instance VulkanProc "vkCmdSetDepthBoundsTestEnableEXT" where
    type VkProcType "vkCmdSetDepthBoundsTestEnableEXT" =
         HS_vkCmdSetDepthBoundsTestEnableEXT
    vkProcSymbol :: CString
vkProcSymbol = CString
_VkCmdSetDepthBoundsTestEnableEXT

    {-# INLINE vkProcSymbol #-}
    unwrapVkProcPtrUnsafe :: FunPtr (VkProcType "vkCmdSetDepthBoundsTestEnableEXT")
-> VkProcType "vkCmdSetDepthBoundsTestEnableEXT"
unwrapVkProcPtrUnsafe
      = FunPtr (VkProcType "vkCmdSetDepthBoundsTestEnableEXT")
-> VkProcType "vkCmdSetDepthBoundsTestEnableEXT"
PFN_vkCmdSetDepthTestEnableEXT -> HS_vkCmdSetDepthTestEnableEXT
unwrapVkCmdSetDepthBoundsTestEnableEXTUnsafe

    {-# INLINE unwrapVkProcPtrUnsafe #-}
    unwrapVkProcPtrSafe :: FunPtr (VkProcType "vkCmdSetDepthBoundsTestEnableEXT")
-> VkProcType "vkCmdSetDepthBoundsTestEnableEXT"
unwrapVkProcPtrSafe = FunPtr (VkProcType "vkCmdSetDepthBoundsTestEnableEXT")
-> VkProcType "vkCmdSetDepthBoundsTestEnableEXT"
PFN_vkCmdSetDepthTestEnableEXT -> HS_vkCmdSetDepthTestEnableEXT
unwrapVkCmdSetDepthBoundsTestEnableEXTSafe

    {-# INLINE unwrapVkProcPtrSafe #-}

pattern VkCmdSetStencilTestEnableEXT :: CString

pattern $bVkCmdSetStencilTestEnableEXT :: CString
$mVkCmdSetStencilTestEnableEXT :: forall {r}. CString -> (Void# -> r) -> (Void# -> r) -> r
VkCmdSetStencilTestEnableEXT <-
        (is_VkCmdSetStencilTestEnableEXT -> True)
  where
    VkCmdSetStencilTestEnableEXT = CString
_VkCmdSetStencilTestEnableEXT

{-# INLINE _VkCmdSetStencilTestEnableEXT #-}

_VkCmdSetStencilTestEnableEXT :: CString
_VkCmdSetStencilTestEnableEXT :: CString
_VkCmdSetStencilTestEnableEXT
  = Addr# -> CString
forall a. Addr# -> Ptr a
Ptr Addr#
"vkCmdSetStencilTestEnableEXT\NUL"#

{-# INLINE is_VkCmdSetStencilTestEnableEXT #-}

is_VkCmdSetStencilTestEnableEXT :: CString -> Bool
is_VkCmdSetStencilTestEnableEXT :: CString -> Bool
is_VkCmdSetStencilTestEnableEXT
  = (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
_VkCmdSetStencilTestEnableEXT

type VkCmdSetStencilTestEnableEXT = "vkCmdSetStencilTestEnableEXT"

-- | Queues: 'graphics'.
--
--   Renderpass: @both@
--
--   > void vkCmdSetStencilTestEnableEXT
--   >     ( VkCommandBuffer commandBuffer
--   >     , VkBool32 stencilTestEnable
--   >     )
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkCmdSetStencilTestEnableEXT vkCmdSetStencilTestEnableEXT registry at www.khronos.org>
type HS_vkCmdSetStencilTestEnableEXT =
     VkCommandBuffer -- ^ commandBuffer
                     -> VkBool32 -- ^ stencilTestEnable
                                 -> IO ()

type PFN_vkCmdSetStencilTestEnableEXT =
     FunPtr HS_vkCmdSetStencilTestEnableEXT

foreign import ccall unsafe "dynamic"
               unwrapVkCmdSetStencilTestEnableEXTUnsafe ::
               PFN_vkCmdSetStencilTestEnableEXT -> HS_vkCmdSetStencilTestEnableEXT

foreign import ccall safe "dynamic"
               unwrapVkCmdSetStencilTestEnableEXTSafe ::
               PFN_vkCmdSetStencilTestEnableEXT -> HS_vkCmdSetStencilTestEnableEXT

instance VulkanProc "vkCmdSetStencilTestEnableEXT" where
    type VkProcType "vkCmdSetStencilTestEnableEXT" =
         HS_vkCmdSetStencilTestEnableEXT
    vkProcSymbol :: CString
vkProcSymbol = CString
_VkCmdSetStencilTestEnableEXT

    {-# INLINE vkProcSymbol #-}
    unwrapVkProcPtrUnsafe :: FunPtr (VkProcType "vkCmdSetStencilTestEnableEXT")
-> VkProcType "vkCmdSetStencilTestEnableEXT"
unwrapVkProcPtrUnsafe = FunPtr (VkProcType "vkCmdSetStencilTestEnableEXT")
-> VkProcType "vkCmdSetStencilTestEnableEXT"
PFN_vkCmdSetDepthTestEnableEXT -> HS_vkCmdSetDepthTestEnableEXT
unwrapVkCmdSetStencilTestEnableEXTUnsafe

    {-# INLINE unwrapVkProcPtrUnsafe #-}
    unwrapVkProcPtrSafe :: FunPtr (VkProcType "vkCmdSetStencilTestEnableEXT")
-> VkProcType "vkCmdSetStencilTestEnableEXT"
unwrapVkProcPtrSafe = FunPtr (VkProcType "vkCmdSetStencilTestEnableEXT")
-> VkProcType "vkCmdSetStencilTestEnableEXT"
PFN_vkCmdSetDepthTestEnableEXT -> HS_vkCmdSetDepthTestEnableEXT
unwrapVkCmdSetStencilTestEnableEXTSafe

    {-# INLINE unwrapVkProcPtrSafe #-}

pattern VkCmdSetStencilOpEXT :: CString

pattern $bVkCmdSetStencilOpEXT :: CString
$mVkCmdSetStencilOpEXT :: forall {r}. CString -> (Void# -> r) -> (Void# -> r) -> r
VkCmdSetStencilOpEXT <- (is_VkCmdSetStencilOpEXT -> True)
  where
    VkCmdSetStencilOpEXT = CString
_VkCmdSetStencilOpEXT

{-# INLINE _VkCmdSetStencilOpEXT #-}

_VkCmdSetStencilOpEXT :: CString
_VkCmdSetStencilOpEXT :: CString
_VkCmdSetStencilOpEXT = Addr# -> CString
forall a. Addr# -> Ptr a
Ptr Addr#
"vkCmdSetStencilOpEXT\NUL"#

{-# INLINE is_VkCmdSetStencilOpEXT #-}

is_VkCmdSetStencilOpEXT :: CString -> Bool
is_VkCmdSetStencilOpEXT :: CString -> Bool
is_VkCmdSetStencilOpEXT
  = (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
_VkCmdSetStencilOpEXT

type VkCmdSetStencilOpEXT = "vkCmdSetStencilOpEXT"

-- | Queues: 'graphics'.
--
--   Renderpass: @both@
--
--   > void vkCmdSetStencilOpEXT
--   >     ( VkCommandBuffer commandBuffer
--   >     , VkStencilFaceFlags faceMask
--   >     , VkStencilOp failOp
--   >     , VkStencilOp passOp
--   >     , VkStencilOp depthFailOp
--   >     , VkCompareOp compareOp
--   >     )
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkCmdSetStencilOpEXT vkCmdSetStencilOpEXT registry at www.khronos.org>
type HS_vkCmdSetStencilOpEXT =
     VkCommandBuffer -- ^ commandBuffer
                     ->
       VkStencilFaceFlags -- ^ faceMask
                          ->
         VkStencilOp -- ^ failOp
                     -> VkStencilOp -- ^ passOp
                                    -> VkStencilOp -- ^ depthFailOp
                                                   -> VkCompareOp -- ^ compareOp
                                                                  -> IO ()

type PFN_vkCmdSetStencilOpEXT = FunPtr HS_vkCmdSetStencilOpEXT

foreign import ccall unsafe "dynamic"
               unwrapVkCmdSetStencilOpEXTUnsafe ::
               PFN_vkCmdSetStencilOpEXT -> HS_vkCmdSetStencilOpEXT

foreign import ccall safe "dynamic" unwrapVkCmdSetStencilOpEXTSafe
               :: PFN_vkCmdSetStencilOpEXT -> HS_vkCmdSetStencilOpEXT

instance VulkanProc "vkCmdSetStencilOpEXT" where
    type VkProcType "vkCmdSetStencilOpEXT" = HS_vkCmdSetStencilOpEXT
    vkProcSymbol :: CString
vkProcSymbol = CString
_VkCmdSetStencilOpEXT

    {-# INLINE vkProcSymbol #-}
    unwrapVkProcPtrUnsafe :: FunPtr (VkProcType "vkCmdSetStencilOpEXT")
-> VkProcType "vkCmdSetStencilOpEXT"
unwrapVkProcPtrUnsafe = FunPtr (VkProcType "vkCmdSetStencilOpEXT")
-> VkProcType "vkCmdSetStencilOpEXT"
PFN_vkCmdSetStencilOpEXT -> HS_vkCmdSetStencilOpEXT
unwrapVkCmdSetStencilOpEXTUnsafe

    {-# INLINE unwrapVkProcPtrUnsafe #-}
    unwrapVkProcPtrSafe :: FunPtr (VkProcType "vkCmdSetStencilOpEXT")
-> VkProcType "vkCmdSetStencilOpEXT"
unwrapVkProcPtrSafe = FunPtr (VkProcType "vkCmdSetStencilOpEXT")
-> VkProcType "vkCmdSetStencilOpEXT"
PFN_vkCmdSetStencilOpEXT -> HS_vkCmdSetStencilOpEXT
unwrapVkCmdSetStencilOpEXTSafe

    {-# INLINE unwrapVkProcPtrSafe #-}

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

pattern $bVK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION :: forall a. (Num a, Eq a) => a
$mVK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION :: forall {r} {a}.
(Num a, Eq a) =>
a -> (Void# -> r) -> (Void# -> r) -> r
VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION = 1

type VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION = 1

pattern VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME :: CString

pattern $bVK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME :: CString
$mVK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME :: forall {r}. CString -> (Void# -> r) -> (Void# -> r) -> r
VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME <-
        (is_VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME -> True)
  where
    VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME
      = CString
_VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME

{-# INLINE _VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME #-}

_VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME :: CString
_VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME :: CString
_VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME
  = Addr# -> CString
forall a. Addr# -> Ptr a
Ptr Addr#
"VK_EXT_extended_dynamic_state\NUL"#

{-# INLINE is_VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME #-}

is_VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME :: CString -> Bool
is_VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME :: CString -> Bool
is_VK_EXT_EXTENDED_DYNAMIC_STATE_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_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME

type VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME =
     "VK_EXT_extended_dynamic_state"

pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT
        :: VkStructureType

pattern $bVK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: VkStructureType
$mVK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT
        = VkStructureType 1000267000

pattern VK_DYNAMIC_STATE_CULL_MODE_EXT :: VkDynamicState

pattern $bVK_DYNAMIC_STATE_CULL_MODE_EXT :: VkDynamicState
$mVK_DYNAMIC_STATE_CULL_MODE_EXT :: forall {r}. VkDynamicState -> (Void# -> r) -> (Void# -> r) -> r
VK_DYNAMIC_STATE_CULL_MODE_EXT = VkDynamicState 1000267000

pattern VK_DYNAMIC_STATE_FRONT_FACE_EXT :: VkDynamicState

pattern $bVK_DYNAMIC_STATE_FRONT_FACE_EXT :: VkDynamicState
$mVK_DYNAMIC_STATE_FRONT_FACE_EXT :: forall {r}. VkDynamicState -> (Void# -> r) -> (Void# -> r) -> r
VK_DYNAMIC_STATE_FRONT_FACE_EXT = VkDynamicState 1000267001

pattern VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT :: VkDynamicState

pattern $bVK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT :: VkDynamicState
$mVK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT :: forall {r}. VkDynamicState -> (Void# -> r) -> (Void# -> r) -> r
VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT =
        VkDynamicState 1000267002

pattern VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT :: VkDynamicState

pattern $bVK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT :: VkDynamicState
$mVK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT :: forall {r}. VkDynamicState -> (Void# -> r) -> (Void# -> r) -> r
VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT =
        VkDynamicState 1000267003

pattern VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT :: VkDynamicState

pattern $bVK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT :: VkDynamicState
$mVK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT :: forall {r}. VkDynamicState -> (Void# -> r) -> (Void# -> r) -> r
VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT =
        VkDynamicState 1000267004

pattern VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT ::
        VkDynamicState

pattern $bVK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT :: VkDynamicState
$mVK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT :: forall {r}. VkDynamicState -> (Void# -> r) -> (Void# -> r) -> r
VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT =
        VkDynamicState 1000267005

pattern VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT :: VkDynamicState

pattern $bVK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT :: VkDynamicState
$mVK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT :: forall {r}. VkDynamicState -> (Void# -> r) -> (Void# -> r) -> r
VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT =
        VkDynamicState 1000267006

pattern VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT :: VkDynamicState

pattern $bVK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT :: VkDynamicState
$mVK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT :: forall {r}. VkDynamicState -> (Void# -> r) -> (Void# -> r) -> r
VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT =
        VkDynamicState 1000267007

pattern VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT :: VkDynamicState

pattern $bVK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT :: VkDynamicState
$mVK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT :: forall {r}. VkDynamicState -> (Void# -> r) -> (Void# -> r) -> r
VK_DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT =
        VkDynamicState 1000267008

pattern VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT ::
        VkDynamicState

pattern $bVK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT :: VkDynamicState
$mVK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT :: forall {r}. VkDynamicState -> (Void# -> r) -> (Void# -> r) -> r
VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT =
        VkDynamicState 1000267009

pattern VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT :: VkDynamicState

pattern $bVK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT :: VkDynamicState
$mVK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT :: forall {r}. VkDynamicState -> (Void# -> r) -> (Void# -> r) -> r
VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT =
        VkDynamicState 1000267010

pattern VK_DYNAMIC_STATE_STENCIL_OP_EXT :: VkDynamicState

pattern $bVK_DYNAMIC_STATE_STENCIL_OP_EXT :: VkDynamicState
$mVK_DYNAMIC_STATE_STENCIL_OP_EXT :: forall {r}. VkDynamicState -> (Void# -> r) -> (Void# -> r) -> r
VK_DYNAMIC_STATE_STENCIL_OP_EXT = VkDynamicState 1000267011