{-# 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.Queue
(VkQueueBitmask(VkQueueBitmask, VkQueueFlags, VkQueueFlagBits,
VK_QUEUE_GRAPHICS_BIT, VK_QUEUE_COMPUTE_BIT, VK_QUEUE_TRANSFER_BIT,
VK_QUEUE_SPARSE_BINDING_BIT),
VkQueueFlags, VkQueueFlagBits,
VkQueueGlobalPriorityEXT(VkQueueGlobalPriorityEXT,
VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT,
VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT,
VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT,
VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT))
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 VkQueueBitmask (a :: FlagType) = VkQueueBitmask VkFlags
deriving (Eq, Ord, Storable, Data, Generic)
type VkQueueFlags = VkQueueBitmask FlagMask
type VkQueueFlagBits = VkQueueBitmask FlagBit
pattern VkQueueFlagBits :: VkFlags -> VkQueueBitmask FlagBit
pattern VkQueueFlagBits n = VkQueueBitmask n
pattern VkQueueFlags :: VkFlags -> VkQueueBitmask FlagMask
pattern VkQueueFlags n = VkQueueBitmask n
deriving instance Bits (VkQueueBitmask FlagMask)
deriving instance FiniteBits (VkQueueBitmask FlagMask)
deriving instance Integral (VkQueueBitmask FlagMask)
deriving instance Num (VkQueueBitmask FlagMask)
deriving instance Bounded (VkQueueBitmask FlagMask)
deriving instance Enum (VkQueueBitmask FlagMask)
deriving instance Real (VkQueueBitmask FlagMask)
instance Show (VkQueueBitmask a) where
showsPrec _ VK_QUEUE_GRAPHICS_BIT
= showString "VK_QUEUE_GRAPHICS_BIT"
showsPrec _ VK_QUEUE_COMPUTE_BIT
= showString "VK_QUEUE_COMPUTE_BIT"
showsPrec _ VK_QUEUE_TRANSFER_BIT
= showString "VK_QUEUE_TRANSFER_BIT"
showsPrec _ VK_QUEUE_SPARSE_BINDING_BIT
= showString "VK_QUEUE_SPARSE_BINDING_BIT"
showsPrec p (VkQueueBitmask x)
= showParen (p >= 11)
(showString "VkQueueBitmask " . showsPrec 11 x)
instance Read (VkQueueBitmask a) where
readPrec
= parens
(choose
[("VK_QUEUE_GRAPHICS_BIT", pure VK_QUEUE_GRAPHICS_BIT),
("VK_QUEUE_COMPUTE_BIT", pure VK_QUEUE_COMPUTE_BIT),
("VK_QUEUE_TRANSFER_BIT", pure VK_QUEUE_TRANSFER_BIT),
("VK_QUEUE_SPARSE_BINDING_BIT", pure VK_QUEUE_SPARSE_BINDING_BIT)]
+++
prec 10
(expectP (Ident "VkQueueBitmask") >>
(VkQueueBitmask <$> step readPrec)))
pattern VK_QUEUE_GRAPHICS_BIT :: VkQueueBitmask a
pattern VK_QUEUE_GRAPHICS_BIT = VkQueueBitmask 1
pattern VK_QUEUE_COMPUTE_BIT :: VkQueueBitmask a
pattern VK_QUEUE_COMPUTE_BIT = VkQueueBitmask 2
pattern VK_QUEUE_TRANSFER_BIT :: VkQueueBitmask a
pattern VK_QUEUE_TRANSFER_BIT = VkQueueBitmask 4
pattern VK_QUEUE_SPARSE_BINDING_BIT :: VkQueueBitmask a
pattern VK_QUEUE_SPARSE_BINDING_BIT = VkQueueBitmask 8
newtype VkQueueGlobalPriorityEXT = VkQueueGlobalPriorityEXT Int32
deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)
instance Show VkQueueGlobalPriorityEXT where
showsPrec _ VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT
= showString "VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT"
showsPrec _ VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT
= showString "VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT"
showsPrec _ VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT
= showString "VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT"
showsPrec _ VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT
= showString "VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT"
showsPrec p (VkQueueGlobalPriorityEXT x)
= showParen (p >= 11)
(showString "VkQueueGlobalPriorityEXT " . showsPrec 11 x)
instance Read VkQueueGlobalPriorityEXT where
readPrec
= parens
(choose
[("VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT",
pure VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT),
("VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT",
pure VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT),
("VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT",
pure VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT),
("VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT",
pure VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT)]
+++
prec 10
(expectP (Ident "VkQueueGlobalPriorityEXT") >>
(VkQueueGlobalPriorityEXT <$> step readPrec)))
pattern VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT ::
VkQueueGlobalPriorityEXT
pattern VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT =
VkQueueGlobalPriorityEXT 128
pattern VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT ::
VkQueueGlobalPriorityEXT
pattern VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT =
VkQueueGlobalPriorityEXT 256
pattern VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT ::
VkQueueGlobalPriorityEXT
pattern VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT =
VkQueueGlobalPriorityEXT 512
pattern VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT ::
VkQueueGlobalPriorityEXT
pattern VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT =
VkQueueGlobalPriorityEXT 1024