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

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