{-# OPTIONS_HADDOCK ignore-exports#-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE KindSignatures #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE StandaloneDeriving #-}
{-# LANGUAGE Strict #-}
{-# LANGUAGE TypeSynonymInstances #-}
module Graphics.Vulkan.Types.Enum.AccessFlags
(VkAccessBitmask(VkAccessBitmask, VkAccessFlags, VkAccessFlagBits,
VK_ACCESS_INDIRECT_COMMAND_READ_BIT, VK_ACCESS_INDEX_READ_BIT,
VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT, VK_ACCESS_UNIFORM_READ_BIT,
VK_ACCESS_INPUT_ATTACHMENT_READ_BIT, VK_ACCESS_SHADER_READ_BIT,
VK_ACCESS_SHADER_WRITE_BIT, VK_ACCESS_COLOR_ATTACHMENT_READ_BIT,
VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT,
VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT,
VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT,
VK_ACCESS_TRANSFER_READ_BIT, VK_ACCESS_TRANSFER_WRITE_BIT,
VK_ACCESS_HOST_READ_BIT, VK_ACCESS_HOST_WRITE_BIT,
VK_ACCESS_MEMORY_READ_BIT, VK_ACCESS_MEMORY_WRITE_BIT),
VkAccessFlags, VkAccessFlagBits)
where
import Data.Bits (Bits, FiniteBits)
import Foreign.Storable (Storable)
import GHC.Read (choose, expectP)
import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)
import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))
import Text.ParserCombinators.ReadPrec (prec, step, (+++))
import Text.Read (Read (..), parens)
import Text.Read.Lex (Lexeme (..))
newtype VkAccessBitmask (a :: FlagType) = VkAccessBitmask VkFlags
deriving (Eq, Ord, Storable)
type VkAccessFlags = VkAccessBitmask FlagMask
type VkAccessFlagBits = VkAccessBitmask FlagBit
pattern VkAccessFlagBits :: VkFlags -> VkAccessBitmask FlagBit
pattern VkAccessFlagBits n = VkAccessBitmask n
pattern VkAccessFlags :: VkFlags -> VkAccessBitmask FlagMask
pattern VkAccessFlags n = VkAccessBitmask n
deriving instance Bits (VkAccessBitmask FlagMask)
deriving instance FiniteBits (VkAccessBitmask FlagMask)
instance Show (VkAccessBitmask a) where
showsPrec _ VK_ACCESS_INDIRECT_COMMAND_READ_BIT
= showString "VK_ACCESS_INDIRECT_COMMAND_READ_BIT"
showsPrec _ VK_ACCESS_INDEX_READ_BIT
= showString "VK_ACCESS_INDEX_READ_BIT"
showsPrec _ VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT
= showString "VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT"
showsPrec _ VK_ACCESS_UNIFORM_READ_BIT
= showString "VK_ACCESS_UNIFORM_READ_BIT"
showsPrec _ VK_ACCESS_INPUT_ATTACHMENT_READ_BIT
= showString "VK_ACCESS_INPUT_ATTACHMENT_READ_BIT"
showsPrec _ VK_ACCESS_SHADER_READ_BIT
= showString "VK_ACCESS_SHADER_READ_BIT"
showsPrec _ VK_ACCESS_SHADER_WRITE_BIT
= showString "VK_ACCESS_SHADER_WRITE_BIT"
showsPrec _ VK_ACCESS_COLOR_ATTACHMENT_READ_BIT
= showString "VK_ACCESS_COLOR_ATTACHMENT_READ_BIT"
showsPrec _ VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT
= showString "VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT"
showsPrec _ VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT
= showString "VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT"
showsPrec _ VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT
= showString "VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT"
showsPrec _ VK_ACCESS_TRANSFER_READ_BIT
= showString "VK_ACCESS_TRANSFER_READ_BIT"
showsPrec _ VK_ACCESS_TRANSFER_WRITE_BIT
= showString "VK_ACCESS_TRANSFER_WRITE_BIT"
showsPrec _ VK_ACCESS_HOST_READ_BIT
= showString "VK_ACCESS_HOST_READ_BIT"
showsPrec _ VK_ACCESS_HOST_WRITE_BIT
= showString "VK_ACCESS_HOST_WRITE_BIT"
showsPrec _ VK_ACCESS_MEMORY_READ_BIT
= showString "VK_ACCESS_MEMORY_READ_BIT"
showsPrec _ VK_ACCESS_MEMORY_WRITE_BIT
= showString "VK_ACCESS_MEMORY_WRITE_BIT"
showsPrec p (VkAccessBitmask x)
= showParen (p >= 11)
(showString "VkAccessBitmask " . showsPrec 11 x)
instance Read (VkAccessBitmask a) where
readPrec
= parens
(choose
[("VK_ACCESS_INDIRECT_COMMAND_READ_BIT",
pure VK_ACCESS_INDIRECT_COMMAND_READ_BIT),
("VK_ACCESS_INDEX_READ_BIT", pure VK_ACCESS_INDEX_READ_BIT),
("VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT",
pure VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT),
("VK_ACCESS_UNIFORM_READ_BIT", pure VK_ACCESS_UNIFORM_READ_BIT),
("VK_ACCESS_INPUT_ATTACHMENT_READ_BIT",
pure VK_ACCESS_INPUT_ATTACHMENT_READ_BIT),
("VK_ACCESS_SHADER_READ_BIT", pure VK_ACCESS_SHADER_READ_BIT),
("VK_ACCESS_SHADER_WRITE_BIT", pure VK_ACCESS_SHADER_WRITE_BIT),
("VK_ACCESS_COLOR_ATTACHMENT_READ_BIT",
pure VK_ACCESS_COLOR_ATTACHMENT_READ_BIT),
("VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT",
pure VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT),
("VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT",
pure VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT),
("VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT",
pure VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT),
("VK_ACCESS_TRANSFER_READ_BIT", pure VK_ACCESS_TRANSFER_READ_BIT),
("VK_ACCESS_TRANSFER_WRITE_BIT",
pure VK_ACCESS_TRANSFER_WRITE_BIT),
("VK_ACCESS_HOST_READ_BIT", pure VK_ACCESS_HOST_READ_BIT),
("VK_ACCESS_HOST_WRITE_BIT", pure VK_ACCESS_HOST_WRITE_BIT),
("VK_ACCESS_MEMORY_READ_BIT", pure VK_ACCESS_MEMORY_READ_BIT),
("VK_ACCESS_MEMORY_WRITE_BIT", pure VK_ACCESS_MEMORY_WRITE_BIT)]
+++
prec 10
(expectP (Ident "VkAccessBitmask") >>
(VkAccessBitmask <$> step readPrec)))
pattern VK_ACCESS_INDIRECT_COMMAND_READ_BIT :: VkAccessBitmask a
pattern VK_ACCESS_INDIRECT_COMMAND_READ_BIT = VkAccessBitmask 1
pattern VK_ACCESS_INDEX_READ_BIT :: VkAccessBitmask a
pattern VK_ACCESS_INDEX_READ_BIT = VkAccessBitmask 2
pattern VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT :: VkAccessBitmask a
pattern VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = VkAccessBitmask 4
pattern VK_ACCESS_UNIFORM_READ_BIT :: VkAccessBitmask a
pattern VK_ACCESS_UNIFORM_READ_BIT = VkAccessBitmask 8
pattern VK_ACCESS_INPUT_ATTACHMENT_READ_BIT :: VkAccessBitmask a
pattern VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = VkAccessBitmask 16
pattern VK_ACCESS_SHADER_READ_BIT :: VkAccessBitmask a
pattern VK_ACCESS_SHADER_READ_BIT = VkAccessBitmask 32
pattern VK_ACCESS_SHADER_WRITE_BIT :: VkAccessBitmask a
pattern VK_ACCESS_SHADER_WRITE_BIT = VkAccessBitmask 64
pattern VK_ACCESS_COLOR_ATTACHMENT_READ_BIT :: VkAccessBitmask a
pattern VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = VkAccessBitmask 128
pattern VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT :: VkAccessBitmask a
pattern VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = VkAccessBitmask 256
pattern VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT ::
VkAccessBitmask a
pattern VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT =
VkAccessBitmask 512
pattern VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT ::
VkAccessBitmask a
pattern VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT =
VkAccessBitmask 1024
pattern VK_ACCESS_TRANSFER_READ_BIT :: VkAccessBitmask a
pattern VK_ACCESS_TRANSFER_READ_BIT = VkAccessBitmask 2048
pattern VK_ACCESS_TRANSFER_WRITE_BIT :: VkAccessBitmask a
pattern VK_ACCESS_TRANSFER_WRITE_BIT = VkAccessBitmask 4096
pattern VK_ACCESS_HOST_READ_BIT :: VkAccessBitmask a
pattern VK_ACCESS_HOST_READ_BIT = VkAccessBitmask 8192
pattern VK_ACCESS_HOST_WRITE_BIT :: VkAccessBitmask a
pattern VK_ACCESS_HOST_WRITE_BIT = VkAccessBitmask 16384
pattern VK_ACCESS_MEMORY_READ_BIT :: VkAccessBitmask a
pattern VK_ACCESS_MEMORY_READ_BIT = VkAccessBitmask 32768
pattern VK_ACCESS_MEMORY_WRITE_BIT :: VkAccessBitmask a
pattern VK_ACCESS_MEMORY_WRITE_BIT = VkAccessBitmask 65536