{-# OPTIONS_HADDOCK ignore-exports#-}
{-# LANGUAGE DataKinds                  #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE PatternSynonyms            #-}
{-# LANGUAGE Strict                     #-}
module Graphics.Vulkan.Types.Enum.StructureType
       (VkStructureType(VkStructureType,
                        VK_STRUCTURE_TYPE_APPLICATION_INFO,
                        VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO,
                        VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO,
                        VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO,
                        VK_STRUCTURE_TYPE_SUBMIT_INFO,
                        VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO,
                        VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE,
                        VK_STRUCTURE_TYPE_BIND_SPARSE_INFO,
                        VK_STRUCTURE_TYPE_FENCE_CREATE_INFO,
                        VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO,
                        VK_STRUCTURE_TYPE_EVENT_CREATE_INFO,
                        VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO,
                        VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO,
                        VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO,
                        VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO,
                        VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO,
                        VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO,
                        VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO,
                        VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO,
                        VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO,
                        VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO,
                        VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO,
                        VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO,
                        VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO,
                        VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO,
                        VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO,
                        VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO,
                        VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO,
                        VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO,
                        VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO,
                        VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO,
                        VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO,
                        VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO,
                        VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO,
                        VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO,
                        VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET,
                        VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET,
                        VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO,
                        VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO,
                        VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO,
                        VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO,
                        VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO,
                        VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO,
                        VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO,
                        VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER,
                        VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER,
                        VK_STRUCTURE_TYPE_MEMORY_BARRIER,
                        VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO,
                        VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO))
       where
import Foreign.Storable                (Storable)
import GHC.Read                        (choose, expectP)
import Graphics.Vulkan.Marshal         (Int32)
import Text.ParserCombinators.ReadPrec (prec, step, (+++))
import Text.Read                       (Read (..), parens)
import Text.Read.Lex                   (Lexeme (..))

-- | Structure type enumerant
--
--   type = @enum@
--
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkStructureType VkStructureType registry at www.khronos.org>
newtype VkStructureType = VkStructureType Int32
                          deriving (VkStructureType -> VkStructureType -> Bool
(VkStructureType -> VkStructureType -> Bool)
-> (VkStructureType -> VkStructureType -> Bool)
-> Eq VkStructureType
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: VkStructureType -> VkStructureType -> Bool
$c/= :: VkStructureType -> VkStructureType -> Bool
== :: VkStructureType -> VkStructureType -> Bool
$c== :: VkStructureType -> VkStructureType -> Bool
Eq, Eq VkStructureType
Eq VkStructureType
-> (VkStructureType -> VkStructureType -> Ordering)
-> (VkStructureType -> VkStructureType -> Bool)
-> (VkStructureType -> VkStructureType -> Bool)
-> (VkStructureType -> VkStructureType -> Bool)
-> (VkStructureType -> VkStructureType -> Bool)
-> (VkStructureType -> VkStructureType -> VkStructureType)
-> (VkStructureType -> VkStructureType -> VkStructureType)
-> Ord VkStructureType
VkStructureType -> VkStructureType -> Bool
VkStructureType -> VkStructureType -> Ordering
VkStructureType -> VkStructureType -> VkStructureType
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: VkStructureType -> VkStructureType -> VkStructureType
$cmin :: VkStructureType -> VkStructureType -> VkStructureType
max :: VkStructureType -> VkStructureType -> VkStructureType
$cmax :: VkStructureType -> VkStructureType -> VkStructureType
>= :: VkStructureType -> VkStructureType -> Bool
$c>= :: VkStructureType -> VkStructureType -> Bool
> :: VkStructureType -> VkStructureType -> Bool
$c> :: VkStructureType -> VkStructureType -> Bool
<= :: VkStructureType -> VkStructureType -> Bool
$c<= :: VkStructureType -> VkStructureType -> Bool
< :: VkStructureType -> VkStructureType -> Bool
$c< :: VkStructureType -> VkStructureType -> Bool
compare :: VkStructureType -> VkStructureType -> Ordering
$ccompare :: VkStructureType -> VkStructureType -> Ordering
Ord, Int -> VkStructureType
VkStructureType -> Int
VkStructureType -> [VkStructureType]
VkStructureType -> VkStructureType
VkStructureType -> VkStructureType -> [VkStructureType]
VkStructureType
-> VkStructureType -> VkStructureType -> [VkStructureType]
(VkStructureType -> VkStructureType)
-> (VkStructureType -> VkStructureType)
-> (Int -> VkStructureType)
-> (VkStructureType -> Int)
-> (VkStructureType -> [VkStructureType])
-> (VkStructureType -> VkStructureType -> [VkStructureType])
-> (VkStructureType -> VkStructureType -> [VkStructureType])
-> (VkStructureType
    -> VkStructureType -> VkStructureType -> [VkStructureType])
-> Enum VkStructureType
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
enumFromThenTo :: VkStructureType
-> VkStructureType -> VkStructureType -> [VkStructureType]
$cenumFromThenTo :: VkStructureType
-> VkStructureType -> VkStructureType -> [VkStructureType]
enumFromTo :: VkStructureType -> VkStructureType -> [VkStructureType]
$cenumFromTo :: VkStructureType -> VkStructureType -> [VkStructureType]
enumFromThen :: VkStructureType -> VkStructureType -> [VkStructureType]
$cenumFromThen :: VkStructureType -> VkStructureType -> [VkStructureType]
enumFrom :: VkStructureType -> [VkStructureType]
$cenumFrom :: VkStructureType -> [VkStructureType]
fromEnum :: VkStructureType -> Int
$cfromEnum :: VkStructureType -> Int
toEnum :: Int -> VkStructureType
$ctoEnum :: Int -> VkStructureType
pred :: VkStructureType -> VkStructureType
$cpred :: VkStructureType -> VkStructureType
succ :: VkStructureType -> VkStructureType
$csucc :: VkStructureType -> VkStructureType
Enum, Ptr VkStructureType -> IO VkStructureType
Ptr VkStructureType -> Int -> IO VkStructureType
Ptr VkStructureType -> Int -> VkStructureType -> IO ()
Ptr VkStructureType -> VkStructureType -> IO ()
VkStructureType -> Int
(VkStructureType -> Int)
-> (VkStructureType -> Int)
-> (Ptr VkStructureType -> Int -> IO VkStructureType)
-> (Ptr VkStructureType -> Int -> VkStructureType -> IO ())
-> (forall b. Ptr b -> Int -> IO VkStructureType)
-> (forall b. Ptr b -> Int -> VkStructureType -> IO ())
-> (Ptr VkStructureType -> IO VkStructureType)
-> (Ptr VkStructureType -> VkStructureType -> IO ())
-> Storable VkStructureType
forall b. Ptr b -> Int -> IO VkStructureType
forall b. Ptr b -> Int -> VkStructureType -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
poke :: Ptr VkStructureType -> VkStructureType -> IO ()
$cpoke :: Ptr VkStructureType -> VkStructureType -> IO ()
peek :: Ptr VkStructureType -> IO VkStructureType
$cpeek :: Ptr VkStructureType -> IO VkStructureType
pokeByteOff :: forall b. Ptr b -> Int -> VkStructureType -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> VkStructureType -> IO ()
peekByteOff :: forall b. Ptr b -> Int -> IO VkStructureType
$cpeekByteOff :: forall b. Ptr b -> Int -> IO VkStructureType
pokeElemOff :: Ptr VkStructureType -> Int -> VkStructureType -> IO ()
$cpokeElemOff :: Ptr VkStructureType -> Int -> VkStructureType -> IO ()
peekElemOff :: Ptr VkStructureType -> Int -> IO VkStructureType
$cpeekElemOff :: Ptr VkStructureType -> Int -> IO VkStructureType
alignment :: VkStructureType -> Int
$calignment :: VkStructureType -> Int
sizeOf :: VkStructureType -> Int
$csizeOf :: VkStructureType -> Int
Storable)

instance Show VkStructureType where
    showsPrec :: Int -> VkStructureType -> ShowS
showsPrec Int
_ VkStructureType
VK_STRUCTURE_TYPE_APPLICATION_INFO
      = String -> ShowS
showString String
"VK_STRUCTURE_TYPE_APPLICATION_INFO"
    showsPrec Int
_ VkStructureType
VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO
      = String -> ShowS
showString String
"VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO"
    showsPrec Int
_ VkStructureType
VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO
      = String -> ShowS
showString String
"VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO"
    showsPrec Int
_ VkStructureType
VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO
      = String -> ShowS
showString String
"VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO"
    showsPrec Int
_ VkStructureType
VK_STRUCTURE_TYPE_SUBMIT_INFO
      = String -> ShowS
showString String
"VK_STRUCTURE_TYPE_SUBMIT_INFO"
    showsPrec Int
_ VkStructureType
VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO
      = String -> ShowS
showString String
"VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO"
    showsPrec Int
_ VkStructureType
VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE
      = String -> ShowS
showString String
"VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE"
    showsPrec Int
_ VkStructureType
VK_STRUCTURE_TYPE_BIND_SPARSE_INFO
      = String -> ShowS
showString String
"VK_STRUCTURE_TYPE_BIND_SPARSE_INFO"
    showsPrec Int
_ VkStructureType
VK_STRUCTURE_TYPE_FENCE_CREATE_INFO
      = String -> ShowS
showString String
"VK_STRUCTURE_TYPE_FENCE_CREATE_INFO"
    showsPrec Int
_ VkStructureType
VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO
      = String -> ShowS
showString String
"VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO"
    showsPrec Int
_ VkStructureType
VK_STRUCTURE_TYPE_EVENT_CREATE_INFO
      = String -> ShowS
showString String
"VK_STRUCTURE_TYPE_EVENT_CREATE_INFO"
    showsPrec Int
_ VkStructureType
VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO
      = String -> ShowS
showString String
"VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO"
    showsPrec Int
_ VkStructureType
VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO
      = String -> ShowS
showString String
"VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO"
    showsPrec Int
_ VkStructureType
VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO
      = String -> ShowS
showString String
"VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO"
    showsPrec Int
_ VkStructureType
VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO
      = String -> ShowS
showString String
"VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO"
    showsPrec Int
_ VkStructureType
VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO
      = String -> ShowS
showString String
"VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO"
    showsPrec Int
_ VkStructureType
VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO
      = String -> ShowS
showString String
"VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO"
    showsPrec Int
_ VkStructureType
VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO
      = String -> ShowS
showString String
"VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO"
    showsPrec Int
_ VkStructureType
VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO
      = String -> ShowS
showString String
"VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO"
    showsPrec Int
_
      VkStructureType
VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO
      = String -> ShowS
showString
          String
"VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO"
    showsPrec Int
_
      VkStructureType
VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO
      = String -> ShowS
showString
          String
"VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO"
    showsPrec Int
_
      VkStructureType
VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO
      = String -> ShowS
showString
          String
"VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO"
    showsPrec Int
_ VkStructureType
VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO
      = String -> ShowS
showString
          String
"VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO"
    showsPrec Int
_
      VkStructureType
VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO
      = String -> ShowS
showString
          String
"VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO"
    showsPrec Int
_
      VkStructureType
VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO
      = String -> ShowS
showString
          String
"VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO"
    showsPrec Int
_
      VkStructureType
VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO
      = String -> ShowS
showString
          String
"VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO"
    showsPrec Int
_
      VkStructureType
VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO
      = String -> ShowS
showString
          String
"VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO"
    showsPrec Int
_ VkStructureType
VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO
      = String -> ShowS
showString String
"VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO"
    showsPrec Int
_ VkStructureType
VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO
      = String -> ShowS
showString String
"VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO"
    showsPrec Int
_ VkStructureType
VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO
      = String -> ShowS
showString String
"VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO"
    showsPrec Int
_ VkStructureType
VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO
      = String -> ShowS
showString String
"VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO"
    showsPrec Int
_ VkStructureType
VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO
      = String -> ShowS
showString String
"VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO"
    showsPrec Int
_ VkStructureType
VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO
      = String -> ShowS
showString String
"VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO"
    showsPrec Int
_ VkStructureType
VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO
      = String -> ShowS
showString String
"VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO"
    showsPrec Int
_ VkStructureType
VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO
      = String -> ShowS
showString String
"VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO"
    showsPrec Int
_ VkStructureType
VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET
      = String -> ShowS
showString String
"VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET"
    showsPrec Int
_ VkStructureType
VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET
      = String -> ShowS
showString String
"VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET"
    showsPrec Int
_ VkStructureType
VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO
      = String -> ShowS
showString String
"VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO"
    showsPrec Int
_ VkStructureType
VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO
      = String -> ShowS
showString String
"VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO"
    showsPrec Int
_ VkStructureType
VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO
      = String -> ShowS
showString String
"VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO"
    showsPrec Int
_ VkStructureType
VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO
      = String -> ShowS
showString String
"VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO"
    showsPrec Int
_ VkStructureType
VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO
      = String -> ShowS
showString String
"VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO"
    showsPrec Int
_ VkStructureType
VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO
      = String -> ShowS
showString String
"VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO"
    showsPrec Int
_ VkStructureType
VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO
      = String -> ShowS
showString String
"VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO"
    showsPrec Int
_ VkStructureType
VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER
      = String -> ShowS
showString String
"VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER"
    showsPrec Int
_ VkStructureType
VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER
      = String -> ShowS
showString String
"VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER"
    showsPrec Int
_ VkStructureType
VK_STRUCTURE_TYPE_MEMORY_BARRIER
      = String -> ShowS
showString String
"VK_STRUCTURE_TYPE_MEMORY_BARRIER"
    showsPrec Int
_ VkStructureType
VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO
      = String -> ShowS
showString String
"VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO"
    showsPrec Int
_ VkStructureType
VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO
      = String -> ShowS
showString String
"VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO"
    showsPrec Int
p (VkStructureType Int32
x)
      = Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11)
          (String -> ShowS
showString String
"VkStructureType " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Int -> Int32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
11 Int32
x)

instance Read VkStructureType where
    readPrec :: ReadPrec VkStructureType
readPrec
      = ReadPrec VkStructureType -> ReadPrec VkStructureType
forall a. ReadPrec a -> ReadPrec a
parens
          ([(String, ReadPrec VkStructureType)] -> ReadPrec VkStructureType
forall a. [(String, ReadPrec a)] -> ReadPrec a
choose
             [(String
"VK_STRUCTURE_TYPE_APPLICATION_INFO",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_APPLICATION_INFO),
              (String
"VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO),
              (String
"VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO),
              (String
"VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO),
              (String
"VK_STRUCTURE_TYPE_SUBMIT_INFO",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_SUBMIT_INFO),
              (String
"VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO),
              (String
"VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE),
              (String
"VK_STRUCTURE_TYPE_BIND_SPARSE_INFO",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_BIND_SPARSE_INFO),
              (String
"VK_STRUCTURE_TYPE_FENCE_CREATE_INFO",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_FENCE_CREATE_INFO),
              (String
"VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO),
              (String
"VK_STRUCTURE_TYPE_EVENT_CREATE_INFO",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_EVENT_CREATE_INFO),
              (String
"VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO),
              (String
"VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO),
              (String
"VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO),
              (String
"VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO),
              (String
"VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO),
              (String
"VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO),
              (String
"VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO),
              (String
"VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO),
              (String
"VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO),
              (String
"VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO),
              (String
"VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO),
              (String
"VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO),
              (String
"VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO),
              (String
"VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO),
              (String
"VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO),
              (String
"VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO),
              (String
"VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO),
              (String
"VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO),
              (String
"VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO),
              (String
"VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO),
              (String
"VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO),
              (String
"VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO),
              (String
"VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO),
              (String
"VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO),
              (String
"VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET),
              (String
"VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET),
              (String
"VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO),
              (String
"VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO),
              (String
"VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO),
              (String
"VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO),
              (String
"VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO),
              (String
"VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO),
              (String
"VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO),
              (String
"VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER),
              (String
"VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER),
              (String
"VK_STRUCTURE_TYPE_MEMORY_BARRIER",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_MEMORY_BARRIER),
              (String
"VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO),
              (String
"VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO",
               VkStructureType -> ReadPrec VkStructureType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkStructureType
VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO)]
             ReadPrec VkStructureType
-> ReadPrec VkStructureType -> ReadPrec VkStructureType
forall a. ReadPrec a -> ReadPrec a -> ReadPrec a
+++
             Int -> ReadPrec VkStructureType -> ReadPrec VkStructureType
forall a. Int -> ReadPrec a -> ReadPrec a
prec Int
10
               (Lexeme -> ReadPrec ()
expectP (String -> Lexeme
Ident String
"VkStructureType") ReadPrec () -> ReadPrec VkStructureType -> ReadPrec VkStructureType
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>>
                  (Int32 -> VkStructureType
VkStructureType (Int32 -> VkStructureType)
-> ReadPrec Int32 -> ReadPrec VkStructureType
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ReadPrec Int32 -> ReadPrec Int32
forall a. ReadPrec a -> ReadPrec a
step ReadPrec Int32
forall a. Read a => ReadPrec a
readPrec)))

pattern VK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType

pattern $bVK_STRUCTURE_TYPE_APPLICATION_INFO :: VkStructureType
$mVK_STRUCTURE_TYPE_APPLICATION_INFO :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_APPLICATION_INFO = VkStructureType 0

pattern VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType

pattern $bVK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: VkStructureType
$mVK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = VkStructureType 1

pattern VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO ::
        VkStructureType

pattern $bVK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: VkStructureType
$mVK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO =
        VkStructureType 2

pattern VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType

pattern $bVK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: VkStructureType
$mVK_STRUCTURE_TYPE_DEVICE_CREATE_INFO :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = VkStructureType 3

pattern VK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType

pattern $bVK_STRUCTURE_TYPE_SUBMIT_INFO :: VkStructureType
$mVK_STRUCTURE_TYPE_SUBMIT_INFO :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_SUBMIT_INFO = VkStructureType 4

pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType

pattern $bVK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: VkStructureType
$mVK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = VkStructureType 5

pattern VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType

pattern $bVK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: VkStructureType
$mVK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = VkStructureType 6

pattern VK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType

pattern $bVK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: VkStructureType
$mVK_STRUCTURE_TYPE_BIND_SPARSE_INFO :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = VkStructureType 7

pattern VK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType

pattern $bVK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: VkStructureType
$mVK_STRUCTURE_TYPE_FENCE_CREATE_INFO :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = VkStructureType 8

pattern VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType

pattern $bVK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: VkStructureType
$mVK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = VkStructureType 9

pattern VK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType

pattern $bVK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: VkStructureType
$mVK_STRUCTURE_TYPE_EVENT_CREATE_INFO :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = VkStructureType 10

pattern VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType

pattern $bVK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: VkStructureType
$mVK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO =
        VkStructureType 11

pattern VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType

pattern $bVK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: VkStructureType
$mVK_STRUCTURE_TYPE_BUFFER_CREATE_INFO :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = VkStructureType 12

pattern VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO ::
        VkStructureType

pattern $bVK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: VkStructureType
$mVK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO =
        VkStructureType 13

pattern VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType

pattern $bVK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: VkStructureType
$mVK_STRUCTURE_TYPE_IMAGE_CREATE_INFO :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = VkStructureType 14

pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType

pattern $bVK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: VkStructureType
$mVK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO =
        VkStructureType 15

pattern VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO ::
        VkStructureType

pattern $bVK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: VkStructureType
$mVK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO =
        VkStructureType 16

pattern VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO ::
        VkStructureType

pattern $bVK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: VkStructureType
$mVK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO =
        VkStructureType 17

pattern VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO ::
        VkStructureType

pattern $bVK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: VkStructureType
$mVK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO =
        VkStructureType 18

pattern VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO
        :: VkStructureType

pattern $bVK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: VkStructureType
$mVK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO =
        VkStructureType 19

pattern VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO
        :: VkStructureType

pattern $bVK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: VkStructureType
$mVK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO
        = VkStructureType 20

pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO
        :: VkStructureType

pattern $bVK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: VkStructureType
$mVK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO =
        VkStructureType 21

pattern VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO ::
        VkStructureType

pattern $bVK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: VkStructureType
$mVK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO =
        VkStructureType 22

pattern VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO
        :: VkStructureType

pattern $bVK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: VkStructureType
$mVK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO
        = VkStructureType 23

pattern VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO ::
        VkStructureType

pattern $bVK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: VkStructureType
$mVK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO =
        VkStructureType 24

pattern VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO
        :: VkStructureType

pattern $bVK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: VkStructureType
$mVK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO
        = VkStructureType 25

pattern VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO ::
        VkStructureType

pattern $bVK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: VkStructureType
$mVK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO =
        VkStructureType 26

pattern VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO ::
        VkStructureType

pattern $bVK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: VkStructureType
$mVK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO =
        VkStructureType 27

pattern VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO ::
        VkStructureType

pattern $bVK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: VkStructureType
$mVK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO =
        VkStructureType 28

pattern VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO ::
        VkStructureType

pattern $bVK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: VkStructureType
$mVK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO =
        VkStructureType 29

pattern VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO ::
        VkStructureType

pattern $bVK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: VkStructureType
$mVK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO =
        VkStructureType 30

pattern VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType

pattern $bVK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: VkStructureType
$mVK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = VkStructureType 31

pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO ::
        VkStructureType

pattern $bVK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: VkStructureType
$mVK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO =
        VkStructureType 32

pattern VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO ::
        VkStructureType

pattern $bVK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: VkStructureType
$mVK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO =
        VkStructureType 33

pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO ::
        VkStructureType

pattern $bVK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: VkStructureType
$mVK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO =
        VkStructureType 34

pattern VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType

pattern $bVK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: VkStructureType
$mVK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = VkStructureType 35

pattern VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType

pattern $bVK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: VkStructureType
$mVK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = VkStructureType 36

pattern VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO ::
        VkStructureType

pattern $bVK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: VkStructureType
$mVK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO =
        VkStructureType 37

pattern VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO ::
        VkStructureType

pattern $bVK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: VkStructureType
$mVK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO =
        VkStructureType 38

pattern VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO ::
        VkStructureType

pattern $bVK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: VkStructureType
$mVK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO =
        VkStructureType 39

pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO ::
        VkStructureType

pattern $bVK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: VkStructureType
$mVK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO =
        VkStructureType 40

pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO ::
        VkStructureType

pattern $bVK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: VkStructureType
$mVK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO =
        VkStructureType 41

pattern VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO ::
        VkStructureType

pattern $bVK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: VkStructureType
$mVK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO =
        VkStructureType 42

pattern VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType

pattern $bVK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: VkStructureType
$mVK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO =
        VkStructureType 43

pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType

pattern $bVK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: VkStructureType
$mVK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER =
        VkStructureType 44

pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType

pattern $bVK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: VkStructureType
$mVK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = VkStructureType 45

pattern VK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType

pattern $bVK_STRUCTURE_TYPE_MEMORY_BARRIER :: VkStructureType
$mVK_STRUCTURE_TYPE_MEMORY_BARRIER :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_MEMORY_BARRIER = VkStructureType 46

-- | Reserved for internal use by the loader, layers, and ICDs
pattern VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO ::
        VkStructureType

pattern $bVK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: VkStructureType
$mVK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO =
        VkStructureType 47

-- | Reserved for internal use by the loader, layers, and ICDs
pattern VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO ::
        VkStructureType

pattern $bVK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: VkStructureType
$mVK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO :: forall {r}. VkStructureType -> (Void# -> r) -> (Void# -> r) -> r
VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO =
        VkStructureType 48