{-# 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.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 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 VkSparseImageFormatBitmask (a ::
FlagType) = VkSparseImageFormatBitmask VkFlags
deriving (Eq, Ord, Storable)
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)
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)
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)
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