spv.MissShader.rmiss
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 59

                              Capability RayTracingNV
                              Extension  "SPV_NV_ray_tracing"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint MissKHR 4  "main" 11 14 21 24 29 34 37
                              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 19  "v2"
                              Name 21  "gl_WorldRayOriginNV"
                              Name 23  "v3"
                              Name 24  "gl_WorldRayDirectionNV"
                              Name 27  "v4"
                              Name 29  "gl_IncomingRayFlagsNV"
                              Name 32  "v6"
                              Name 34  "gl_RayTminNV"
                              Name 36  "v7"
                              Name 37  "gl_RayTmaxNV"
                              Name 41  "accNV"
                              Name 56  "localPayload"
                              Name 58  "incomingPayload"
                              Decorate 11(gl_LaunchIDNV) BuiltIn LaunchIdKHR
                              Decorate 14(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR
                              Decorate 21(gl_WorldRayOriginNV) BuiltIn WorldRayOriginKHR
                              Decorate 24(gl_WorldRayDirectionNV) BuiltIn WorldRayDirectionKHR
                              Decorate 29(gl_IncomingRayFlagsNV) BuiltIn IncomingRayFlagsKHR
                              Decorate 34(gl_RayTminNV) BuiltIn RayTminKHR
                              Decorate 37(gl_RayTmaxNV) BuiltIn RayTmaxKHR
                              Decorate 41(accNV) DescriptorSet 0
                              Decorate 41(accNV) Binding 0
                              Decorate 56(localPayload) Location 0
                              Decorate 58(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:             TypeFloat 32
              17:             TypeVector 16(float) 3
              18:             TypePointer Function 17(fvec3)
              20:             TypePointer Input 17(fvec3)
21(gl_WorldRayOriginNV):     20(ptr) Variable Input
24(gl_WorldRayDirectionNV):     20(ptr) Variable Input
              26:             TypePointer Function 6(int)
              28:             TypePointer Input 6(int)
29(gl_IncomingRayFlagsNV):     28(ptr) Variable Input
              31:             TypePointer Function 16(float)
              33:             TypePointer Input 16(float)
34(gl_RayTminNV):     33(ptr) Variable Input
37(gl_RayTmaxNV):     33(ptr) Variable Input
              39:             TypeAccelerationStructureKHR
              40:             TypePointer UniformConstant 39
       41(accNV):     40(ptr) Variable UniformConstant
              43:      6(int) Constant 0
              44:      6(int) Constant 1
              45:      6(int) Constant 2
              46:      6(int) Constant 3
              47:   16(float) Constant 1056964608
              48:   17(fvec3) ConstantComposite 47 47 47
              49:   16(float) Constant 1065353216
              50:   17(fvec3) ConstantComposite 49 49 49
              51:   16(float) Constant 1061158912
              52:             TypeInt 32 1
              53:     52(int) Constant 1
              54:             TypeVector 16(float) 4
              55:             TypePointer RayPayloadKHR 54(fvec4)
56(localPayload):     55(ptr) Variable RayPayloadKHR
              57:             TypePointer IncomingRayPayloadKHR 54(fvec4)
58(incomingPayload):     57(ptr) Variable IncomingRayPayloadKHR
         4(main):           2 Function None 3
               5:             Label
           9(v0):      8(ptr) Variable Function
          13(v1):      8(ptr) Variable Function
          19(v2):     18(ptr) Variable Function
          23(v3):     18(ptr) Variable Function
          27(v4):     26(ptr) Variable Function
          32(v6):     31(ptr) Variable Function
          36(v7):     31(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
              22:   17(fvec3) Load 21(gl_WorldRayOriginNV)
                              Store 19(v2) 22
              25:   17(fvec3) Load 24(gl_WorldRayDirectionNV)
                              Store 23(v3) 25
              30:      6(int) Load 29(gl_IncomingRayFlagsNV)
                              Store 27(v4) 30
              35:   16(float) Load 34(gl_RayTminNV)
                              Store 32(v6) 35
              38:   16(float) Load 37(gl_RayTmaxNV)
                              Store 36(v7) 38
              42:          39 Load 41(accNV)
                              TraceNV 42 43 44 45 46 43 48 47 50 51 53
                              Return
                              FunctionEnd
