{-# 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.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 Foreign.Storable (Storable) 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) 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) 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))) -- | Queue supports graphics operations -- -- bitpos = @0@ pattern VK_QUEUE_GRAPHICS_BIT :: VkQueueBitmask a pattern VK_QUEUE_GRAPHICS_BIT = VkQueueBitmask 1 -- | Queue supports compute operations -- -- bitpos = @1@ pattern VK_QUEUE_COMPUTE_BIT :: VkQueueBitmask a pattern VK_QUEUE_COMPUTE_BIT = VkQueueBitmask 2 -- | Queue supports transfer operations -- -- bitpos = @2@ pattern VK_QUEUE_TRANSFER_BIT :: VkQueueBitmask a pattern VK_QUEUE_TRANSFER_BIT = VkQueueBitmask 4 -- | Queue supports sparse resource memory management operations -- -- bitpos = @3@ pattern VK_QUEUE_SPARSE_BINDING_BIT :: VkQueueBitmask a pattern VK_QUEUE_SPARSE_BINDING_BIT = VkQueueBitmask 8 -- | type = @enum@ -- -- newtype VkQueueGlobalPriorityEXT = VkQueueGlobalPriorityEXT Int32 deriving (Eq, Ord, Enum, Storable) 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