{-# OPTIONS_HADDOCK ignore-exports#-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# 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 Data.Data (Data)
import Foreign.Storable (Storable)
import GHC.Generics (Generic)
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, Data, Generic)
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)
deriving instance Integral (VkAccessBitmask FlagMask)
deriving instance Num (VkAccessBitmask FlagMask)
deriving instance Bounded (VkAccessBitmask FlagMask)
deriving instance Enum (VkAccessBitmask FlagMask)
deriving instance Real (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