{-# 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.Query
(VkQueryControlBitmask(VkQueryControlBitmask, VkQueryControlFlags,
VkQueryControlFlagBits, VK_QUERY_CONTROL_PRECISE_BIT),
VkQueryControlFlags, VkQueryControlFlagBits,
VkQueryPipelineStatisticBitmask(VkQueryPipelineStatisticBitmask,
VkQueryPipelineStatisticFlags,
VkQueryPipelineStatisticFlagBits,
VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT,
VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT,
VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT,
VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT,
VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT,
VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT,
VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT,
VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT,
VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT,
VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT,
VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT),
VkQueryPipelineStatisticFlags, VkQueryPipelineStatisticFlagBits,
VkQueryPoolCreateFlagBits(..),
VkQueryResultBitmask(VkQueryResultBitmask, VkQueryResultFlags,
VkQueryResultFlagBits, VK_QUERY_RESULT_64_BIT,
VK_QUERY_RESULT_WAIT_BIT, VK_QUERY_RESULT_WITH_AVAILABILITY_BIT,
VK_QUERY_RESULT_PARTIAL_BIT),
VkQueryResultFlags, VkQueryResultFlagBits,
VkQueryType(VkQueryType, VK_QUERY_TYPE_OCCLUSION,
VK_QUERY_TYPE_PIPELINE_STATISTICS, VK_QUERY_TYPE_TIMESTAMP))
where
import Data.Bits (Bits, FiniteBits)
import Data.Coerce (coerce)
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 VkQueryControlBitmask (a ::
FlagType) = VkQueryControlBitmask VkFlags
deriving (Eq, Ord, Storable, Data, Generic)
type VkQueryControlFlags = VkQueryControlBitmask FlagMask
type VkQueryControlFlagBits = VkQueryControlBitmask FlagBit
pattern VkQueryControlFlagBits ::
VkFlags -> VkQueryControlBitmask FlagBit
pattern VkQueryControlFlagBits n = VkQueryControlBitmask n
pattern VkQueryControlFlags ::
VkFlags -> VkQueryControlBitmask FlagMask
pattern VkQueryControlFlags n = VkQueryControlBitmask n
deriving instance Bits (VkQueryControlBitmask FlagMask)
deriving instance FiniteBits (VkQueryControlBitmask FlagMask)
deriving instance Integral (VkQueryControlBitmask FlagMask)
deriving instance Num (VkQueryControlBitmask FlagMask)
deriving instance Bounded (VkQueryControlBitmask FlagMask)
deriving instance Enum (VkQueryControlBitmask FlagMask)
deriving instance Real (VkQueryControlBitmask FlagMask)
instance Show (VkQueryControlBitmask a) where
showsPrec _ VK_QUERY_CONTROL_PRECISE_BIT
= showString "VK_QUERY_CONTROL_PRECISE_BIT"
showsPrec p (VkQueryControlBitmask x)
= showParen (p >= 11)
(showString "VkQueryControlBitmask " . showsPrec 11 x)
instance Read (VkQueryControlBitmask a) where
readPrec
= parens
(choose
[("VK_QUERY_CONTROL_PRECISE_BIT",
pure VK_QUERY_CONTROL_PRECISE_BIT)]
+++
prec 10
(expectP (Ident "VkQueryControlBitmask") >>
(VkQueryControlBitmask <$> step readPrec)))
pattern VK_QUERY_CONTROL_PRECISE_BIT :: VkQueryControlBitmask a
pattern VK_QUERY_CONTROL_PRECISE_BIT = VkQueryControlBitmask 1
newtype VkQueryPipelineStatisticBitmask (a ::
FlagType) = VkQueryPipelineStatisticBitmask VkFlags
deriving (Eq, Ord, Storable, Data, Generic)
type VkQueryPipelineStatisticFlags =
VkQueryPipelineStatisticBitmask FlagMask
type VkQueryPipelineStatisticFlagBits =
VkQueryPipelineStatisticBitmask FlagBit
pattern VkQueryPipelineStatisticFlagBits ::
VkFlags -> VkQueryPipelineStatisticBitmask FlagBit
pattern VkQueryPipelineStatisticFlagBits n =
VkQueryPipelineStatisticBitmask n
pattern VkQueryPipelineStatisticFlags ::
VkFlags -> VkQueryPipelineStatisticBitmask FlagMask
pattern VkQueryPipelineStatisticFlags n =
VkQueryPipelineStatisticBitmask n
deriving instance Bits (VkQueryPipelineStatisticBitmask FlagMask)
deriving instance
FiniteBits (VkQueryPipelineStatisticBitmask FlagMask)
deriving instance
Integral (VkQueryPipelineStatisticBitmask FlagMask)
deriving instance Num (VkQueryPipelineStatisticBitmask FlagMask)
deriving instance
Bounded (VkQueryPipelineStatisticBitmask FlagMask)
deriving instance Enum (VkQueryPipelineStatisticBitmask FlagMask)
deriving instance Real (VkQueryPipelineStatisticBitmask FlagMask)
instance Show (VkQueryPipelineStatisticBitmask a) where
showsPrec _ VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT
= showString
"VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT"
showsPrec _
VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT
= showString
"VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT"
showsPrec _
VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT
= showString
"VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT"
showsPrec _
VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT
= showString
"VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT"
showsPrec _
VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT
= showString
"VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT"
showsPrec _ VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT
= showString "VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT"
showsPrec _ VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT
= showString "VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT"
showsPrec _
VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT
= showString
"VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT"
showsPrec _
VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT
= showString
"VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT"
showsPrec _
VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT
= showString
"VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT"
showsPrec _
VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT
= showString
"VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT"
showsPrec p (VkQueryPipelineStatisticBitmask x)
= showParen (p >= 11)
(showString "VkQueryPipelineStatisticBitmask " . showsPrec 11 x)
instance Read (VkQueryPipelineStatisticBitmask a) where
readPrec
= parens
(choose
[("VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT",
pure VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT),
("VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT",
pure VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT),
("VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT",
pure VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT),
("VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT",
pure VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT),
("VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT",
pure VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT),
("VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT",
pure VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT),
("VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT",
pure VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT),
("VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT",
pure VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT),
("VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT",
pure
VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT),
("VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT",
pure
VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT),
("VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT",
pure VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT)]
+++
prec 10
(expectP (Ident "VkQueryPipelineStatisticBitmask") >>
(VkQueryPipelineStatisticBitmask <$> step readPrec)))
pattern VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT ::
VkQueryPipelineStatisticBitmask a
pattern VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT =
VkQueryPipelineStatisticBitmask 1
pattern VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT
:: VkQueryPipelineStatisticBitmask a
pattern VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT =
VkQueryPipelineStatisticBitmask 2
pattern VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT
:: VkQueryPipelineStatisticBitmask a
pattern VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT =
VkQueryPipelineStatisticBitmask 4
pattern VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT
:: VkQueryPipelineStatisticBitmask a
pattern VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT
= VkQueryPipelineStatisticBitmask 8
pattern VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT
:: VkQueryPipelineStatisticBitmask a
pattern VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT
= VkQueryPipelineStatisticBitmask 16
pattern VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT ::
VkQueryPipelineStatisticBitmask a
pattern VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT =
VkQueryPipelineStatisticBitmask 32
pattern VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT ::
VkQueryPipelineStatisticBitmask a
pattern VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT =
VkQueryPipelineStatisticBitmask 64
pattern VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT
:: VkQueryPipelineStatisticBitmask a
pattern VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT
= VkQueryPipelineStatisticBitmask 128
pattern VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT
:: VkQueryPipelineStatisticBitmask a
pattern VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT
= VkQueryPipelineStatisticBitmask 256
pattern VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT
:: VkQueryPipelineStatisticBitmask a
pattern VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT
= VkQueryPipelineStatisticBitmask 512
pattern VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT
:: VkQueryPipelineStatisticBitmask a
pattern VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT
= VkQueryPipelineStatisticBitmask 1024
newtype VkQueryPoolCreateFlagBits = VkQueryPoolCreateFlagBits VkFlags
deriving (Eq, Ord, Num, Bounded, Enum, Integral, Bits,
FiniteBits, Storable, Real, Data, Generic)
instance Show VkQueryPoolCreateFlagBits where
{-# INLINE show #-}
show (VkQueryPoolCreateFlagBits x) = show x
instance Read VkQueryPoolCreateFlagBits where
{-# INLINE readsPrec #-}
readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
newtype VkQueryResultBitmask (a ::
FlagType) = VkQueryResultBitmask VkFlags
deriving (Eq, Ord, Storable, Data, Generic)
type VkQueryResultFlags = VkQueryResultBitmask FlagMask
type VkQueryResultFlagBits = VkQueryResultBitmask FlagBit
pattern VkQueryResultFlagBits ::
VkFlags -> VkQueryResultBitmask FlagBit
pattern VkQueryResultFlagBits n = VkQueryResultBitmask n
pattern VkQueryResultFlags ::
VkFlags -> VkQueryResultBitmask FlagMask
pattern VkQueryResultFlags n = VkQueryResultBitmask n
deriving instance Bits (VkQueryResultBitmask FlagMask)
deriving instance FiniteBits (VkQueryResultBitmask FlagMask)
deriving instance Integral (VkQueryResultBitmask FlagMask)
deriving instance Num (VkQueryResultBitmask FlagMask)
deriving instance Bounded (VkQueryResultBitmask FlagMask)
deriving instance Enum (VkQueryResultBitmask FlagMask)
deriving instance Real (VkQueryResultBitmask FlagMask)
instance Show (VkQueryResultBitmask a) where
showsPrec _ VK_QUERY_RESULT_64_BIT
= showString "VK_QUERY_RESULT_64_BIT"
showsPrec _ VK_QUERY_RESULT_WAIT_BIT
= showString "VK_QUERY_RESULT_WAIT_BIT"
showsPrec _ VK_QUERY_RESULT_WITH_AVAILABILITY_BIT
= showString "VK_QUERY_RESULT_WITH_AVAILABILITY_BIT"
showsPrec _ VK_QUERY_RESULT_PARTIAL_BIT
= showString "VK_QUERY_RESULT_PARTIAL_BIT"
showsPrec p (VkQueryResultBitmask x)
= showParen (p >= 11)
(showString "VkQueryResultBitmask " . showsPrec 11 x)
instance Read (VkQueryResultBitmask a) where
readPrec
= parens
(choose
[("VK_QUERY_RESULT_64_BIT", pure VK_QUERY_RESULT_64_BIT),
("VK_QUERY_RESULT_WAIT_BIT", pure VK_QUERY_RESULT_WAIT_BIT),
("VK_QUERY_RESULT_WITH_AVAILABILITY_BIT",
pure VK_QUERY_RESULT_WITH_AVAILABILITY_BIT),
("VK_QUERY_RESULT_PARTIAL_BIT", pure VK_QUERY_RESULT_PARTIAL_BIT)]
+++
prec 10
(expectP (Ident "VkQueryResultBitmask") >>
(VkQueryResultBitmask <$> step readPrec)))
pattern VK_QUERY_RESULT_64_BIT :: VkQueryResultBitmask a
pattern VK_QUERY_RESULT_64_BIT = VkQueryResultBitmask 1
pattern VK_QUERY_RESULT_WAIT_BIT :: VkQueryResultBitmask a
pattern VK_QUERY_RESULT_WAIT_BIT = VkQueryResultBitmask 2
pattern VK_QUERY_RESULT_WITH_AVAILABILITY_BIT ::
VkQueryResultBitmask a
pattern VK_QUERY_RESULT_WITH_AVAILABILITY_BIT =
VkQueryResultBitmask 4
pattern VK_QUERY_RESULT_PARTIAL_BIT :: VkQueryResultBitmask a
pattern VK_QUERY_RESULT_PARTIAL_BIT = VkQueryResultBitmask 8
newtype VkQueryType = VkQueryType Int32
deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)
instance Show VkQueryType where
showsPrec _ VK_QUERY_TYPE_OCCLUSION
= showString "VK_QUERY_TYPE_OCCLUSION"
showsPrec _ VK_QUERY_TYPE_PIPELINE_STATISTICS
= showString "VK_QUERY_TYPE_PIPELINE_STATISTICS"
showsPrec _ VK_QUERY_TYPE_TIMESTAMP
= showString "VK_QUERY_TYPE_TIMESTAMP"
showsPrec p (VkQueryType x)
= showParen (p >= 11) (showString "VkQueryType " . showsPrec 11 x)
instance Read VkQueryType where
readPrec
= parens
(choose
[("VK_QUERY_TYPE_OCCLUSION", pure VK_QUERY_TYPE_OCCLUSION),
("VK_QUERY_TYPE_PIPELINE_STATISTICS",
pure VK_QUERY_TYPE_PIPELINE_STATISTICS),
("VK_QUERY_TYPE_TIMESTAMP", pure VK_QUERY_TYPE_TIMESTAMP)]
+++
prec 10
(expectP (Ident "VkQueryType") >> (VkQueryType <$> step readPrec)))
pattern VK_QUERY_TYPE_OCCLUSION :: VkQueryType
pattern VK_QUERY_TYPE_OCCLUSION = VkQueryType 0
pattern VK_QUERY_TYPE_PIPELINE_STATISTICS :: VkQueryType
pattern VK_QUERY_TYPE_PIPELINE_STATISTICS = VkQueryType 1
pattern VK_QUERY_TYPE_TIMESTAMP :: VkQueryType
pattern VK_QUERY_TYPE_TIMESTAMP = VkQueryType 2