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

                              Capability RayTracingProvisionalKHR
                              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 25
                              Return
                              FunctionEnd
