{-# language CPP #-}
module Graphics.Vulkan.Core10.Enums.PipelineBindPoint (PipelineBindPoint( PIPELINE_BIND_POINT_GRAPHICS
, PIPELINE_BIND_POINT_COMPUTE
, PIPELINE_BIND_POINT_RAY_TRACING_NV
, ..
)) where
import GHC.Read (choose)
import GHC.Read (expectP)
import GHC.Read (parens)
import GHC.Show (showParen)
import GHC.Show (showString)
import GHC.Show (showsPrec)
import Text.ParserCombinators.ReadPrec ((+++))
import Text.ParserCombinators.ReadPrec (prec)
import Text.ParserCombinators.ReadPrec (step)
import Foreign.Storable (Storable)
import Data.Int (Int32)
import GHC.Read (Read(readPrec))
import Text.Read.Lex (Lexeme(Ident))
import Graphics.Vulkan.Zero (Zero)
newtype PipelineBindPoint = PipelineBindPoint Int32
deriving newtype (Eq, Ord, Storable, Zero)
pattern PIPELINE_BIND_POINT_GRAPHICS = PipelineBindPoint 0
pattern PIPELINE_BIND_POINT_COMPUTE = PipelineBindPoint 1
pattern PIPELINE_BIND_POINT_RAY_TRACING_NV = PipelineBindPoint 1000165000
{-# complete PIPELINE_BIND_POINT_GRAPHICS,
PIPELINE_BIND_POINT_COMPUTE,
PIPELINE_BIND_POINT_RAY_TRACING_NV :: PipelineBindPoint #-}
instance Show PipelineBindPoint where
showsPrec p = \case
PIPELINE_BIND_POINT_GRAPHICS -> showString "PIPELINE_BIND_POINT_GRAPHICS"
PIPELINE_BIND_POINT_COMPUTE -> showString "PIPELINE_BIND_POINT_COMPUTE"
PIPELINE_BIND_POINT_RAY_TRACING_NV -> showString "PIPELINE_BIND_POINT_RAY_TRACING_NV"
PipelineBindPoint x -> showParen (p >= 11) (showString "PipelineBindPoint " . showsPrec 11 x)
instance Read PipelineBindPoint where
readPrec = parens (choose [("PIPELINE_BIND_POINT_GRAPHICS", pure PIPELINE_BIND_POINT_GRAPHICS)
, ("PIPELINE_BIND_POINT_COMPUTE", pure PIPELINE_BIND_POINT_COMPUTE)
, ("PIPELINE_BIND_POINT_RAY_TRACING_NV", pure PIPELINE_BIND_POINT_RAY_TRACING_NV)]
+++
prec 10 (do
expectP (Ident "PipelineBindPoint")
v <- step readPrec
pure (PipelineBindPoint v)))