{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE TypeSynonymInstances #-}

module Data.SpirV.Enum.BuiltIn where

import Data.Word (Word32)
import Foreign.Storable (Storable)

newtype BuiltIn = BuiltIn Word32
  deriving newtype (BuiltIn -> BuiltIn -> Bool
(BuiltIn -> BuiltIn -> Bool)
-> (BuiltIn -> BuiltIn -> Bool) -> Eq BuiltIn
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: BuiltIn -> BuiltIn -> Bool
== :: BuiltIn -> BuiltIn -> Bool
$c/= :: BuiltIn -> BuiltIn -> Bool
/= :: BuiltIn -> BuiltIn -> Bool
Eq, Eq BuiltIn
Eq BuiltIn =>
(BuiltIn -> BuiltIn -> Ordering)
-> (BuiltIn -> BuiltIn -> Bool)
-> (BuiltIn -> BuiltIn -> Bool)
-> (BuiltIn -> BuiltIn -> Bool)
-> (BuiltIn -> BuiltIn -> Bool)
-> (BuiltIn -> BuiltIn -> BuiltIn)
-> (BuiltIn -> BuiltIn -> BuiltIn)
-> Ord BuiltIn
BuiltIn -> BuiltIn -> Bool
BuiltIn -> BuiltIn -> Ordering
BuiltIn -> BuiltIn -> BuiltIn
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
$ccompare :: BuiltIn -> BuiltIn -> Ordering
compare :: BuiltIn -> BuiltIn -> Ordering
$c< :: BuiltIn -> BuiltIn -> Bool
< :: BuiltIn -> BuiltIn -> Bool
$c<= :: BuiltIn -> BuiltIn -> Bool
<= :: BuiltIn -> BuiltIn -> Bool
$c> :: BuiltIn -> BuiltIn -> Bool
> :: BuiltIn -> BuiltIn -> Bool
$c>= :: BuiltIn -> BuiltIn -> Bool
>= :: BuiltIn -> BuiltIn -> Bool
$cmax :: BuiltIn -> BuiltIn -> BuiltIn
max :: BuiltIn -> BuiltIn -> BuiltIn
$cmin :: BuiltIn -> BuiltIn -> BuiltIn
min :: BuiltIn -> BuiltIn -> BuiltIn
Ord, Ptr BuiltIn -> IO BuiltIn
Ptr BuiltIn -> Int -> IO BuiltIn
Ptr BuiltIn -> Int -> BuiltIn -> IO ()
Ptr BuiltIn -> BuiltIn -> IO ()
BuiltIn -> Int
(BuiltIn -> Int)
-> (BuiltIn -> Int)
-> (Ptr BuiltIn -> Int -> IO BuiltIn)
-> (Ptr BuiltIn -> Int -> BuiltIn -> IO ())
-> (forall b. Ptr b -> Int -> IO BuiltIn)
-> (forall b. Ptr b -> Int -> BuiltIn -> IO ())
-> (Ptr BuiltIn -> IO BuiltIn)
-> (Ptr BuiltIn -> BuiltIn -> IO ())
-> Storable BuiltIn
forall b. Ptr b -> Int -> IO BuiltIn
forall b. Ptr b -> Int -> BuiltIn -> 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
$csizeOf :: BuiltIn -> Int
sizeOf :: BuiltIn -> Int
$calignment :: BuiltIn -> Int
alignment :: BuiltIn -> Int
$cpeekElemOff :: Ptr BuiltIn -> Int -> IO BuiltIn
peekElemOff :: Ptr BuiltIn -> Int -> IO BuiltIn
$cpokeElemOff :: Ptr BuiltIn -> Int -> BuiltIn -> IO ()
pokeElemOff :: Ptr BuiltIn -> Int -> BuiltIn -> IO ()
$cpeekByteOff :: forall b. Ptr b -> Int -> IO BuiltIn
peekByteOff :: forall b. Ptr b -> Int -> IO BuiltIn
$cpokeByteOff :: forall b. Ptr b -> Int -> BuiltIn -> IO ()
pokeByteOff :: forall b. Ptr b -> Int -> BuiltIn -> IO ()
$cpeek :: Ptr BuiltIn -> IO BuiltIn
peek :: Ptr BuiltIn -> IO BuiltIn
$cpoke :: Ptr BuiltIn -> BuiltIn -> IO ()
poke :: Ptr BuiltIn -> BuiltIn -> IO ()
Storable)

instance Show BuiltIn where
  showsPrec :: Int -> BuiltIn -> ShowS
showsPrec Int
p (BuiltIn Word32
v) = case Word32
v of
    Word32
0 -> String -> ShowS
showString String
"Position"
    Word32
1 -> String -> ShowS
showString String
"PointSize"
    Word32
3 -> String -> ShowS
showString String
"ClipDistance"
    Word32
4 -> String -> ShowS
showString String
"CullDistance"
    Word32
5 -> String -> ShowS
showString String
"VertexId"
    Word32
6 -> String -> ShowS
showString String
"InstanceId"
    Word32
7 -> String -> ShowS
showString String
"PrimitiveId"
    Word32
8 -> String -> ShowS
showString String
"InvocationId"
    Word32
9 -> String -> ShowS
showString String
"Layer"
    Word32
10 -> String -> ShowS
showString String
"ViewportIndex"
    Word32
11 -> String -> ShowS
showString String
"TessLevelOuter"
    Word32
12 -> String -> ShowS
showString String
"TessLevelInner"
    Word32
13 -> String -> ShowS
showString String
"TessCoord"
    Word32
14 -> String -> ShowS
showString String
"PatchVertices"
    Word32
15 -> String -> ShowS
showString String
"FragCoord"
    Word32
16 -> String -> ShowS
showString String
"PointCoord"
    Word32
17 -> String -> ShowS
showString String
"FrontFacing"
    Word32
18 -> String -> ShowS
showString String
"SampleId"
    Word32
19 -> String -> ShowS
showString String
"SamplePosition"
    Word32
20 -> String -> ShowS
showString String
"SampleMask"
    Word32
22 -> String -> ShowS
showString String
"FragDepth"
    Word32
23 -> String -> ShowS
showString String
"HelperInvocation"
    Word32
24 -> String -> ShowS
showString String
"NumWorkgroups"
    Word32
25 -> String -> ShowS
showString String
"WorkgroupSize"
    Word32
26 -> String -> ShowS
showString String
"WorkgroupId"
    Word32
27 -> String -> ShowS
showString String
"LocalInvocationId"
    Word32
28 -> String -> ShowS
showString String
"GlobalInvocationId"
    Word32
29 -> String -> ShowS
showString String
"LocalInvocationIndex"
    Word32
30 -> String -> ShowS
showString String
"WorkDim"
    Word32
31 -> String -> ShowS
showString String
"GlobalSize"
    Word32
32 -> String -> ShowS
showString String
"EnqueuedWorkgroupSize"
    Word32
33 -> String -> ShowS
showString String
"GlobalOffset"
    Word32
34 -> String -> ShowS
showString String
"GlobalLinearId"
    Word32
36 -> String -> ShowS
showString String
"SubgroupSize"
    Word32
37 -> String -> ShowS
showString String
"SubgroupMaxSize"
    Word32
38 -> String -> ShowS
showString String
"NumSubgroups"
    Word32
39 -> String -> ShowS
showString String
"NumEnqueuedSubgroups"
    Word32
40 -> String -> ShowS
showString String
"SubgroupId"
    Word32
41 -> String -> ShowS
showString String
"SubgroupLocalInvocationId"
    Word32
42 -> String -> ShowS
showString String
"VertexIndex"
    Word32
43 -> String -> ShowS
showString String
"InstanceIndex"
    Word32
4160 -> String -> ShowS
showString String
"CoreIDARM"
    Word32
4161 -> String -> ShowS
showString String
"CoreCountARM"
    Word32
4162 -> String -> ShowS
showString String
"CoreMaxIDARM"
    Word32
4163 -> String -> ShowS
showString String
"WarpIDARM"
    Word32
4164 -> String -> ShowS
showString String
"WarpMaxIDARM"
    Word32
4416 -> String -> ShowS
showString String
"SubgroupEqMask"
    Word32
4417 -> String -> ShowS
showString String
"SubgroupGeMask"
    Word32
4418 -> String -> ShowS
showString String
"SubgroupGtMask"
    Word32
4419 -> String -> ShowS
showString String
"SubgroupLeMask"
    Word32
4420 -> String -> ShowS
showString String
"SubgroupLtMask"
    Word32
4424 -> String -> ShowS
showString String
"BaseVertex"
    Word32
4425 -> String -> ShowS
showString String
"BaseInstance"
    Word32
4426 -> String -> ShowS
showString String
"DrawIndex"
    Word32
4432 -> String -> ShowS
showString String
"PrimitiveShadingRateKHR"
    Word32
4438 -> String -> ShowS
showString String
"DeviceIndex"
    Word32
4440 -> String -> ShowS
showString String
"ViewIndex"
    Word32
4444 -> String -> ShowS
showString String
"ShadingRateKHR"
    Word32
4992 -> String -> ShowS
showString String
"BaryCoordNoPerspAMD"
    Word32
4993 -> String -> ShowS
showString String
"BaryCoordNoPerspCentroidAMD"
    Word32
4994 -> String -> ShowS
showString String
"BaryCoordNoPerspSampleAMD"
    Word32
4995 -> String -> ShowS
showString String
"BaryCoordSmoothAMD"
    Word32
4996 -> String -> ShowS
showString String
"BaryCoordSmoothCentroidAMD"
    Word32
4997 -> String -> ShowS
showString String
"BaryCoordSmoothSampleAMD"
    Word32
4998 -> String -> ShowS
showString String
"BaryCoordPullModelAMD"
    Word32
5014 -> String -> ShowS
showString String
"FragStencilRefEXT"
    Word32
5021 -> String -> ShowS
showString String
"CoalescedInputCountAMDX"
    Word32
5073 -> String -> ShowS
showString String
"ShaderIndexAMDX"
    Word32
5253 -> String -> ShowS
showString String
"ViewportMaskNV"
    Word32
5257 -> String -> ShowS
showString String
"SecondaryPositionNV"
    Word32
5258 -> String -> ShowS
showString String
"SecondaryViewportMaskNV"
    Word32
5261 -> String -> ShowS
showString String
"PositionPerViewNV"
    Word32
5262 -> String -> ShowS
showString String
"ViewportMaskPerViewNV"
    Word32
5264 -> String -> ShowS
showString String
"FullyCoveredEXT"
    Word32
5274 -> String -> ShowS
showString String
"TaskCountNV"
    Word32
5275 -> String -> ShowS
showString String
"PrimitiveCountNV"
    Word32
5276 -> String -> ShowS
showString String
"PrimitiveIndicesNV"
    Word32
5277 -> String -> ShowS
showString String
"ClipDistancePerViewNV"
    Word32
5278 -> String -> ShowS
showString String
"CullDistancePerViewNV"
    Word32
5279 -> String -> ShowS
showString String
"LayerPerViewNV"
    Word32
5280 -> String -> ShowS
showString String
"MeshViewCountNV"
    Word32
5281 -> String -> ShowS
showString String
"MeshViewIndicesNV"
    Word32
5286 -> String -> ShowS
showString String
"BaryCoordKHR"
    Word32
5287 -> String -> ShowS
showString String
"BaryCoordNoPerspKHR"
    Word32
5292 -> String -> ShowS
showString String
"FragSizeEXT"
    Word32
5293 -> String -> ShowS
showString String
"FragInvocationCountEXT"
    Word32
5294 -> String -> ShowS
showString String
"PrimitivePointIndicesEXT"
    Word32
5295 -> String -> ShowS
showString String
"PrimitiveLineIndicesEXT"
    Word32
5296 -> String -> ShowS
showString String
"PrimitiveTriangleIndicesEXT"
    Word32
5299 -> String -> ShowS
showString String
"CullPrimitiveEXT"
    Word32
5319 -> String -> ShowS
showString String
"LaunchIdKHR"
    Word32
5320 -> String -> ShowS
showString String
"LaunchSizeKHR"
    Word32
5321 -> String -> ShowS
showString String
"WorldRayOriginKHR"
    Word32
5322 -> String -> ShowS
showString String
"WorldRayDirectionKHR"
    Word32
5323 -> String -> ShowS
showString String
"ObjectRayOriginKHR"
    Word32
5324 -> String -> ShowS
showString String
"ObjectRayDirectionKHR"
    Word32
5325 -> String -> ShowS
showString String
"RayTminKHR"
    Word32
5326 -> String -> ShowS
showString String
"RayTmaxKHR"
    Word32
5327 -> String -> ShowS
showString String
"InstanceCustomIndexKHR"
    Word32
5330 -> String -> ShowS
showString String
"ObjectToWorldKHR"
    Word32
5331 -> String -> ShowS
showString String
"WorldToObjectKHR"
    Word32
5332 -> String -> ShowS
showString String
"HitTNV"
    Word32
5333 -> String -> ShowS
showString String
"HitKindKHR"
    Word32
5334 -> String -> ShowS
showString String
"CurrentRayTimeNV"
    Word32
5335 -> String -> ShowS
showString String
"HitTriangleVertexPositionsKHR"
    Word32
5337 -> String -> ShowS
showString String
"HitMicroTriangleVertexPositionsNV"
    Word32
5344 -> String -> ShowS
showString String
"HitMicroTriangleVertexBarycentricsNV"
    Word32
5351 -> String -> ShowS
showString String
"IncomingRayFlagsKHR"
    Word32
5352 -> String -> ShowS
showString String
"RayGeometryIndexKHR"
    Word32
5374 -> String -> ShowS
showString String
"WarpsPerSMNV"
    Word32
5375 -> String -> ShowS
showString String
"SMCountNV"
    Word32
5376 -> String -> ShowS
showString String
"WarpIDNV"
    Word32
5377 -> String -> ShowS
showString String
"SMIDNV"
    Word32
5405 -> String -> ShowS
showString String
"HitKindFrontFacingMicroTriangleNV"
    Word32
5406 -> String -> ShowS
showString String
"HitKindBackFacingMicroTriangleNV"
    Word32
6021 -> String -> ShowS
showString String
"CullMaskKHR"
    Word32
x -> Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
> Int
10) (ShowS -> ShowS) -> ShowS -> ShowS
forall a b. (a -> b) -> a -> b
$ String -> ShowS
showString String
"BuiltIn " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Int -> Word32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec (Int
p Int -> Int -> Int
forall a. Num a => a -> a -> a
+ Int
1) Word32
x

pattern Position :: BuiltIn
pattern $mPosition :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bPosition :: BuiltIn
Position = BuiltIn 0

pattern PointSize :: BuiltIn
pattern $mPointSize :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bPointSize :: BuiltIn
PointSize = BuiltIn 1

pattern ClipDistance :: BuiltIn
pattern $mClipDistance :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bClipDistance :: BuiltIn
ClipDistance = BuiltIn 3

pattern CullDistance :: BuiltIn
pattern $mCullDistance :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bCullDistance :: BuiltIn
CullDistance = BuiltIn 4

pattern VertexId :: BuiltIn
pattern $mVertexId :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bVertexId :: BuiltIn
VertexId = BuiltIn 5

pattern InstanceId :: BuiltIn
pattern $mInstanceId :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bInstanceId :: BuiltIn
InstanceId = BuiltIn 6

pattern PrimitiveId :: BuiltIn
pattern $mPrimitiveId :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bPrimitiveId :: BuiltIn
PrimitiveId = BuiltIn 7

pattern InvocationId :: BuiltIn
pattern $mInvocationId :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bInvocationId :: BuiltIn
InvocationId = BuiltIn 8

pattern Layer :: BuiltIn
pattern $mLayer :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bLayer :: BuiltIn
Layer = BuiltIn 9

pattern ViewportIndex :: BuiltIn
pattern $mViewportIndex :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bViewportIndex :: BuiltIn
ViewportIndex = BuiltIn 10

pattern TessLevelOuter :: BuiltIn
pattern $mTessLevelOuter :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bTessLevelOuter :: BuiltIn
TessLevelOuter = BuiltIn 11

pattern TessLevelInner :: BuiltIn
pattern $mTessLevelInner :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bTessLevelInner :: BuiltIn
TessLevelInner = BuiltIn 12

pattern TessCoord :: BuiltIn
pattern $mTessCoord :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bTessCoord :: BuiltIn
TessCoord = BuiltIn 13

pattern PatchVertices :: BuiltIn
pattern $mPatchVertices :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bPatchVertices :: BuiltIn
PatchVertices = BuiltIn 14

pattern FragCoord :: BuiltIn
pattern $mFragCoord :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bFragCoord :: BuiltIn
FragCoord = BuiltIn 15

pattern PointCoord :: BuiltIn
pattern $mPointCoord :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bPointCoord :: BuiltIn
PointCoord = BuiltIn 16

pattern FrontFacing :: BuiltIn
pattern $mFrontFacing :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bFrontFacing :: BuiltIn
FrontFacing = BuiltIn 17

pattern SampleId :: BuiltIn
pattern $mSampleId :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bSampleId :: BuiltIn
SampleId = BuiltIn 18

pattern SamplePosition :: BuiltIn
pattern $mSamplePosition :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bSamplePosition :: BuiltIn
SamplePosition = BuiltIn 19

pattern SampleMask :: BuiltIn
pattern $mSampleMask :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bSampleMask :: BuiltIn
SampleMask = BuiltIn 20

pattern FragDepth :: BuiltIn
pattern $mFragDepth :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bFragDepth :: BuiltIn
FragDepth = BuiltIn 22

pattern HelperInvocation :: BuiltIn
pattern $mHelperInvocation :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bHelperInvocation :: BuiltIn
HelperInvocation = BuiltIn 23

pattern NumWorkgroups :: BuiltIn
pattern $mNumWorkgroups :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bNumWorkgroups :: BuiltIn
NumWorkgroups = BuiltIn 24

pattern WorkgroupSize :: BuiltIn
pattern $mWorkgroupSize :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bWorkgroupSize :: BuiltIn
WorkgroupSize = BuiltIn 25

pattern WorkgroupId :: BuiltIn
pattern $mWorkgroupId :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bWorkgroupId :: BuiltIn
WorkgroupId = BuiltIn 26

pattern LocalInvocationId :: BuiltIn
pattern $mLocalInvocationId :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bLocalInvocationId :: BuiltIn
LocalInvocationId = BuiltIn 27

pattern GlobalInvocationId :: BuiltIn
pattern $mGlobalInvocationId :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bGlobalInvocationId :: BuiltIn
GlobalInvocationId = BuiltIn 28

pattern LocalInvocationIndex :: BuiltIn
pattern $mLocalInvocationIndex :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bLocalInvocationIndex :: BuiltIn
LocalInvocationIndex = BuiltIn 29

pattern WorkDim :: BuiltIn
pattern $mWorkDim :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bWorkDim :: BuiltIn
WorkDim = BuiltIn 30

pattern GlobalSize :: BuiltIn
pattern $mGlobalSize :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bGlobalSize :: BuiltIn
GlobalSize = BuiltIn 31

pattern EnqueuedWorkgroupSize :: BuiltIn
pattern $mEnqueuedWorkgroupSize :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bEnqueuedWorkgroupSize :: BuiltIn
EnqueuedWorkgroupSize = BuiltIn 32

pattern GlobalOffset :: BuiltIn
pattern $mGlobalOffset :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bGlobalOffset :: BuiltIn
GlobalOffset = BuiltIn 33

pattern GlobalLinearId :: BuiltIn
pattern $mGlobalLinearId :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bGlobalLinearId :: BuiltIn
GlobalLinearId = BuiltIn 34

pattern SubgroupSize :: BuiltIn
pattern $mSubgroupSize :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bSubgroupSize :: BuiltIn
SubgroupSize = BuiltIn 36

pattern SubgroupMaxSize :: BuiltIn
pattern $mSubgroupMaxSize :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bSubgroupMaxSize :: BuiltIn
SubgroupMaxSize = BuiltIn 37

pattern NumSubgroups :: BuiltIn
pattern $mNumSubgroups :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bNumSubgroups :: BuiltIn
NumSubgroups = BuiltIn 38

pattern NumEnqueuedSubgroups :: BuiltIn
pattern $mNumEnqueuedSubgroups :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bNumEnqueuedSubgroups :: BuiltIn
NumEnqueuedSubgroups = BuiltIn 39

pattern SubgroupId :: BuiltIn
pattern $mSubgroupId :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bSubgroupId :: BuiltIn
SubgroupId = BuiltIn 40

pattern SubgroupLocalInvocationId :: BuiltIn
pattern $mSubgroupLocalInvocationId :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bSubgroupLocalInvocationId :: BuiltIn
SubgroupLocalInvocationId = BuiltIn 41

pattern VertexIndex :: BuiltIn
pattern $mVertexIndex :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bVertexIndex :: BuiltIn
VertexIndex = BuiltIn 42

pattern InstanceIndex :: BuiltIn
pattern $mInstanceIndex :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bInstanceIndex :: BuiltIn
InstanceIndex = BuiltIn 43

pattern CoreIDARM :: BuiltIn
pattern $mCoreIDARM :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bCoreIDARM :: BuiltIn
CoreIDARM = BuiltIn 4160

pattern CoreCountARM :: BuiltIn
pattern $mCoreCountARM :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bCoreCountARM :: BuiltIn
CoreCountARM = BuiltIn 4161

pattern CoreMaxIDARM :: BuiltIn
pattern $mCoreMaxIDARM :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bCoreMaxIDARM :: BuiltIn
CoreMaxIDARM = BuiltIn 4162

pattern WarpIDARM :: BuiltIn
pattern $mWarpIDARM :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bWarpIDARM :: BuiltIn
WarpIDARM = BuiltIn 4163

pattern WarpMaxIDARM :: BuiltIn
pattern $mWarpMaxIDARM :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bWarpMaxIDARM :: BuiltIn
WarpMaxIDARM = BuiltIn 4164

pattern SubgroupEqMask :: BuiltIn
pattern $mSubgroupEqMask :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bSubgroupEqMask :: BuiltIn
SubgroupEqMask = BuiltIn 4416

pattern SubgroupEqMaskKHR :: BuiltIn
pattern $mSubgroupEqMaskKHR :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bSubgroupEqMaskKHR :: BuiltIn
SubgroupEqMaskKHR = BuiltIn 4416

pattern SubgroupGeMask :: BuiltIn
pattern $mSubgroupGeMask :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bSubgroupGeMask :: BuiltIn
SubgroupGeMask = BuiltIn 4417

pattern SubgroupGeMaskKHR :: BuiltIn
pattern $mSubgroupGeMaskKHR :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bSubgroupGeMaskKHR :: BuiltIn
SubgroupGeMaskKHR = BuiltIn 4417

pattern SubgroupGtMask :: BuiltIn
pattern $mSubgroupGtMask :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bSubgroupGtMask :: BuiltIn
SubgroupGtMask = BuiltIn 4418

pattern SubgroupGtMaskKHR :: BuiltIn
pattern $mSubgroupGtMaskKHR :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bSubgroupGtMaskKHR :: BuiltIn
SubgroupGtMaskKHR = BuiltIn 4418

pattern SubgroupLeMask :: BuiltIn
pattern $mSubgroupLeMask :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bSubgroupLeMask :: BuiltIn
SubgroupLeMask = BuiltIn 4419

pattern SubgroupLeMaskKHR :: BuiltIn
pattern $mSubgroupLeMaskKHR :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bSubgroupLeMaskKHR :: BuiltIn
SubgroupLeMaskKHR = BuiltIn 4419

pattern SubgroupLtMask :: BuiltIn
pattern $mSubgroupLtMask :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bSubgroupLtMask :: BuiltIn
SubgroupLtMask = BuiltIn 4420

pattern SubgroupLtMaskKHR :: BuiltIn
pattern $mSubgroupLtMaskKHR :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bSubgroupLtMaskKHR :: BuiltIn
SubgroupLtMaskKHR = BuiltIn 4420

pattern BaseVertex :: BuiltIn
pattern $mBaseVertex :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bBaseVertex :: BuiltIn
BaseVertex = BuiltIn 4424

pattern BaseInstance :: BuiltIn
pattern $mBaseInstance :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bBaseInstance :: BuiltIn
BaseInstance = BuiltIn 4425

pattern DrawIndex :: BuiltIn
pattern $mDrawIndex :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bDrawIndex :: BuiltIn
DrawIndex = BuiltIn 4426

pattern PrimitiveShadingRateKHR :: BuiltIn
pattern $mPrimitiveShadingRateKHR :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bPrimitiveShadingRateKHR :: BuiltIn
PrimitiveShadingRateKHR = BuiltIn 4432

pattern DeviceIndex :: BuiltIn
pattern $mDeviceIndex :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bDeviceIndex :: BuiltIn
DeviceIndex = BuiltIn 4438

pattern ViewIndex :: BuiltIn
pattern $mViewIndex :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bViewIndex :: BuiltIn
ViewIndex = BuiltIn 4440

pattern ShadingRateKHR :: BuiltIn
pattern $mShadingRateKHR :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bShadingRateKHR :: BuiltIn
ShadingRateKHR = BuiltIn 4444

pattern BaryCoordNoPerspAMD :: BuiltIn
pattern $mBaryCoordNoPerspAMD :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bBaryCoordNoPerspAMD :: BuiltIn
BaryCoordNoPerspAMD = BuiltIn 4992

pattern BaryCoordNoPerspCentroidAMD :: BuiltIn
pattern $mBaryCoordNoPerspCentroidAMD :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bBaryCoordNoPerspCentroidAMD :: BuiltIn
BaryCoordNoPerspCentroidAMD = BuiltIn 4993

pattern BaryCoordNoPerspSampleAMD :: BuiltIn
pattern $mBaryCoordNoPerspSampleAMD :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bBaryCoordNoPerspSampleAMD :: BuiltIn
BaryCoordNoPerspSampleAMD = BuiltIn 4994

pattern BaryCoordSmoothAMD :: BuiltIn
pattern $mBaryCoordSmoothAMD :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bBaryCoordSmoothAMD :: BuiltIn
BaryCoordSmoothAMD = BuiltIn 4995

pattern BaryCoordSmoothCentroidAMD :: BuiltIn
pattern $mBaryCoordSmoothCentroidAMD :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bBaryCoordSmoothCentroidAMD :: BuiltIn
BaryCoordSmoothCentroidAMD = BuiltIn 4996

pattern BaryCoordSmoothSampleAMD :: BuiltIn
pattern $mBaryCoordSmoothSampleAMD :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bBaryCoordSmoothSampleAMD :: BuiltIn
BaryCoordSmoothSampleAMD = BuiltIn 4997

pattern BaryCoordPullModelAMD :: BuiltIn
pattern $mBaryCoordPullModelAMD :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bBaryCoordPullModelAMD :: BuiltIn
BaryCoordPullModelAMD = BuiltIn 4998

pattern FragStencilRefEXT :: BuiltIn
pattern $mFragStencilRefEXT :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bFragStencilRefEXT :: BuiltIn
FragStencilRefEXT = BuiltIn 5014

pattern CoalescedInputCountAMDX :: BuiltIn
pattern $mCoalescedInputCountAMDX :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bCoalescedInputCountAMDX :: BuiltIn
CoalescedInputCountAMDX = BuiltIn 5021

pattern ShaderIndexAMDX :: BuiltIn
pattern $mShaderIndexAMDX :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bShaderIndexAMDX :: BuiltIn
ShaderIndexAMDX = BuiltIn 5073

pattern ViewportMaskNV :: BuiltIn
pattern $mViewportMaskNV :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bViewportMaskNV :: BuiltIn
ViewportMaskNV = BuiltIn 5253

pattern SecondaryPositionNV :: BuiltIn
pattern $mSecondaryPositionNV :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bSecondaryPositionNV :: BuiltIn
SecondaryPositionNV = BuiltIn 5257

pattern SecondaryViewportMaskNV :: BuiltIn
pattern $mSecondaryViewportMaskNV :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bSecondaryViewportMaskNV :: BuiltIn
SecondaryViewportMaskNV = BuiltIn 5258

pattern PositionPerViewNV :: BuiltIn
pattern $mPositionPerViewNV :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bPositionPerViewNV :: BuiltIn
PositionPerViewNV = BuiltIn 5261

pattern ViewportMaskPerViewNV :: BuiltIn
pattern $mViewportMaskPerViewNV :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bViewportMaskPerViewNV :: BuiltIn
ViewportMaskPerViewNV = BuiltIn 5262

pattern FullyCoveredEXT :: BuiltIn
pattern $mFullyCoveredEXT :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bFullyCoveredEXT :: BuiltIn
FullyCoveredEXT = BuiltIn 5264

pattern TaskCountNV :: BuiltIn
pattern $mTaskCountNV :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bTaskCountNV :: BuiltIn
TaskCountNV = BuiltIn 5274

pattern PrimitiveCountNV :: BuiltIn
pattern $mPrimitiveCountNV :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bPrimitiveCountNV :: BuiltIn
PrimitiveCountNV = BuiltIn 5275

pattern PrimitiveIndicesNV :: BuiltIn
pattern $mPrimitiveIndicesNV :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bPrimitiveIndicesNV :: BuiltIn
PrimitiveIndicesNV = BuiltIn 5276

pattern ClipDistancePerViewNV :: BuiltIn
pattern $mClipDistancePerViewNV :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bClipDistancePerViewNV :: BuiltIn
ClipDistancePerViewNV = BuiltIn 5277

pattern CullDistancePerViewNV :: BuiltIn
pattern $mCullDistancePerViewNV :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bCullDistancePerViewNV :: BuiltIn
CullDistancePerViewNV = BuiltIn 5278

pattern LayerPerViewNV :: BuiltIn
pattern $mLayerPerViewNV :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bLayerPerViewNV :: BuiltIn
LayerPerViewNV = BuiltIn 5279

pattern MeshViewCountNV :: BuiltIn
pattern $mMeshViewCountNV :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bMeshViewCountNV :: BuiltIn
MeshViewCountNV = BuiltIn 5280

pattern MeshViewIndicesNV :: BuiltIn
pattern $mMeshViewIndicesNV :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bMeshViewIndicesNV :: BuiltIn
MeshViewIndicesNV = BuiltIn 5281

pattern BaryCoordKHR :: BuiltIn
pattern $mBaryCoordKHR :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bBaryCoordKHR :: BuiltIn
BaryCoordKHR = BuiltIn 5286

pattern BaryCoordNV :: BuiltIn
pattern $mBaryCoordNV :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bBaryCoordNV :: BuiltIn
BaryCoordNV = BuiltIn 5286

pattern BaryCoordNoPerspKHR :: BuiltIn
pattern $mBaryCoordNoPerspKHR :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bBaryCoordNoPerspKHR :: BuiltIn
BaryCoordNoPerspKHR = BuiltIn 5287

pattern BaryCoordNoPerspNV :: BuiltIn
pattern $mBaryCoordNoPerspNV :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bBaryCoordNoPerspNV :: BuiltIn
BaryCoordNoPerspNV = BuiltIn 5287

pattern FragSizeEXT :: BuiltIn
pattern $mFragSizeEXT :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bFragSizeEXT :: BuiltIn
FragSizeEXT = BuiltIn 5292

pattern FragmentSizeNV :: BuiltIn
pattern $mFragmentSizeNV :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bFragmentSizeNV :: BuiltIn
FragmentSizeNV = BuiltIn 5292

pattern FragInvocationCountEXT :: BuiltIn
pattern $mFragInvocationCountEXT :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bFragInvocationCountEXT :: BuiltIn
FragInvocationCountEXT = BuiltIn 5293

pattern InvocationsPerPixelNV :: BuiltIn
pattern $mInvocationsPerPixelNV :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bInvocationsPerPixelNV :: BuiltIn
InvocationsPerPixelNV = BuiltIn 5293

pattern PrimitivePointIndicesEXT :: BuiltIn
pattern $mPrimitivePointIndicesEXT :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bPrimitivePointIndicesEXT :: BuiltIn
PrimitivePointIndicesEXT = BuiltIn 5294

pattern PrimitiveLineIndicesEXT :: BuiltIn
pattern $mPrimitiveLineIndicesEXT :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bPrimitiveLineIndicesEXT :: BuiltIn
PrimitiveLineIndicesEXT = BuiltIn 5295

pattern PrimitiveTriangleIndicesEXT :: BuiltIn
pattern $mPrimitiveTriangleIndicesEXT :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bPrimitiveTriangleIndicesEXT :: BuiltIn
PrimitiveTriangleIndicesEXT = BuiltIn 5296

pattern CullPrimitiveEXT :: BuiltIn
pattern $mCullPrimitiveEXT :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bCullPrimitiveEXT :: BuiltIn
CullPrimitiveEXT = BuiltIn 5299

pattern LaunchIdKHR :: BuiltIn
pattern $mLaunchIdKHR :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bLaunchIdKHR :: BuiltIn
LaunchIdKHR = BuiltIn 5319

pattern LaunchIdNV :: BuiltIn
pattern $mLaunchIdNV :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bLaunchIdNV :: BuiltIn
LaunchIdNV = BuiltIn 5319

pattern LaunchSizeKHR :: BuiltIn
pattern $mLaunchSizeKHR :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bLaunchSizeKHR :: BuiltIn
LaunchSizeKHR = BuiltIn 5320

pattern LaunchSizeNV :: BuiltIn
pattern $mLaunchSizeNV :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bLaunchSizeNV :: BuiltIn
LaunchSizeNV = BuiltIn 5320

pattern WorldRayOriginKHR :: BuiltIn
pattern $mWorldRayOriginKHR :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bWorldRayOriginKHR :: BuiltIn
WorldRayOriginKHR = BuiltIn 5321

pattern WorldRayOriginNV :: BuiltIn
pattern $mWorldRayOriginNV :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bWorldRayOriginNV :: BuiltIn
WorldRayOriginNV = BuiltIn 5321

pattern WorldRayDirectionKHR :: BuiltIn
pattern $mWorldRayDirectionKHR :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bWorldRayDirectionKHR :: BuiltIn
WorldRayDirectionKHR = BuiltIn 5322

pattern WorldRayDirectionNV :: BuiltIn
pattern $mWorldRayDirectionNV :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bWorldRayDirectionNV :: BuiltIn
WorldRayDirectionNV = BuiltIn 5322

pattern ObjectRayOriginKHR :: BuiltIn
pattern $mObjectRayOriginKHR :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bObjectRayOriginKHR :: BuiltIn
ObjectRayOriginKHR = BuiltIn 5323

pattern ObjectRayOriginNV :: BuiltIn
pattern $mObjectRayOriginNV :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bObjectRayOriginNV :: BuiltIn
ObjectRayOriginNV = BuiltIn 5323

pattern ObjectRayDirectionKHR :: BuiltIn
pattern $mObjectRayDirectionKHR :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bObjectRayDirectionKHR :: BuiltIn
ObjectRayDirectionKHR = BuiltIn 5324

pattern ObjectRayDirectionNV :: BuiltIn
pattern $mObjectRayDirectionNV :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bObjectRayDirectionNV :: BuiltIn
ObjectRayDirectionNV = BuiltIn 5324

pattern RayTminKHR :: BuiltIn
pattern $mRayTminKHR :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bRayTminKHR :: BuiltIn
RayTminKHR = BuiltIn 5325

pattern RayTminNV :: BuiltIn
pattern $mRayTminNV :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bRayTminNV :: BuiltIn
RayTminNV = BuiltIn 5325

pattern RayTmaxKHR :: BuiltIn
pattern $mRayTmaxKHR :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bRayTmaxKHR :: BuiltIn
RayTmaxKHR = BuiltIn 5326

pattern RayTmaxNV :: BuiltIn
pattern $mRayTmaxNV :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bRayTmaxNV :: BuiltIn
RayTmaxNV = BuiltIn 5326

pattern InstanceCustomIndexKHR :: BuiltIn
pattern $mInstanceCustomIndexKHR :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bInstanceCustomIndexKHR :: BuiltIn
InstanceCustomIndexKHR = BuiltIn 5327

pattern InstanceCustomIndexNV :: BuiltIn
pattern $mInstanceCustomIndexNV :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bInstanceCustomIndexNV :: BuiltIn
InstanceCustomIndexNV = BuiltIn 5327

pattern ObjectToWorldKHR :: BuiltIn
pattern $mObjectToWorldKHR :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bObjectToWorldKHR :: BuiltIn
ObjectToWorldKHR = BuiltIn 5330

pattern ObjectToWorldNV :: BuiltIn
pattern $mObjectToWorldNV :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bObjectToWorldNV :: BuiltIn
ObjectToWorldNV = BuiltIn 5330

pattern WorldToObjectKHR :: BuiltIn
pattern $mWorldToObjectKHR :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bWorldToObjectKHR :: BuiltIn
WorldToObjectKHR = BuiltIn 5331

pattern WorldToObjectNV :: BuiltIn
pattern $mWorldToObjectNV :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bWorldToObjectNV :: BuiltIn
WorldToObjectNV = BuiltIn 5331

pattern HitTNV :: BuiltIn
pattern $mHitTNV :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bHitTNV :: BuiltIn
HitTNV = BuiltIn 5332

pattern HitKindKHR :: BuiltIn
pattern $mHitKindKHR :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bHitKindKHR :: BuiltIn
HitKindKHR = BuiltIn 5333

pattern HitKindNV :: BuiltIn
pattern $mHitKindNV :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bHitKindNV :: BuiltIn
HitKindNV = BuiltIn 5333

pattern CurrentRayTimeNV :: BuiltIn
pattern $mCurrentRayTimeNV :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bCurrentRayTimeNV :: BuiltIn
CurrentRayTimeNV = BuiltIn 5334

pattern HitTriangleVertexPositionsKHR :: BuiltIn
pattern $mHitTriangleVertexPositionsKHR :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bHitTriangleVertexPositionsKHR :: BuiltIn
HitTriangleVertexPositionsKHR = BuiltIn 5335

pattern HitMicroTriangleVertexPositionsNV :: BuiltIn
pattern $mHitMicroTriangleVertexPositionsNV :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bHitMicroTriangleVertexPositionsNV :: BuiltIn
HitMicroTriangleVertexPositionsNV = BuiltIn 5337

pattern HitMicroTriangleVertexBarycentricsNV :: BuiltIn
pattern $mHitMicroTriangleVertexBarycentricsNV :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bHitMicroTriangleVertexBarycentricsNV :: BuiltIn
HitMicroTriangleVertexBarycentricsNV = BuiltIn 5344

pattern IncomingRayFlagsKHR :: BuiltIn
pattern $mIncomingRayFlagsKHR :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bIncomingRayFlagsKHR :: BuiltIn
IncomingRayFlagsKHR = BuiltIn 5351

pattern IncomingRayFlagsNV :: BuiltIn
pattern $mIncomingRayFlagsNV :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bIncomingRayFlagsNV :: BuiltIn
IncomingRayFlagsNV = BuiltIn 5351

pattern RayGeometryIndexKHR :: BuiltIn
pattern $mRayGeometryIndexKHR :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bRayGeometryIndexKHR :: BuiltIn
RayGeometryIndexKHR = BuiltIn 5352

pattern WarpsPerSMNV :: BuiltIn
pattern $mWarpsPerSMNV :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bWarpsPerSMNV :: BuiltIn
WarpsPerSMNV = BuiltIn 5374

pattern SMCountNV :: BuiltIn
pattern $mSMCountNV :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bSMCountNV :: BuiltIn
SMCountNV = BuiltIn 5375

pattern WarpIDNV :: BuiltIn
pattern $mWarpIDNV :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bWarpIDNV :: BuiltIn
WarpIDNV = BuiltIn 5376

pattern SMIDNV :: BuiltIn
pattern $mSMIDNV :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bSMIDNV :: BuiltIn
SMIDNV = BuiltIn 5377

pattern HitKindFrontFacingMicroTriangleNV :: BuiltIn
pattern $mHitKindFrontFacingMicroTriangleNV :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bHitKindFrontFacingMicroTriangleNV :: BuiltIn
HitKindFrontFacingMicroTriangleNV = BuiltIn 5405

pattern HitKindBackFacingMicroTriangleNV :: BuiltIn
pattern $mHitKindBackFacingMicroTriangleNV :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bHitKindBackFacingMicroTriangleNV :: BuiltIn
HitKindBackFacingMicroTriangleNV = BuiltIn 5406

pattern CullMaskKHR :: BuiltIn
pattern $mCullMaskKHR :: forall {r}. BuiltIn -> ((# #) -> r) -> ((# #) -> r) -> r
$bCullMaskKHR :: BuiltIn
CullMaskKHR = BuiltIn 6021