{-# 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.Sparse
(VkSparseImageFormatBitmask(VkSparseImageFormatBitmask,
VkSparseImageFormatFlags, VkSparseImageFormatFlagBits,
VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT,
VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT,
VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT),
VkSparseImageFormatFlags, VkSparseImageFormatFlagBits,
VkSparseMemoryBindBitmask(VkSparseMemoryBindBitmask,
VkSparseMemoryBindFlags, VkSparseMemoryBindFlagBits,
VK_SPARSE_MEMORY_BIND_METADATA_BIT),
VkSparseMemoryBindFlags, VkSparseMemoryBindFlagBits)
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 VkSparseImageFormatBitmask (a ::
FlagType) = VkSparseImageFormatBitmask VkFlags
deriving (Eq, Ord, Storable, Data, Generic)
type VkSparseImageFormatFlags = VkSparseImageFormatBitmask FlagMask
type VkSparseImageFormatFlagBits =
VkSparseImageFormatBitmask FlagBit
pattern VkSparseImageFormatFlagBits ::
VkFlags -> VkSparseImageFormatBitmask FlagBit
pattern VkSparseImageFormatFlagBits n =
VkSparseImageFormatBitmask n
pattern VkSparseImageFormatFlags ::
VkFlags -> VkSparseImageFormatBitmask FlagMask
pattern VkSparseImageFormatFlags n = VkSparseImageFormatBitmask n
deriving instance Bits (VkSparseImageFormatBitmask FlagMask)
deriving instance FiniteBits (VkSparseImageFormatBitmask FlagMask)
deriving instance Integral (VkSparseImageFormatBitmask FlagMask)
deriving instance Num (VkSparseImageFormatBitmask FlagMask)
deriving instance Bounded (VkSparseImageFormatBitmask FlagMask)
deriving instance Enum (VkSparseImageFormatBitmask FlagMask)
deriving instance Real (VkSparseImageFormatBitmask FlagMask)
instance Show (VkSparseImageFormatBitmask a) where
showsPrec _ VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT
= showString "VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT"
showsPrec _ VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT
= showString "VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT"
showsPrec _ VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT
= showString "VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT"
showsPrec p (VkSparseImageFormatBitmask x)
= showParen (p >= 11)
(showString "VkSparseImageFormatBitmask " . showsPrec 11 x)
instance Read (VkSparseImageFormatBitmask a) where
readPrec
= parens
(choose
[("VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT",
pure VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT),
("VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT",
pure VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT),
("VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT",
pure VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT)]
+++
prec 10
(expectP (Ident "VkSparseImageFormatBitmask") >>
(VkSparseImageFormatBitmask <$> step readPrec)))
pattern VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT ::
VkSparseImageFormatBitmask a
pattern VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT =
VkSparseImageFormatBitmask 1
pattern VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT ::
VkSparseImageFormatBitmask a
pattern VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT =
VkSparseImageFormatBitmask 2
pattern VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT ::
VkSparseImageFormatBitmask a
pattern VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT =
VkSparseImageFormatBitmask 4
newtype VkSparseMemoryBindBitmask (a ::
FlagType) = VkSparseMemoryBindBitmask VkFlags
deriving (Eq, Ord, Storable, Data, Generic)
type VkSparseMemoryBindFlags = VkSparseMemoryBindBitmask FlagMask
type VkSparseMemoryBindFlagBits = VkSparseMemoryBindBitmask FlagBit
pattern VkSparseMemoryBindFlagBits ::
VkFlags -> VkSparseMemoryBindBitmask FlagBit
pattern VkSparseMemoryBindFlagBits n = VkSparseMemoryBindBitmask n
pattern VkSparseMemoryBindFlags ::
VkFlags -> VkSparseMemoryBindBitmask FlagMask
pattern VkSparseMemoryBindFlags n = VkSparseMemoryBindBitmask n
deriving instance Bits (VkSparseMemoryBindBitmask FlagMask)
deriving instance FiniteBits (VkSparseMemoryBindBitmask FlagMask)
deriving instance Integral (VkSparseMemoryBindBitmask FlagMask)
deriving instance Num (VkSparseMemoryBindBitmask FlagMask)
deriving instance Bounded (VkSparseMemoryBindBitmask FlagMask)
deriving instance Enum (VkSparseMemoryBindBitmask FlagMask)
deriving instance Real (VkSparseMemoryBindBitmask FlagMask)
instance Show (VkSparseMemoryBindBitmask a) where
showsPrec _ VK_SPARSE_MEMORY_BIND_METADATA_BIT
= showString "VK_SPARSE_MEMORY_BIND_METADATA_BIT"
showsPrec p (VkSparseMemoryBindBitmask x)
= showParen (p >= 11)
(showString "VkSparseMemoryBindBitmask " . showsPrec 11 x)
instance Read (VkSparseMemoryBindBitmask a) where
readPrec
= parens
(choose
[("VK_SPARSE_MEMORY_BIND_METADATA_BIT",
pure VK_SPARSE_MEMORY_BIND_METADATA_BIT)]
+++
prec 10
(expectP (Ident "VkSparseMemoryBindBitmask") >>
(VkSparseMemoryBindBitmask <$> step readPrec)))
pattern VK_SPARSE_MEMORY_BIND_METADATA_BIT ::
VkSparseMemoryBindBitmask a
pattern VK_SPARSE_MEMORY_BIND_METADATA_BIT =
VkSparseMemoryBindBitmask 1