{-# 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.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 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 VkQueryControlBitmask (a ::
FlagType) = VkQueryControlBitmask VkFlags
deriving (Eq, Ord, Storable)
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)
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)
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)
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, Enum, Bits, FiniteBits, Storable)
instance Show VkQueryPoolCreateFlagBits where
{-# INLINE showsPrec #-}
showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)
instance Read VkQueryPoolCreateFlagBits where
{-# INLINE readsPrec #-}
readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
newtype VkQueryResultBitmask (a ::
FlagType) = VkQueryResultBitmask VkFlags
deriving (Eq, Ord, Storable)
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)
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, Enum, Storable)
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