{-# 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.Attachment
(VkAttachmentDescriptionBitmask(VkAttachmentDescriptionBitmask,
VkAttachmentDescriptionFlags,
VkAttachmentDescriptionFlagBits,
VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT),
VkAttachmentDescriptionFlags, VkAttachmentDescriptionFlagBits,
VkAttachmentLoadOp(VkAttachmentLoadOp, VK_ATTACHMENT_LOAD_OP_LOAD,
VK_ATTACHMENT_LOAD_OP_CLEAR, VK_ATTACHMENT_LOAD_OP_DONT_CARE),
VkAttachmentStoreOp(VkAttachmentStoreOp,
VK_ATTACHMENT_STORE_OP_STORE, VK_ATTACHMENT_STORE_OP_DONT_CARE))
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,
Int32)
import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))
import Text.ParserCombinators.ReadPrec (prec, step, (+++))
import Text.Read (Read (..), parens)
import Text.Read.Lex (Lexeme (..))
newtype VkAttachmentDescriptionBitmask (a ::
FlagType) = VkAttachmentDescriptionBitmask VkFlags
deriving (Eq, Ord, Storable, Data, Generic)
type VkAttachmentDescriptionFlags =
VkAttachmentDescriptionBitmask FlagMask
type VkAttachmentDescriptionFlagBits =
VkAttachmentDescriptionBitmask FlagBit
pattern VkAttachmentDescriptionFlagBits ::
VkFlags -> VkAttachmentDescriptionBitmask FlagBit
pattern VkAttachmentDescriptionFlagBits n =
VkAttachmentDescriptionBitmask n
pattern VkAttachmentDescriptionFlags ::
VkFlags -> VkAttachmentDescriptionBitmask FlagMask
pattern VkAttachmentDescriptionFlags n =
VkAttachmentDescriptionBitmask n
deriving instance Bits (VkAttachmentDescriptionBitmask FlagMask)
deriving instance
FiniteBits (VkAttachmentDescriptionBitmask FlagMask)
deriving instance
Integral (VkAttachmentDescriptionBitmask FlagMask)
deriving instance Num (VkAttachmentDescriptionBitmask FlagMask)
deriving instance Bounded (VkAttachmentDescriptionBitmask FlagMask)
deriving instance Enum (VkAttachmentDescriptionBitmask FlagMask)
deriving instance Real (VkAttachmentDescriptionBitmask FlagMask)
instance Show (VkAttachmentDescriptionBitmask a) where
showsPrec _ VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT
= showString "VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT"
showsPrec p (VkAttachmentDescriptionBitmask x)
= showParen (p >= 11)
(showString "VkAttachmentDescriptionBitmask " . showsPrec 11 x)
instance Read (VkAttachmentDescriptionBitmask a) where
readPrec
= parens
(choose
[("VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT",
pure VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT)]
+++
prec 10
(expectP (Ident "VkAttachmentDescriptionBitmask") >>
(VkAttachmentDescriptionBitmask <$> step readPrec)))
pattern VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT ::
VkAttachmentDescriptionBitmask a
pattern VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT =
VkAttachmentDescriptionBitmask 1
newtype VkAttachmentLoadOp = VkAttachmentLoadOp Int32
deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)
instance Show VkAttachmentLoadOp where
showsPrec _ VK_ATTACHMENT_LOAD_OP_LOAD
= showString "VK_ATTACHMENT_LOAD_OP_LOAD"
showsPrec _ VK_ATTACHMENT_LOAD_OP_CLEAR
= showString "VK_ATTACHMENT_LOAD_OP_CLEAR"
showsPrec _ VK_ATTACHMENT_LOAD_OP_DONT_CARE
= showString "VK_ATTACHMENT_LOAD_OP_DONT_CARE"
showsPrec p (VkAttachmentLoadOp x)
= showParen (p >= 11)
(showString "VkAttachmentLoadOp " . showsPrec 11 x)
instance Read VkAttachmentLoadOp where
readPrec
= parens
(choose
[("VK_ATTACHMENT_LOAD_OP_LOAD", pure VK_ATTACHMENT_LOAD_OP_LOAD),
("VK_ATTACHMENT_LOAD_OP_CLEAR", pure VK_ATTACHMENT_LOAD_OP_CLEAR),
("VK_ATTACHMENT_LOAD_OP_DONT_CARE",
pure VK_ATTACHMENT_LOAD_OP_DONT_CARE)]
+++
prec 10
(expectP (Ident "VkAttachmentLoadOp") >>
(VkAttachmentLoadOp <$> step readPrec)))
pattern VK_ATTACHMENT_LOAD_OP_LOAD :: VkAttachmentLoadOp
pattern VK_ATTACHMENT_LOAD_OP_LOAD = VkAttachmentLoadOp 0
pattern VK_ATTACHMENT_LOAD_OP_CLEAR :: VkAttachmentLoadOp
pattern VK_ATTACHMENT_LOAD_OP_CLEAR = VkAttachmentLoadOp 1
pattern VK_ATTACHMENT_LOAD_OP_DONT_CARE :: VkAttachmentLoadOp
pattern VK_ATTACHMENT_LOAD_OP_DONT_CARE = VkAttachmentLoadOp 2
newtype VkAttachmentStoreOp = VkAttachmentStoreOp Int32
deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)
instance Show VkAttachmentStoreOp where
showsPrec _ VK_ATTACHMENT_STORE_OP_STORE
= showString "VK_ATTACHMENT_STORE_OP_STORE"
showsPrec _ VK_ATTACHMENT_STORE_OP_DONT_CARE
= showString "VK_ATTACHMENT_STORE_OP_DONT_CARE"
showsPrec p (VkAttachmentStoreOp x)
= showParen (p >= 11)
(showString "VkAttachmentStoreOp " . showsPrec 11 x)
instance Read VkAttachmentStoreOp where
readPrec
= parens
(choose
[("VK_ATTACHMENT_STORE_OP_STORE",
pure VK_ATTACHMENT_STORE_OP_STORE),
("VK_ATTACHMENT_STORE_OP_DONT_CARE",
pure VK_ATTACHMENT_STORE_OP_DONT_CARE)]
+++
prec 10
(expectP (Ident "VkAttachmentStoreOp") >>
(VkAttachmentStoreOp <$> step readPrec)))
pattern VK_ATTACHMENT_STORE_OP_STORE :: VkAttachmentStoreOp
pattern VK_ATTACHMENT_STORE_OP_STORE = VkAttachmentStoreOp 0
pattern VK_ATTACHMENT_STORE_OP_DONT_CARE :: VkAttachmentStoreOp
pattern VK_ATTACHMENT_STORE_OP_DONT_CARE = VkAttachmentStoreOp 1