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

                              Capability RayTracingKHR
                              Extension  "SPV_KHR_ray_tracing"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint CallableKHR 4  "main" 11 14 18 29
                              Source GLSL 460
                              SourceExtension  "GL_EXT_ray_tracing"
                              Name 4  "main"
                              Name 9  "id"
                              Name 11  "gl_LaunchIDEXT"
                              Name 13  "size"
                              Name 14  "gl_LaunchSizeEXT"
                              Name 16  "dataBlock"
                              MemberName 16(dataBlock) 0  "data1"
                              Name 18  ""
                              Name 29  "data0"
                              Decorate 11(gl_LaunchIDEXT) BuiltIn LaunchIdKHR
                              Decorate 14(gl_LaunchSizeEXT) 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_LaunchIDEXT):     10(ptr) Variable Input
14(gl_LaunchSizeEXT):     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_LaunchIDEXT)
                              Store 9(id) 12
              15:    7(ivec3) Load 14(gl_LaunchSizeEXT)
                              Store 13(size) 15
              23:     22(ptr) AccessChain 18 20
                              Store 23 21
                              ExecuteCallableKHR 24 18
                              Return
                              FunctionEnd
