spv.ClosestHitShader.rchit
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 88

                              Capability RayTracingNV
                              Extension  "SPV_NV_ray_tracing"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint ClosestHitKHR 4  "main" 11 14 20 23 26 33 36 39 42 47 50 53 58 64 67
                              Source GLSL 460
                              SourceExtension  "GL_NV_ray_tracing"
                              Name 4  "main"
                              Name 9  "v0"
                              Name 11  "gl_LaunchIDNV"
                              Name 13  "v1"
                              Name 14  "gl_LaunchSizeNV"
                              Name 18  "v2"
                              Name 20  "gl_PrimitiveID"
                              Name 22  "v3"
                              Name 23  "gl_InstanceID"
                              Name 25  "v4"
                              Name 26  "gl_InstanceCustomIndexNV"
                              Name 31  "v5"
                              Name 33  "gl_WorldRayOriginNV"
                              Name 35  "v6"
                              Name 36  "gl_WorldRayDirectionNV"
                              Name 38  "v7"
                              Name 39  "gl_ObjectRayOriginNV"
                              Name 41  "v8"
                              Name 42  "gl_ObjectRayDirectionNV"
                              Name 45  "v9"
                              Name 47  "gl_RayTminNV"
                              Name 49  "v10"
                              Name 50  "gl_RayTmaxNV"
                              Name 52  "v11"
                              Name 53  "gl_HitTNV"
                              Name 56  "v12"
                              Name 58  "gl_HitKindNV"
                              Name 62  "v13"
                              Name 64  "gl_ObjectToWorldNV"
                              Name 66  "v14"
                              Name 67  "gl_WorldToObjectNV"
                              Name 71  "accNV"
                              Name 85  "localPayload"
                              Name 87  "incomingPayload"
                              Decorate 11(gl_LaunchIDNV) BuiltIn LaunchIdKHR
                              Decorate 14(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR
                              Decorate 20(gl_PrimitiveID) BuiltIn PrimitiveId
                              Decorate 23(gl_InstanceID) BuiltIn InstanceId
                              Decorate 26(gl_InstanceCustomIndexNV) BuiltIn InstanceCustomIndexKHR
                              Decorate 33(gl_WorldRayOriginNV) BuiltIn WorldRayOriginKHR
                              Decorate 36(gl_WorldRayDirectionNV) BuiltIn WorldRayDirectionKHR
                              Decorate 39(gl_ObjectRayOriginNV) BuiltIn ObjectRayOriginKHR
                              Decorate 42(gl_ObjectRayDirectionNV) BuiltIn ObjectRayDirectionKHR
                              Decorate 47(gl_RayTminNV) BuiltIn RayTminKHR
                              Decorate 50(gl_RayTmaxNV) BuiltIn RayTmaxKHR
                              Decorate 53(gl_HitTNV) BuiltIn HitTNV
                              Decorate 58(gl_HitKindNV) BuiltIn HitKindKHR
                              Decorate 64(gl_ObjectToWorldNV) BuiltIn ObjectToWorldKHR
                              Decorate 67(gl_WorldToObjectNV) BuiltIn WorldToObjectKHR
                              Decorate 71(accNV) DescriptorSet 0
                              Decorate 71(accNV) Binding 0
                              Decorate 85(localPayload) Location 0
                              Decorate 87(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_LaunchIDNV):     10(ptr) Variable Input
14(gl_LaunchSizeNV):     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_InstanceCustomIndexNV):     19(ptr) Variable Input
              28:             TypeFloat 32
              29:             TypeVector 28(float) 3
              30:             TypePointer Function 29(fvec3)
              32:             TypePointer Input 29(fvec3)
33(gl_WorldRayOriginNV):     32(ptr) Variable Input
36(gl_WorldRayDirectionNV):     32(ptr) Variable Input
39(gl_ObjectRayOriginNV):     32(ptr) Variable Input
42(gl_ObjectRayDirectionNV):     32(ptr) Variable Input
              44:             TypePointer Function 28(float)
              46:             TypePointer Input 28(float)
47(gl_RayTminNV):     46(ptr) Variable Input
50(gl_RayTmaxNV):     46(ptr) Variable Input
   53(gl_HitTNV):     46(ptr) Variable Input
              55:             TypePointer Function 6(int)
              57:             TypePointer Input 6(int)
58(gl_HitKindNV):     57(ptr) Variable Input
              60:             TypeMatrix 29(fvec3) 4
              61:             TypePointer Function 60
              63:             TypePointer Input 60
64(gl_ObjectToWorldNV):     63(ptr) Variable Input
67(gl_WorldToObjectNV):     63(ptr) Variable Input
              69:             TypeAccelerationStructureKHR
              70:             TypePointer UniformConstant 69
       71(accNV):     70(ptr) Variable UniformConstant
              73:      6(int) Constant 0
              74:      6(int) Constant 1
              75:      6(int) Constant 2
              76:      6(int) Constant 3
              77:   28(float) Constant 1056964608
              78:   29(fvec3) ConstantComposite 77 77 77
              79:   28(float) Constant 1065353216
              80:   29(fvec3) ConstantComposite 79 79 79
              81:   28(float) Constant 1061158912
              82:     16(int) Constant 1
              83:             TypeVector 28(float) 4
              84:             TypePointer RayPayloadKHR 83(fvec4)
85(localPayload):     84(ptr) Variable RayPayloadKHR
              86:             TypePointer IncomingRayPayloadKHR 83(fvec4)
87(incomingPayload):     86(ptr) Variable IncomingRayPayloadKHR
         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
              12:    7(ivec3) Load 11(gl_LaunchIDNV)
                              Store 9(v0) 12
              15:    7(ivec3) Load 14(gl_LaunchSizeNV)
                              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_InstanceCustomIndexNV)
                              Store 25(v4) 27
              34:   29(fvec3) Load 33(gl_WorldRayOriginNV)
                              Store 31(v5) 34
              37:   29(fvec3) Load 36(gl_WorldRayDirectionNV)
                              Store 35(v6) 37
              40:   29(fvec3) Load 39(gl_ObjectRayOriginNV)
                              Store 38(v7) 40
              43:   29(fvec3) Load 42(gl_ObjectRayDirectionNV)
                              Store 41(v8) 43
              48:   28(float) Load 47(gl_RayTminNV)
                              Store 45(v9) 48
              51:   28(float) Load 50(gl_RayTmaxNV)
                              Store 49(v10) 51
              54:   28(float) Load 53(gl_HitTNV)
                              Store 52(v11) 54
              59:      6(int) Load 58(gl_HitKindNV)
                              Store 56(v12) 59
              65:          60 Load 64(gl_ObjectToWorldNV)
                              Store 62(v13) 65
              68:          60 Load 67(gl_WorldToObjectNV)
                              Store 66(v14) 68
              72:          69 Load 71(accNV)
                              TraceNV 72 73 74 75 76 73 78 77 80 81 82
                              Return
                              FunctionEnd
