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

                              Capability RayTracingNV
                              Extension  "SPV_NV_ray_tracing"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint CallableKHR 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 LaunchIdKHR
                              Decorate 14(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR
                              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 IncomingCallableDataKHR 16(dataBlock)
              18:     17(ptr) Variable IncomingCallableDataKHR
              19:             TypeInt 32 1
              20:     19(int) Constant 0
              21:      6(int) Constant 256
              22:             TypePointer IncomingCallableDataKHR 6(int)
              24:      6(int) Constant 2
              25:     19(int) Constant 1
              26:             TypeFloat 32
              27:             TypeVector 26(float) 4
              28:             TypePointer CallableDataKHR 27(fvec4)
       29(data0):     28(ptr) Variable CallableDataKHR
         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
