spv.ext.AnyHitShader.rahit
// Module Version 10400
// Generated by (magic number): 8000a
// Id's are bound by 94

                              Capability RayTracingProvisionalKHR
                              Extension  "SPV_KHR_ray_tracing"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint AnyHitKHR 4  "main" 11 14 20 23 26 33 36 39 42 47 50 53 58 64 67 70 76 80 84
                              Source GLSL 460
                              SourceExtension  "GL_EXT_ray_tracing"
                              Name 4  "main"
                              Name 9  "v0"
                              Name 11  "gl_LaunchIDEXT"
                              Name 13  "v1"
                              Name 14  "gl_LaunchSizeEXT"
                              Name 18  "v2"
                              Name 20  "gl_PrimitiveID"
                              Name 22  "v3"
                              Name 23  "gl_InstanceID"
                              Name 25  "v4"
                              Name 26  "gl_InstanceCustomIndexEXT"
                              Name 31  "v5"
                              Name 33  "gl_WorldRayOriginEXT"
                              Name 35  "v6"
                              Name 36  "gl_WorldRayDirectionEXT"
                              Name 38  "v7"
                              Name 39  "gl_ObjectRayOriginEXT"
                              Name 41  "v8"
                              Name 42  "gl_ObjectRayDirectionEXT"
                              Name 45  "v9"
                              Name 47  "gl_RayTminEXT"
                              Name 49  "v10"
                              Name 50  "gl_RayTmaxEXT"
                              Name 52  "v11"
                              Name 53  "gl_HitTEXT"
                              Name 56  "v12"
                              Name 58  "gl_HitKindEXT"
                              Name 62  "v13"
                              Name 64  "gl_ObjectToWorldEXT"
                              Name 66  "v14"
                              Name 67  "gl_WorldToObjectEXT"
                              Name 69  "v15"
                              Name 70  "gl_GeometryIndexEXT"
                              Name 75  "v16"
                              Name 76  "gl_ObjectToWorld3x4EXT"
                              Name 79  "v17"
                              Name 80  "gl_WorldToObject3x4EXT"
                              Name 84  "incomingPayload"
                              Decorate 11(gl_LaunchIDEXT) BuiltIn LaunchIdKHR
                              Decorate 14(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR
                              Decorate 20(gl_PrimitiveID) BuiltIn PrimitiveId
                              Decorate 23(gl_InstanceID) BuiltIn InstanceId
                              Decorate 26(gl_InstanceCustomIndexEXT) BuiltIn InstanceCustomIndexKHR
                              Decorate 33(gl_WorldRayOriginEXT) BuiltIn WorldRayOriginKHR
                              Decorate 36(gl_WorldRayDirectionEXT) BuiltIn WorldRayDirectionKHR
                              Decorate 39(gl_ObjectRayOriginEXT) BuiltIn ObjectRayOriginKHR
                              Decorate 42(gl_ObjectRayDirectionEXT) BuiltIn ObjectRayDirectionKHR
                              Decorate 47(gl_RayTminEXT) BuiltIn RayTminKHR
                              Decorate 50(gl_RayTmaxEXT) BuiltIn RayTmaxKHR
                              Decorate 53(gl_HitTEXT) BuiltIn HitTKHR
                              Decorate 58(gl_HitKindEXT) BuiltIn HitKindKHR
                              Decorate 64(gl_ObjectToWorldEXT) BuiltIn ObjectToWorldKHR
                              Decorate 67(gl_WorldToObjectEXT) BuiltIn WorldToObjectKHR
                              Decorate 70(gl_GeometryIndexEXT) BuiltIn RayGeometryIndexKHR
                              Decorate 76(gl_ObjectToWorld3x4EXT) BuiltIn ObjectToWorldKHR
                              Decorate 80(gl_WorldToObject3x4EXT) BuiltIn WorldToObjectKHR
                              Decorate 84(incomingPayload) Location 1
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 0
               7:             TypeVector 6(int) 3
               8:             TypePointer Function 7(ivec3)
              10:             TypePointer Input 7(ivec3)
11(gl_LaunchIDEXT):     10(ptr) Variable Input
14(gl_LaunchSizeEXT):     10(ptr) Variable Input
              16:             TypeInt 32 1
              17:             TypePointer Function 16(int)
              19:             TypePointer Input 16(int)
20(gl_PrimitiveID):     19(ptr) Variable Input
23(gl_InstanceID):     19(ptr) Variable Input
26(gl_InstanceCustomIndexEXT):     19(ptr) Variable Input
              28:             TypeFloat 32
              29:             TypeVector 28(float) 3
              30:             TypePointer Function 29(fvec3)
              32:             TypePointer Input 29(fvec3)
33(gl_WorldRayOriginEXT):     32(ptr) Variable Input
36(gl_WorldRayDirectionEXT):     32(ptr) Variable Input
39(gl_ObjectRayOriginEXT):     32(ptr) Variable Input
42(gl_ObjectRayDirectionEXT):     32(ptr) Variable Input
              44:             TypePointer Function 28(float)
              46:             TypePointer Input 28(float)
47(gl_RayTminEXT):     46(ptr) Variable Input
50(gl_RayTmaxEXT):     46(ptr) Variable Input
  53(gl_HitTEXT):     46(ptr) Variable Input
              55:             TypePointer Function 6(int)
              57:             TypePointer Input 6(int)
58(gl_HitKindEXT):     57(ptr) Variable Input
              60:             TypeMatrix 29(fvec3) 4
              61:             TypePointer Function 60
              63:             TypePointer Input 60
64(gl_ObjectToWorldEXT):     63(ptr) Variable Input
67(gl_WorldToObjectEXT):     63(ptr) Variable Input
70(gl_GeometryIndexEXT):     19(ptr) Variable Input
              72:             TypeVector 28(float) 4
              73:             TypeMatrix 72(fvec4) 3
              74:             TypePointer Function 73
76(gl_ObjectToWorld3x4EXT):     63(ptr) Variable Input
80(gl_WorldToObject3x4EXT):     63(ptr) Variable Input
              83:             TypePointer IncomingRayPayloadKHR 72(fvec4)
84(incomingPayload):     83(ptr) Variable IncomingRayPayloadKHR
              85:   28(float) Constant 1056964608
              86:   72(fvec4) ConstantComposite 85 85 85 85
              88:     16(int) Constant 1
              89:             TypeBool
         4(main):           2 Function None 3
               5:             Label
           9(v0):      8(ptr) Variable Function
          13(v1):      8(ptr) Variable Function
          18(v2):     17(ptr) Variable Function
          22(v3):     17(ptr) Variable Function
          25(v4):     17(ptr) Variable Function
          31(v5):     30(ptr) Variable Function
          35(v6):     30(ptr) Variable Function
          38(v7):     30(ptr) Variable Function
          41(v8):     30(ptr) Variable Function
          45(v9):     44(ptr) Variable Function
         49(v10):     44(ptr) Variable Function
         52(v11):     44(ptr) Variable Function
         56(v12):     55(ptr) Variable Function
         62(v13):     61(ptr) Variable Function
         66(v14):     61(ptr) Variable Function
         69(v15):     17(ptr) Variable Function
         75(v16):     74(ptr) Variable Function
         79(v17):     74(ptr) Variable Function
              12:    7(ivec3) Load 11(gl_LaunchIDEXT)
                              Store 9(v0) 12
              15:    7(ivec3) Load 14(gl_LaunchSizeEXT)
                              Store 13(v1) 15
              21:     16(int) Load 20(gl_PrimitiveID)
                              Store 18(v2) 21
              24:     16(int) Load 23(gl_InstanceID)
                              Store 22(v3) 24
              27:     16(int) Load 26(gl_InstanceCustomIndexEXT)
                              Store 25(v4) 27
              34:   29(fvec3) Load 33(gl_WorldRayOriginEXT)
                              Store 31(v5) 34
              37:   29(fvec3) Load 36(gl_WorldRayDirectionEXT)
                              Store 35(v6) 37
              40:   29(fvec3) Load 39(gl_ObjectRayOriginEXT)
                              Store 38(v7) 40
              43:   29(fvec3) Load 42(gl_ObjectRayDirectionEXT)
                              Store 41(v8) 43
              48:   28(float) Load 47(gl_RayTminEXT)
                              Store 45(v9) 48
              51:   28(float) Load 50(gl_RayTmaxEXT)
                              Store 49(v10) 51
              54:   28(float) Load 53(gl_HitTEXT)
                              Store 52(v11) 54
              59:      6(int) Load 58(gl_HitKindEXT)
                              Store 56(v12) 59
              65:          60 Load 64(gl_ObjectToWorldEXT)
                              Store 62(v13) 65
              68:          60 Load 67(gl_WorldToObjectEXT)
                              Store 66(v14) 68
              71:     16(int) Load 70(gl_GeometryIndexEXT)
                              Store 69(v15) 71
              77:          60 Load 76(gl_ObjectToWorld3x4EXT)
              78:          73 Transpose 77
                              Store 75(v16) 78
              81:          60 Load 80(gl_WorldToObject3x4EXT)
              82:          73 Transpose 81
                              Store 79(v17) 82
                              Store 84(incomingPayload) 86
              87:     16(int) Load 18(v2)
              90:    89(bool) IEqual 87 88
                              SelectionMerge 92 None
                              BranchConditional 90 91 93
              91:               Label
                                IgnoreIntersectionKHR
                                Branch 92
              93:               Label
                                TerminateRayKHR
                                Branch 92
              92:             Label
                              Return
                              FunctionEnd
