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

                              Capability GroupNonUniform
                              Capability RayTracingKHR
                              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 98
                              Source GLSL 460
                              SourceExtension  "GL_EXT_ray_tracing"
                              SourceExtension  "GL_KHR_shader_subgroup_basic"
                              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"
                              Name 98  "gl_SubgroupSize"
                              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 RayTmaxKHR
                              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
                              Decorate 98(gl_SubgroupSize) RelaxedPrecision
                              Decorate 98(gl_SubgroupSize) BuiltIn SubgroupSize
                              Decorate 99 RelaxedPrecision
               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
              94:      6(int) Constant 0
98(gl_SubgroupSize):     57(ptr) Variable Input
             101:             TypePointer IncomingRayPayloadKHR 28(float)
         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 92
              91:               Label
                                IgnoreIntersectionKHR
              92:             Label
              99:      6(int) Load 98(gl_SubgroupSize)
             100:   28(float) ConvertUToF 99
             102:    101(ptr) AccessChain 84(incomingPayload) 94
             103:   28(float) Load 102
             104:   28(float) FAdd 103 100
             105:    101(ptr) AccessChain 84(incomingPayload) 94
                              Store 105 104
                              TerminateRayKHR
                              FunctionEnd
