{-# 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.Shader
(VkShaderInfoTypeAMD(VkShaderInfoTypeAMD,
VK_SHADER_INFO_TYPE_STATISTICS_AMD, VK_SHADER_INFO_TYPE_BINARY_AMD,
VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD),
VkShaderStageBitmask(VkShaderStageBitmask, VkShaderStageFlags,
VkShaderStageFlagBits, VK_SHADER_STAGE_VERTEX_BIT,
VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT,
VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT,
VK_SHADER_STAGE_GEOMETRY_BIT, VK_SHADER_STAGE_FRAGMENT_BIT,
VK_SHADER_STAGE_COMPUTE_BIT, VK_SHADER_STAGE_ALL_GRAPHICS,
VK_SHADER_STAGE_ALL),
VkShaderStageFlags, VkShaderStageFlagBits)
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 VkShaderInfoTypeAMD = VkShaderInfoTypeAMD Int32
deriving (Eq, Ord, Enum, Storable)
instance Show VkShaderInfoTypeAMD where
showsPrec _ VK_SHADER_INFO_TYPE_STATISTICS_AMD
= showString "VK_SHADER_INFO_TYPE_STATISTICS_AMD"
showsPrec _ VK_SHADER_INFO_TYPE_BINARY_AMD
= showString "VK_SHADER_INFO_TYPE_BINARY_AMD"
showsPrec _ VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD
= showString "VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD"
showsPrec p (VkShaderInfoTypeAMD x)
= showParen (p >= 11)
(showString "VkShaderInfoTypeAMD " . showsPrec 11 x)
instance Read VkShaderInfoTypeAMD where
readPrec
= parens
(choose
[("VK_SHADER_INFO_TYPE_STATISTICS_AMD",
pure VK_SHADER_INFO_TYPE_STATISTICS_AMD),
("VK_SHADER_INFO_TYPE_BINARY_AMD",
pure VK_SHADER_INFO_TYPE_BINARY_AMD),
("VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD",
pure VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD)]
+++
prec 10
(expectP (Ident "VkShaderInfoTypeAMD") >>
(VkShaderInfoTypeAMD <$> step readPrec)))
pattern VK_SHADER_INFO_TYPE_STATISTICS_AMD :: VkShaderInfoTypeAMD
pattern VK_SHADER_INFO_TYPE_STATISTICS_AMD = VkShaderInfoTypeAMD 0
pattern VK_SHADER_INFO_TYPE_BINARY_AMD :: VkShaderInfoTypeAMD
pattern VK_SHADER_INFO_TYPE_BINARY_AMD = VkShaderInfoTypeAMD 1
pattern VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD :: VkShaderInfoTypeAMD
pattern VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = VkShaderInfoTypeAMD 2
newtype VkShaderStageBitmask (a ::
FlagType) = VkShaderStageBitmask VkFlags
deriving (Eq, Ord, Storable)
type VkShaderStageFlags = VkShaderStageBitmask FlagMask
type VkShaderStageFlagBits = VkShaderStageBitmask FlagBit
pattern VkShaderStageFlagBits ::
VkFlags -> VkShaderStageBitmask FlagBit
pattern VkShaderStageFlagBits n = VkShaderStageBitmask n
pattern VkShaderStageFlags ::
VkFlags -> VkShaderStageBitmask FlagMask
pattern VkShaderStageFlags n = VkShaderStageBitmask n
deriving instance Bits (VkShaderStageBitmask FlagMask)
deriving instance FiniteBits (VkShaderStageBitmask FlagMask)
instance Show (VkShaderStageBitmask a) where
showsPrec _ VK_SHADER_STAGE_VERTEX_BIT
= showString "VK_SHADER_STAGE_VERTEX_BIT"
showsPrec _ VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT
= showString "VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT"
showsPrec _ VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT
= showString "VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT"
showsPrec _ VK_SHADER_STAGE_GEOMETRY_BIT
= showString "VK_SHADER_STAGE_GEOMETRY_BIT"
showsPrec _ VK_SHADER_STAGE_FRAGMENT_BIT
= showString "VK_SHADER_STAGE_FRAGMENT_BIT"
showsPrec _ VK_SHADER_STAGE_COMPUTE_BIT
= showString "VK_SHADER_STAGE_COMPUTE_BIT"
showsPrec _ VK_SHADER_STAGE_ALL_GRAPHICS
= showString "VK_SHADER_STAGE_ALL_GRAPHICS"
showsPrec _ VK_SHADER_STAGE_ALL = showString "VK_SHADER_STAGE_ALL"
showsPrec p (VkShaderStageBitmask x)
= showParen (p >= 11)
(showString "VkShaderStageBitmask " . showsPrec 11 x)
instance Read (VkShaderStageBitmask a) where
readPrec
= parens
(choose
[("VK_SHADER_STAGE_VERTEX_BIT", pure VK_SHADER_STAGE_VERTEX_BIT),
("VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT",
pure VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT),
("VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT",
pure VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT),
("VK_SHADER_STAGE_GEOMETRY_BIT",
pure VK_SHADER_STAGE_GEOMETRY_BIT),
("VK_SHADER_STAGE_FRAGMENT_BIT",
pure VK_SHADER_STAGE_FRAGMENT_BIT),
("VK_SHADER_STAGE_COMPUTE_BIT", pure VK_SHADER_STAGE_COMPUTE_BIT),
("VK_SHADER_STAGE_ALL_GRAPHICS",
pure VK_SHADER_STAGE_ALL_GRAPHICS),
("VK_SHADER_STAGE_ALL", pure VK_SHADER_STAGE_ALL)]
+++
prec 10
(expectP (Ident "VkShaderStageBitmask") >>
(VkShaderStageBitmask <$> step readPrec)))
pattern VK_SHADER_STAGE_VERTEX_BIT :: VkShaderStageBitmask a
pattern VK_SHADER_STAGE_VERTEX_BIT = VkShaderStageBitmask 1
pattern VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT ::
VkShaderStageBitmask a
pattern VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT =
VkShaderStageBitmask 2
pattern VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT ::
VkShaderStageBitmask a
pattern VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT =
VkShaderStageBitmask 4
pattern VK_SHADER_STAGE_GEOMETRY_BIT :: VkShaderStageBitmask a
pattern VK_SHADER_STAGE_GEOMETRY_BIT = VkShaderStageBitmask 8
pattern VK_SHADER_STAGE_FRAGMENT_BIT :: VkShaderStageBitmask a
pattern VK_SHADER_STAGE_FRAGMENT_BIT = VkShaderStageBitmask 16
pattern VK_SHADER_STAGE_COMPUTE_BIT :: VkShaderStageBitmask a
pattern VK_SHADER_STAGE_COMPUTE_BIT = VkShaderStageBitmask 32
pattern VK_SHADER_STAGE_ALL_GRAPHICS :: VkShaderStageBitmask a
pattern VK_SHADER_STAGE_ALL_GRAPHICS = VkShaderStageBitmask 31
pattern VK_SHADER_STAGE_ALL :: VkShaderStageBitmask a
pattern VK_SHADER_STAGE_ALL = VkShaderStageBitmask 2147483647