spv.RayCallable.rcall
// Module Version 10000
// Generated by (magic number): 80008
// Id's are bound by 30

                              Capability RayTracingNV
                              Extension  "SPV_NV_ray_tracing"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint CallableNV 4  "main" 11 14
                              Source GLSL 460
                              SourceExtension  "GL_NV_ray_tracing"
                              Name 4  "main"
                              Name 9  "id"
                              Name 11  "gl_LaunchIDNV"
                              Name 13  "size"
                              Name 14  "gl_LaunchSizeNV"
                              Name 16  "dataBlock"
                              MemberName 16(dataBlock) 0  "data1"
                              Name 18  ""
                              Name 29  "data0"
                              Decorate 11(gl_LaunchIDNV) BuiltIn LaunchIdNV
                              Decorate 14(gl_LaunchSizeNV) BuiltIn LaunchSizeNV
                              Decorate 16(dataBlock) Block
                              Decorate 18 Location 1
                              Decorate 29(data0) Location 0
               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(dataBlock):             TypeStruct 6(int)
              17:             TypePointer IncomingCallableDataNV 16(dataBlock)
              18:     17(ptr) Variable IncomingCallableDataNV
              19:             TypeInt 32 1
              20:     19(int) Constant 0
              21:      6(int) Constant 256
              22:             TypePointer IncomingCallableDataNV 6(int)
              24:      6(int) Constant 2
              25:     19(int) Constant 1
              26:             TypeFloat 32
              27:             TypeVector 26(float) 4
              28:             TypePointer CallableDataNV 27(fvec4)
       29(data0):     28(ptr) Variable CallableDataNV
         4(main):           2 Function None 3
               5:             Label
           9(id):      8(ptr) Variable Function
        13(size):      8(ptr) Variable Function
              12:    7(ivec3) Load 11(gl_LaunchIDNV)
                              Store 9(id) 12
              15:    7(ivec3) Load 14(gl_LaunchSizeNV)
                              Store 13(size) 15
              23:     22(ptr) AccessChain 18 20
                              Store 23 21
                              ExecuteCallableNV 24 25
                              Return
                              FunctionEnd
