module Data.SpirV.Enum.ExecutionMode where
import Data.String (IsString(..))
import Data.Word (Word32)
import Foreign (Storable(..))
import GHC.Read (Read(..))
import Text.ParserCombinators.ReadPrec (pfail)
import qualified GHC.Read as Read
import qualified Text.Read.Lex as Lex
newtype ExecutionMode = ExecutionMode Word32
deriving (ExecutionMode -> ExecutionMode -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ExecutionMode -> ExecutionMode -> Bool
$c/= :: ExecutionMode -> ExecutionMode -> Bool
== :: ExecutionMode -> ExecutionMode -> Bool
$c== :: ExecutionMode -> ExecutionMode -> Bool
Eq, Eq ExecutionMode
ExecutionMode -> ExecutionMode -> Bool
ExecutionMode -> ExecutionMode -> Ordering
ExecutionMode -> ExecutionMode -> ExecutionMode
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: ExecutionMode -> ExecutionMode -> ExecutionMode
$cmin :: ExecutionMode -> ExecutionMode -> ExecutionMode
max :: ExecutionMode -> ExecutionMode -> ExecutionMode
$cmax :: ExecutionMode -> ExecutionMode -> ExecutionMode
>= :: ExecutionMode -> ExecutionMode -> Bool
$c>= :: ExecutionMode -> ExecutionMode -> Bool
> :: ExecutionMode -> ExecutionMode -> Bool
$c> :: ExecutionMode -> ExecutionMode -> Bool
<= :: ExecutionMode -> ExecutionMode -> Bool
$c<= :: ExecutionMode -> ExecutionMode -> Bool
< :: ExecutionMode -> ExecutionMode -> Bool
$c< :: ExecutionMode -> ExecutionMode -> Bool
compare :: ExecutionMode -> ExecutionMode -> Ordering
$ccompare :: ExecutionMode -> ExecutionMode -> Ordering
Ord, Ptr ExecutionMode -> IO ExecutionMode
Ptr ExecutionMode -> Int -> IO ExecutionMode
Ptr ExecutionMode -> Int -> ExecutionMode -> IO ()
Ptr ExecutionMode -> ExecutionMode -> IO ()
ExecutionMode -> Int
forall b. Ptr b -> Int -> IO ExecutionMode
forall b. Ptr b -> Int -> ExecutionMode -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
poke :: Ptr ExecutionMode -> ExecutionMode -> IO ()
$cpoke :: Ptr ExecutionMode -> ExecutionMode -> IO ()
peek :: Ptr ExecutionMode -> IO ExecutionMode
$cpeek :: Ptr ExecutionMode -> IO ExecutionMode
pokeByteOff :: forall b. Ptr b -> Int -> ExecutionMode -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> ExecutionMode -> IO ()
peekByteOff :: forall b. Ptr b -> Int -> IO ExecutionMode
$cpeekByteOff :: forall b. Ptr b -> Int -> IO ExecutionMode
pokeElemOff :: Ptr ExecutionMode -> Int -> ExecutionMode -> IO ()
$cpokeElemOff :: Ptr ExecutionMode -> Int -> ExecutionMode -> IO ()
peekElemOff :: Ptr ExecutionMode -> Int -> IO ExecutionMode
$cpeekElemOff :: Ptr ExecutionMode -> Int -> IO ExecutionMode
alignment :: ExecutionMode -> Int
$calignment :: ExecutionMode -> Int
sizeOf :: ExecutionMode -> Int
$csizeOf :: ExecutionMode -> Int
Storable)
pattern Invocations :: ExecutionMode
pattern $bInvocations :: ExecutionMode
$mInvocations :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
Invocations = ExecutionMode 0
pattern SpacingEqual :: ExecutionMode
pattern $bSpacingEqual :: ExecutionMode
$mSpacingEqual :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
SpacingEqual = ExecutionMode 1
pattern SpacingFractionalEven :: ExecutionMode
pattern $bSpacingFractionalEven :: ExecutionMode
$mSpacingFractionalEven :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
SpacingFractionalEven = ExecutionMode 2
pattern SpacingFractionalOdd :: ExecutionMode
pattern $bSpacingFractionalOdd :: ExecutionMode
$mSpacingFractionalOdd :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
SpacingFractionalOdd = ExecutionMode 3
pattern VertexOrderCw :: ExecutionMode
pattern $bVertexOrderCw :: ExecutionMode
$mVertexOrderCw :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
VertexOrderCw = ExecutionMode 4
pattern VertexOrderCcw :: ExecutionMode
pattern $bVertexOrderCcw :: ExecutionMode
$mVertexOrderCcw :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
VertexOrderCcw = ExecutionMode 5
pattern PixelCenterInteger :: ExecutionMode
pattern $bPixelCenterInteger :: ExecutionMode
$mPixelCenterInteger :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
PixelCenterInteger = ExecutionMode 6
pattern OriginUpperLeft :: ExecutionMode
pattern $bOriginUpperLeft :: ExecutionMode
$mOriginUpperLeft :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
OriginUpperLeft = ExecutionMode 7
pattern OriginLowerLeft :: ExecutionMode
pattern $bOriginLowerLeft :: ExecutionMode
$mOriginLowerLeft :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
OriginLowerLeft = ExecutionMode 8
pattern EarlyFragmentTests :: ExecutionMode
pattern $bEarlyFragmentTests :: ExecutionMode
$mEarlyFragmentTests :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
EarlyFragmentTests = ExecutionMode 9
pattern PointMode :: ExecutionMode
pattern $bPointMode :: ExecutionMode
$mPointMode :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
PointMode = ExecutionMode 10
pattern Xfb :: ExecutionMode
pattern $bXfb :: ExecutionMode
$mXfb :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
Xfb = ExecutionMode 11
pattern DepthReplacing :: ExecutionMode
pattern $bDepthReplacing :: ExecutionMode
$mDepthReplacing :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
DepthReplacing = ExecutionMode 12
pattern DepthGreater :: ExecutionMode
pattern $bDepthGreater :: ExecutionMode
$mDepthGreater :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
DepthGreater = ExecutionMode 14
pattern DepthLess :: ExecutionMode
pattern $bDepthLess :: ExecutionMode
$mDepthLess :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
DepthLess = ExecutionMode 15
pattern DepthUnchanged :: ExecutionMode
pattern $bDepthUnchanged :: ExecutionMode
$mDepthUnchanged :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
DepthUnchanged = ExecutionMode 16
pattern LocalSize :: ExecutionMode
pattern $bLocalSize :: ExecutionMode
$mLocalSize :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
LocalSize = ExecutionMode 17
pattern LocalSizeHint :: ExecutionMode
pattern $bLocalSizeHint :: ExecutionMode
$mLocalSizeHint :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
LocalSizeHint = ExecutionMode 18
pattern InputPoints :: ExecutionMode
pattern $bInputPoints :: ExecutionMode
$mInputPoints :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
InputPoints = ExecutionMode 19
pattern InputLines :: ExecutionMode
pattern $bInputLines :: ExecutionMode
$mInputLines :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
InputLines = ExecutionMode 20
pattern InputLinesAdjacency :: ExecutionMode
pattern $bInputLinesAdjacency :: ExecutionMode
$mInputLinesAdjacency :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
InputLinesAdjacency = ExecutionMode 21
pattern Triangles :: ExecutionMode
pattern $bTriangles :: ExecutionMode
$mTriangles :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
Triangles = ExecutionMode 22
pattern InputTrianglesAdjacency :: ExecutionMode
pattern $bInputTrianglesAdjacency :: ExecutionMode
$mInputTrianglesAdjacency :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
InputTrianglesAdjacency = ExecutionMode 23
pattern Quads :: ExecutionMode
pattern $bQuads :: ExecutionMode
$mQuads :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
Quads = ExecutionMode 24
pattern Isolines :: ExecutionMode
pattern $bIsolines :: ExecutionMode
$mIsolines :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
Isolines = ExecutionMode 25
pattern OutputVertices :: ExecutionMode
pattern $bOutputVertices :: ExecutionMode
$mOutputVertices :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
OutputVertices = ExecutionMode 26
pattern OutputPoints :: ExecutionMode
pattern $bOutputPoints :: ExecutionMode
$mOutputPoints :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
OutputPoints = ExecutionMode 27
pattern OutputLineStrip :: ExecutionMode
pattern $bOutputLineStrip :: ExecutionMode
$mOutputLineStrip :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
OutputLineStrip = ExecutionMode 28
pattern OutputTriangleStrip :: ExecutionMode
pattern $bOutputTriangleStrip :: ExecutionMode
$mOutputTriangleStrip :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
OutputTriangleStrip = ExecutionMode 29
pattern VecTypeHint :: ExecutionMode
pattern $bVecTypeHint :: ExecutionMode
$mVecTypeHint :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
VecTypeHint = ExecutionMode 30
pattern ContractionOff :: ExecutionMode
pattern $bContractionOff :: ExecutionMode
$mContractionOff :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
ContractionOff = ExecutionMode 31
pattern Initializer :: ExecutionMode
pattern $bInitializer :: ExecutionMode
$mInitializer :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
Initializer = ExecutionMode 33
pattern Finalizer :: ExecutionMode
pattern $bFinalizer :: ExecutionMode
$mFinalizer :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
Finalizer = ExecutionMode 34
pattern SubgroupSize :: ExecutionMode
pattern $bSubgroupSize :: ExecutionMode
$mSubgroupSize :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
SubgroupSize = ExecutionMode 35
pattern SubgroupsPerWorkgroup :: ExecutionMode
pattern $bSubgroupsPerWorkgroup :: ExecutionMode
$mSubgroupsPerWorkgroup :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
SubgroupsPerWorkgroup = ExecutionMode 36
pattern SubgroupsPerWorkgroupId :: ExecutionMode
pattern $bSubgroupsPerWorkgroupId :: ExecutionMode
$mSubgroupsPerWorkgroupId :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
SubgroupsPerWorkgroupId = ExecutionMode 37
pattern LocalSizeId :: ExecutionMode
pattern $bLocalSizeId :: ExecutionMode
$mLocalSizeId :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
LocalSizeId = ExecutionMode 38
pattern LocalSizeHintId :: ExecutionMode
pattern $bLocalSizeHintId :: ExecutionMode
$mLocalSizeHintId :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
LocalSizeHintId = ExecutionMode 39
pattern SubgroupUniformControlFlowKHR :: ExecutionMode
pattern $bSubgroupUniformControlFlowKHR :: ExecutionMode
$mSubgroupUniformControlFlowKHR :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
SubgroupUniformControlFlowKHR = ExecutionMode 4421
pattern PostDepthCoverage :: ExecutionMode
pattern $bPostDepthCoverage :: ExecutionMode
$mPostDepthCoverage :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
PostDepthCoverage = ExecutionMode 4446
pattern DenormPreserve :: ExecutionMode
pattern $bDenormPreserve :: ExecutionMode
$mDenormPreserve :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
DenormPreserve = ExecutionMode 4459
pattern DenormFlushToZero :: ExecutionMode
pattern $bDenormFlushToZero :: ExecutionMode
$mDenormFlushToZero :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
DenormFlushToZero = ExecutionMode 4460
pattern SignedZeroInfNanPreserve :: ExecutionMode
pattern $bSignedZeroInfNanPreserve :: ExecutionMode
$mSignedZeroInfNanPreserve :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
SignedZeroInfNanPreserve = ExecutionMode 4461
pattern RoundingModeRTE :: ExecutionMode
pattern $bRoundingModeRTE :: ExecutionMode
$mRoundingModeRTE :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
RoundingModeRTE = ExecutionMode 4462
pattern RoundingModeRTZ :: ExecutionMode
pattern $bRoundingModeRTZ :: ExecutionMode
$mRoundingModeRTZ :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
RoundingModeRTZ = ExecutionMode 4463
pattern EarlyAndLateFragmentTestsAMD :: ExecutionMode
pattern $bEarlyAndLateFragmentTestsAMD :: ExecutionMode
$mEarlyAndLateFragmentTestsAMD :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
EarlyAndLateFragmentTestsAMD = ExecutionMode 5017
pattern StencilRefReplacingEXT :: ExecutionMode
pattern $bStencilRefReplacingEXT :: ExecutionMode
$mStencilRefReplacingEXT :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
StencilRefReplacingEXT = ExecutionMode 5027
pattern StencilRefUnchangedFrontAMD :: ExecutionMode
pattern $bStencilRefUnchangedFrontAMD :: ExecutionMode
$mStencilRefUnchangedFrontAMD :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
StencilRefUnchangedFrontAMD = ExecutionMode 5079
pattern StencilRefGreaterFrontAMD :: ExecutionMode
pattern $bStencilRefGreaterFrontAMD :: ExecutionMode
$mStencilRefGreaterFrontAMD :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
StencilRefGreaterFrontAMD = ExecutionMode 5080
pattern StencilRefLessFrontAMD :: ExecutionMode
pattern $bStencilRefLessFrontAMD :: ExecutionMode
$mStencilRefLessFrontAMD :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
StencilRefLessFrontAMD = ExecutionMode 5081
pattern StencilRefUnchangedBackAMD :: ExecutionMode
pattern $bStencilRefUnchangedBackAMD :: ExecutionMode
$mStencilRefUnchangedBackAMD :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
StencilRefUnchangedBackAMD = ExecutionMode 5082
pattern StencilRefGreaterBackAMD :: ExecutionMode
pattern $bStencilRefGreaterBackAMD :: ExecutionMode
$mStencilRefGreaterBackAMD :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
StencilRefGreaterBackAMD = ExecutionMode 5083
pattern StencilRefLessBackAMD :: ExecutionMode
pattern $bStencilRefLessBackAMD :: ExecutionMode
$mStencilRefLessBackAMD :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
StencilRefLessBackAMD = ExecutionMode 5084
pattern OutputLinesEXT :: ExecutionMode
pattern $bOutputLinesEXT :: ExecutionMode
$mOutputLinesEXT :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
OutputLinesEXT = ExecutionMode 5269
pattern OutputLinesNV :: ExecutionMode
pattern $bOutputLinesNV :: ExecutionMode
$mOutputLinesNV :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
OutputLinesNV = ExecutionMode 5269
pattern OutputPrimitivesEXT :: ExecutionMode
pattern $bOutputPrimitivesEXT :: ExecutionMode
$mOutputPrimitivesEXT :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
OutputPrimitivesEXT = ExecutionMode 5270
pattern OutputPrimitivesNV :: ExecutionMode
pattern $bOutputPrimitivesNV :: ExecutionMode
$mOutputPrimitivesNV :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
OutputPrimitivesNV = ExecutionMode 5270
pattern DerivativeGroupQuadsNV :: ExecutionMode
pattern $bDerivativeGroupQuadsNV :: ExecutionMode
$mDerivativeGroupQuadsNV :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
DerivativeGroupQuadsNV = ExecutionMode 5289
pattern DerivativeGroupLinearNV :: ExecutionMode
pattern $bDerivativeGroupLinearNV :: ExecutionMode
$mDerivativeGroupLinearNV :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
DerivativeGroupLinearNV = ExecutionMode 5290
pattern OutputTrianglesEXT :: ExecutionMode
pattern $bOutputTrianglesEXT :: ExecutionMode
$mOutputTrianglesEXT :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
OutputTrianglesEXT = ExecutionMode 5298
pattern OutputTrianglesNV :: ExecutionMode
pattern $bOutputTrianglesNV :: ExecutionMode
$mOutputTrianglesNV :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
OutputTrianglesNV = ExecutionMode 5298
pattern PixelInterlockOrderedEXT :: ExecutionMode
pattern $bPixelInterlockOrderedEXT :: ExecutionMode
$mPixelInterlockOrderedEXT :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
PixelInterlockOrderedEXT = ExecutionMode 5366
pattern PixelInterlockUnorderedEXT :: ExecutionMode
pattern $bPixelInterlockUnorderedEXT :: ExecutionMode
$mPixelInterlockUnorderedEXT :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
PixelInterlockUnorderedEXT = ExecutionMode 5367
pattern SampleInterlockOrderedEXT :: ExecutionMode
pattern $bSampleInterlockOrderedEXT :: ExecutionMode
$mSampleInterlockOrderedEXT :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
SampleInterlockOrderedEXT = ExecutionMode 5368
pattern SampleInterlockUnorderedEXT :: ExecutionMode
pattern $bSampleInterlockUnorderedEXT :: ExecutionMode
$mSampleInterlockUnorderedEXT :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
SampleInterlockUnorderedEXT = ExecutionMode 5369
pattern ShadingRateInterlockOrderedEXT :: ExecutionMode
pattern $bShadingRateInterlockOrderedEXT :: ExecutionMode
$mShadingRateInterlockOrderedEXT :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
ShadingRateInterlockOrderedEXT = ExecutionMode 5370
pattern ShadingRateInterlockUnorderedEXT :: ExecutionMode
pattern $bShadingRateInterlockUnorderedEXT :: ExecutionMode
$mShadingRateInterlockUnorderedEXT :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
ShadingRateInterlockUnorderedEXT = ExecutionMode 5371
pattern SharedLocalMemorySizeINTEL :: ExecutionMode
pattern $bSharedLocalMemorySizeINTEL :: ExecutionMode
$mSharedLocalMemorySizeINTEL :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
SharedLocalMemorySizeINTEL = ExecutionMode 5618
pattern RoundingModeRTPINTEL :: ExecutionMode
pattern $bRoundingModeRTPINTEL :: ExecutionMode
$mRoundingModeRTPINTEL :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
RoundingModeRTPINTEL = ExecutionMode 5620
pattern RoundingModeRTNINTEL :: ExecutionMode
pattern $bRoundingModeRTNINTEL :: ExecutionMode
$mRoundingModeRTNINTEL :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
RoundingModeRTNINTEL = ExecutionMode 5621
pattern FloatingPointModeALTINTEL :: ExecutionMode
pattern $bFloatingPointModeALTINTEL :: ExecutionMode
$mFloatingPointModeALTINTEL :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
FloatingPointModeALTINTEL = ExecutionMode 5622
pattern FloatingPointModeIEEEINTEL :: ExecutionMode
pattern $bFloatingPointModeIEEEINTEL :: ExecutionMode
$mFloatingPointModeIEEEINTEL :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
FloatingPointModeIEEEINTEL = ExecutionMode 5623
pattern MaxWorkgroupSizeINTEL :: ExecutionMode
pattern $bMaxWorkgroupSizeINTEL :: ExecutionMode
$mMaxWorkgroupSizeINTEL :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
MaxWorkgroupSizeINTEL = ExecutionMode 5893
pattern MaxWorkDimINTEL :: ExecutionMode
pattern $bMaxWorkDimINTEL :: ExecutionMode
$mMaxWorkDimINTEL :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
MaxWorkDimINTEL = ExecutionMode 5894
pattern NoGlobalOffsetINTEL :: ExecutionMode
pattern $bNoGlobalOffsetINTEL :: ExecutionMode
$mNoGlobalOffsetINTEL :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
NoGlobalOffsetINTEL = ExecutionMode 5895
pattern NumSIMDWorkitemsINTEL :: ExecutionMode
pattern $bNumSIMDWorkitemsINTEL :: ExecutionMode
$mNumSIMDWorkitemsINTEL :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
NumSIMDWorkitemsINTEL = ExecutionMode 5896
pattern SchedulerTargetFmaxMhzINTEL :: ExecutionMode
pattern $bSchedulerTargetFmaxMhzINTEL :: ExecutionMode
$mSchedulerTargetFmaxMhzINTEL :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
SchedulerTargetFmaxMhzINTEL = ExecutionMode 5903
pattern StreamingInterfaceINTEL :: ExecutionMode
pattern $bStreamingInterfaceINTEL :: ExecutionMode
$mStreamingInterfaceINTEL :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
StreamingInterfaceINTEL = ExecutionMode 6154
pattern NamedBarrierCountINTEL :: ExecutionMode
pattern $bNamedBarrierCountINTEL :: ExecutionMode
$mNamedBarrierCountINTEL :: forall {r}. ExecutionMode -> ((# #) -> r) -> ((# #) -> r) -> r
NamedBarrierCountINTEL = ExecutionMode 6417
toName :: IsString a => ExecutionMode -> a
toName :: forall a. IsString a => ExecutionMode -> a
toName ExecutionMode
x = case ExecutionMode
x of
ExecutionMode
Invocations -> a
"Invocations"
ExecutionMode
SpacingEqual -> a
"SpacingEqual"
ExecutionMode
SpacingFractionalEven -> a
"SpacingFractionalEven"
ExecutionMode
SpacingFractionalOdd -> a
"SpacingFractionalOdd"
ExecutionMode
VertexOrderCw -> a
"VertexOrderCw"
ExecutionMode
VertexOrderCcw -> a
"VertexOrderCcw"
ExecutionMode
PixelCenterInteger -> a
"PixelCenterInteger"
ExecutionMode
OriginUpperLeft -> a
"OriginUpperLeft"
ExecutionMode
OriginLowerLeft -> a
"OriginLowerLeft"
ExecutionMode
EarlyFragmentTests -> a
"EarlyFragmentTests"
ExecutionMode
PointMode -> a
"PointMode"
ExecutionMode
Xfb -> a
"Xfb"
ExecutionMode
DepthReplacing -> a
"DepthReplacing"
ExecutionMode
DepthGreater -> a
"DepthGreater"
ExecutionMode
DepthLess -> a
"DepthLess"
ExecutionMode
DepthUnchanged -> a
"DepthUnchanged"
ExecutionMode
LocalSize -> a
"LocalSize"
ExecutionMode
LocalSizeHint -> a
"LocalSizeHint"
ExecutionMode
InputPoints -> a
"InputPoints"
ExecutionMode
InputLines -> a
"InputLines"
ExecutionMode
InputLinesAdjacency -> a
"InputLinesAdjacency"
ExecutionMode
Triangles -> a
"Triangles"
ExecutionMode
InputTrianglesAdjacency -> a
"InputTrianglesAdjacency"
ExecutionMode
Quads -> a
"Quads"
ExecutionMode
Isolines -> a
"Isolines"
ExecutionMode
OutputVertices -> a
"OutputVertices"
ExecutionMode
OutputPoints -> a
"OutputPoints"
ExecutionMode
OutputLineStrip -> a
"OutputLineStrip"
ExecutionMode
OutputTriangleStrip -> a
"OutputTriangleStrip"
ExecutionMode
VecTypeHint -> a
"VecTypeHint"
ExecutionMode
ContractionOff -> a
"ContractionOff"
ExecutionMode
Initializer -> a
"Initializer"
ExecutionMode
Finalizer -> a
"Finalizer"
ExecutionMode
SubgroupSize -> a
"SubgroupSize"
ExecutionMode
SubgroupsPerWorkgroup -> a
"SubgroupsPerWorkgroup"
ExecutionMode
SubgroupsPerWorkgroupId -> a
"SubgroupsPerWorkgroupId"
ExecutionMode
LocalSizeId -> a
"LocalSizeId"
ExecutionMode
LocalSizeHintId -> a
"LocalSizeHintId"
ExecutionMode
SubgroupUniformControlFlowKHR -> a
"SubgroupUniformControlFlowKHR"
ExecutionMode
PostDepthCoverage -> a
"PostDepthCoverage"
ExecutionMode
DenormPreserve -> a
"DenormPreserve"
ExecutionMode
DenormFlushToZero -> a
"DenormFlushToZero"
ExecutionMode
SignedZeroInfNanPreserve -> a
"SignedZeroInfNanPreserve"
ExecutionMode
RoundingModeRTE -> a
"RoundingModeRTE"
ExecutionMode
RoundingModeRTZ -> a
"RoundingModeRTZ"
ExecutionMode
EarlyAndLateFragmentTestsAMD -> a
"EarlyAndLateFragmentTestsAMD"
ExecutionMode
StencilRefReplacingEXT -> a
"StencilRefReplacingEXT"
ExecutionMode
StencilRefUnchangedFrontAMD -> a
"StencilRefUnchangedFrontAMD"
ExecutionMode
StencilRefGreaterFrontAMD -> a
"StencilRefGreaterFrontAMD"
ExecutionMode
StencilRefLessFrontAMD -> a
"StencilRefLessFrontAMD"
ExecutionMode
StencilRefUnchangedBackAMD -> a
"StencilRefUnchangedBackAMD"
ExecutionMode
StencilRefGreaterBackAMD -> a
"StencilRefGreaterBackAMD"
ExecutionMode
StencilRefLessBackAMD -> a
"StencilRefLessBackAMD"
ExecutionMode
OutputLinesEXT -> a
"OutputLinesEXT"
ExecutionMode
OutputLinesNV -> a
"OutputLinesNV"
ExecutionMode
OutputPrimitivesEXT -> a
"OutputPrimitivesEXT"
ExecutionMode
OutputPrimitivesNV -> a
"OutputPrimitivesNV"
ExecutionMode
DerivativeGroupQuadsNV -> a
"DerivativeGroupQuadsNV"
ExecutionMode
DerivativeGroupLinearNV -> a
"DerivativeGroupLinearNV"
ExecutionMode
OutputTrianglesEXT -> a
"OutputTrianglesEXT"
ExecutionMode
OutputTrianglesNV -> a
"OutputTrianglesNV"
ExecutionMode
PixelInterlockOrderedEXT -> a
"PixelInterlockOrderedEXT"
ExecutionMode
PixelInterlockUnorderedEXT -> a
"PixelInterlockUnorderedEXT"
ExecutionMode
SampleInterlockOrderedEXT -> a
"SampleInterlockOrderedEXT"
ExecutionMode
SampleInterlockUnorderedEXT -> a
"SampleInterlockUnorderedEXT"
ExecutionMode
ShadingRateInterlockOrderedEXT -> a
"ShadingRateInterlockOrderedEXT"
ExecutionMode
ShadingRateInterlockUnorderedEXT -> a
"ShadingRateInterlockUnorderedEXT"
ExecutionMode
SharedLocalMemorySizeINTEL -> a
"SharedLocalMemorySizeINTEL"
ExecutionMode
RoundingModeRTPINTEL -> a
"RoundingModeRTPINTEL"
ExecutionMode
RoundingModeRTNINTEL -> a
"RoundingModeRTNINTEL"
ExecutionMode
FloatingPointModeALTINTEL -> a
"FloatingPointModeALTINTEL"
ExecutionMode
FloatingPointModeIEEEINTEL -> a
"FloatingPointModeIEEEINTEL"
ExecutionMode
MaxWorkgroupSizeINTEL -> a
"MaxWorkgroupSizeINTEL"
ExecutionMode
MaxWorkDimINTEL -> a
"MaxWorkDimINTEL"
ExecutionMode
NoGlobalOffsetINTEL -> a
"NoGlobalOffsetINTEL"
ExecutionMode
NumSIMDWorkitemsINTEL -> a
"NumSIMDWorkitemsINTEL"
ExecutionMode
SchedulerTargetFmaxMhzINTEL -> a
"SchedulerTargetFmaxMhzINTEL"
ExecutionMode
StreamingInterfaceINTEL -> a
"StreamingInterfaceINTEL"
ExecutionMode
NamedBarrierCountINTEL -> a
"NamedBarrierCountINTEL"
ExecutionMode
unknown -> forall a. IsString a => [Char] -> a
fromString forall a b. (a -> b) -> a -> b
$ [Char]
"ExecutionMode " forall a. [a] -> [a] -> [a]
++ forall a. Show a => a -> [Char]
show ExecutionMode
unknown
instance Show ExecutionMode where
show :: ExecutionMode -> [Char]
show = forall a. IsString a => ExecutionMode -> a
toName
fromName :: (IsString a, Eq a) => a -> Maybe ExecutionMode
fromName :: forall a. (IsString a, Eq a) => a -> Maybe ExecutionMode
fromName a
x = case a
x of
a
"Invocations" -> forall a. a -> Maybe a
Just ExecutionMode
Invocations
a
"SpacingEqual" -> forall a. a -> Maybe a
Just ExecutionMode
SpacingEqual
a
"SpacingFractionalEven" -> forall a. a -> Maybe a
Just ExecutionMode
SpacingFractionalEven
a
"SpacingFractionalOdd" -> forall a. a -> Maybe a
Just ExecutionMode
SpacingFractionalOdd
a
"VertexOrderCw" -> forall a. a -> Maybe a
Just ExecutionMode
VertexOrderCw
a
"VertexOrderCcw" -> forall a. a -> Maybe a
Just ExecutionMode
VertexOrderCcw
a
"PixelCenterInteger" -> forall a. a -> Maybe a
Just ExecutionMode
PixelCenterInteger
a
"OriginUpperLeft" -> forall a. a -> Maybe a
Just ExecutionMode
OriginUpperLeft
a
"OriginLowerLeft" -> forall a. a -> Maybe a
Just ExecutionMode
OriginLowerLeft
a
"EarlyFragmentTests" -> forall a. a -> Maybe a
Just ExecutionMode
EarlyFragmentTests
a
"PointMode" -> forall a. a -> Maybe a
Just ExecutionMode
PointMode
a
"Xfb" -> forall a. a -> Maybe a
Just ExecutionMode
Xfb
a
"DepthReplacing" -> forall a. a -> Maybe a
Just ExecutionMode
DepthReplacing
a
"DepthGreater" -> forall a. a -> Maybe a
Just ExecutionMode
DepthGreater
a
"DepthLess" -> forall a. a -> Maybe a
Just ExecutionMode
DepthLess
a
"DepthUnchanged" -> forall a. a -> Maybe a
Just ExecutionMode
DepthUnchanged
a
"LocalSize" -> forall a. a -> Maybe a
Just ExecutionMode
LocalSize
a
"LocalSizeHint" -> forall a. a -> Maybe a
Just ExecutionMode
LocalSizeHint
a
"InputPoints" -> forall a. a -> Maybe a
Just ExecutionMode
InputPoints
a
"InputLines" -> forall a. a -> Maybe a
Just ExecutionMode
InputLines
a
"InputLinesAdjacency" -> forall a. a -> Maybe a
Just ExecutionMode
InputLinesAdjacency
a
"Triangles" -> forall a. a -> Maybe a
Just ExecutionMode
Triangles
a
"InputTrianglesAdjacency" -> forall a. a -> Maybe a
Just ExecutionMode
InputTrianglesAdjacency
a
"Quads" -> forall a. a -> Maybe a
Just ExecutionMode
Quads
a
"Isolines" -> forall a. a -> Maybe a
Just ExecutionMode
Isolines
a
"OutputVertices" -> forall a. a -> Maybe a
Just ExecutionMode
OutputVertices
a
"OutputPoints" -> forall a. a -> Maybe a
Just ExecutionMode
OutputPoints
a
"OutputLineStrip" -> forall a. a -> Maybe a
Just ExecutionMode
OutputLineStrip
a
"OutputTriangleStrip" -> forall a. a -> Maybe a
Just ExecutionMode
OutputTriangleStrip
a
"VecTypeHint" -> forall a. a -> Maybe a
Just ExecutionMode
VecTypeHint
a
"ContractionOff" -> forall a. a -> Maybe a
Just ExecutionMode
ContractionOff
a
"Initializer" -> forall a. a -> Maybe a
Just ExecutionMode
Initializer
a
"Finalizer" -> forall a. a -> Maybe a
Just ExecutionMode
Finalizer
a
"SubgroupSize" -> forall a. a -> Maybe a
Just ExecutionMode
SubgroupSize
a
"SubgroupsPerWorkgroup" -> forall a. a -> Maybe a
Just ExecutionMode
SubgroupsPerWorkgroup
a
"SubgroupsPerWorkgroupId" -> forall a. a -> Maybe a
Just ExecutionMode
SubgroupsPerWorkgroupId
a
"LocalSizeId" -> forall a. a -> Maybe a
Just ExecutionMode
LocalSizeId
a
"LocalSizeHintId" -> forall a. a -> Maybe a
Just ExecutionMode
LocalSizeHintId
a
"SubgroupUniformControlFlowKHR" -> forall a. a -> Maybe a
Just ExecutionMode
SubgroupUniformControlFlowKHR
a
"PostDepthCoverage" -> forall a. a -> Maybe a
Just ExecutionMode
PostDepthCoverage
a
"DenormPreserve" -> forall a. a -> Maybe a
Just ExecutionMode
DenormPreserve
a
"DenormFlushToZero" -> forall a. a -> Maybe a
Just ExecutionMode
DenormFlushToZero
a
"SignedZeroInfNanPreserve" -> forall a. a -> Maybe a
Just ExecutionMode
SignedZeroInfNanPreserve
a
"RoundingModeRTE" -> forall a. a -> Maybe a
Just ExecutionMode
RoundingModeRTE
a
"RoundingModeRTZ" -> forall a. a -> Maybe a
Just ExecutionMode
RoundingModeRTZ
a
"EarlyAndLateFragmentTestsAMD" -> forall a. a -> Maybe a
Just ExecutionMode
EarlyAndLateFragmentTestsAMD
a
"StencilRefReplacingEXT" -> forall a. a -> Maybe a
Just ExecutionMode
StencilRefReplacingEXT
a
"StencilRefUnchangedFrontAMD" -> forall a. a -> Maybe a
Just ExecutionMode
StencilRefUnchangedFrontAMD
a
"StencilRefGreaterFrontAMD" -> forall a. a -> Maybe a
Just ExecutionMode
StencilRefGreaterFrontAMD
a
"StencilRefLessFrontAMD" -> forall a. a -> Maybe a
Just ExecutionMode
StencilRefLessFrontAMD
a
"StencilRefUnchangedBackAMD" -> forall a. a -> Maybe a
Just ExecutionMode
StencilRefUnchangedBackAMD
a
"StencilRefGreaterBackAMD" -> forall a. a -> Maybe a
Just ExecutionMode
StencilRefGreaterBackAMD
a
"StencilRefLessBackAMD" -> forall a. a -> Maybe a
Just ExecutionMode
StencilRefLessBackAMD
a
"OutputLinesEXT" -> forall a. a -> Maybe a
Just ExecutionMode
OutputLinesEXT
a
"OutputLinesNV" -> forall a. a -> Maybe a
Just ExecutionMode
OutputLinesNV
a
"OutputPrimitivesEXT" -> forall a. a -> Maybe a
Just ExecutionMode
OutputPrimitivesEXT
a
"OutputPrimitivesNV" -> forall a. a -> Maybe a
Just ExecutionMode
OutputPrimitivesNV
a
"DerivativeGroupQuadsNV" -> forall a. a -> Maybe a
Just ExecutionMode
DerivativeGroupQuadsNV
a
"DerivativeGroupLinearNV" -> forall a. a -> Maybe a
Just ExecutionMode
DerivativeGroupLinearNV
a
"OutputTrianglesEXT" -> forall a. a -> Maybe a
Just ExecutionMode
OutputTrianglesEXT
a
"OutputTrianglesNV" -> forall a. a -> Maybe a
Just ExecutionMode
OutputTrianglesNV
a
"PixelInterlockOrderedEXT" -> forall a. a -> Maybe a
Just ExecutionMode
PixelInterlockOrderedEXT
a
"PixelInterlockUnorderedEXT" -> forall a. a -> Maybe a
Just ExecutionMode
PixelInterlockUnorderedEXT
a
"SampleInterlockOrderedEXT" -> forall a. a -> Maybe a
Just ExecutionMode
SampleInterlockOrderedEXT
a
"SampleInterlockUnorderedEXT" -> forall a. a -> Maybe a
Just ExecutionMode
SampleInterlockUnorderedEXT
a
"ShadingRateInterlockOrderedEXT" -> forall a. a -> Maybe a
Just ExecutionMode
ShadingRateInterlockOrderedEXT
a
"ShadingRateInterlockUnorderedEXT" -> forall a. a -> Maybe a
Just ExecutionMode
ShadingRateInterlockUnorderedEXT
a
"SharedLocalMemorySizeINTEL" -> forall a. a -> Maybe a
Just ExecutionMode
SharedLocalMemorySizeINTEL
a
"RoundingModeRTPINTEL" -> forall a. a -> Maybe a
Just ExecutionMode
RoundingModeRTPINTEL
a
"RoundingModeRTNINTEL" -> forall a. a -> Maybe a
Just ExecutionMode
RoundingModeRTNINTEL
a
"FloatingPointModeALTINTEL" -> forall a. a -> Maybe a
Just ExecutionMode
FloatingPointModeALTINTEL
a
"FloatingPointModeIEEEINTEL" -> forall a. a -> Maybe a
Just ExecutionMode
FloatingPointModeIEEEINTEL
a
"MaxWorkgroupSizeINTEL" -> forall a. a -> Maybe a
Just ExecutionMode
MaxWorkgroupSizeINTEL
a
"MaxWorkDimINTEL" -> forall a. a -> Maybe a
Just ExecutionMode
MaxWorkDimINTEL
a
"NoGlobalOffsetINTEL" -> forall a. a -> Maybe a
Just ExecutionMode
NoGlobalOffsetINTEL
a
"NumSIMDWorkitemsINTEL" -> forall a. a -> Maybe a
Just ExecutionMode
NumSIMDWorkitemsINTEL
a
"SchedulerTargetFmaxMhzINTEL" -> forall a. a -> Maybe a
Just ExecutionMode
SchedulerTargetFmaxMhzINTEL
a
"StreamingInterfaceINTEL" -> forall a. a -> Maybe a
Just ExecutionMode
StreamingInterfaceINTEL
a
"NamedBarrierCountINTEL" -> forall a. a -> Maybe a
Just ExecutionMode
NamedBarrierCountINTEL
a
_unknown -> forall a. Maybe a
Nothing
instance Read ExecutionMode where
readPrec :: ReadPrec ExecutionMode
readPrec = forall a. ReadPrec a -> ReadPrec a
Read.parens do
Lex.Ident [Char]
s <- ReadPrec Lexeme
Read.lexP
forall b a. b -> (a -> b) -> Maybe a -> b
maybe forall a. ReadPrec a
pfail forall (f :: * -> *) a. Applicative f => a -> f a
pure forall a b. (a -> b) -> a -> b
$ forall a. (IsString a, Eq a) => a -> Maybe ExecutionMode
fromName [Char]
s