spv.ext.RayGenShader11.rgen
// Module Version 10400
// Generated by (magic number): 8000a
// Id's are bound by 53

                              Capability RayTracingProvisionalKHR
                              Extension  "SPV_KHR_ray_tracing"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint RayGenerationKHR 4  "main" 11 21 29 39 52
                              Source GLSL 460
                              SourceExtension  "GL_EXT_ray_tracing"
                              Name 4  "main"
                              Name 8  "lx"
                              Name 11  "gl_LaunchIDEXT"
                              Name 16  "ly"
                              Name 20  "sx"
                              Name 21  "gl_LaunchSizeEXT"
                              Name 24  "sy"
                              Name 29  "accEXT"
                              Name 37  "block"
                              MemberName 37(block) 0  "dir"
                              MemberName 37(block) 1  "origin"
                              Name 39  ""
                              Name 52  "payload"
                              Decorate 11(gl_LaunchIDEXT) BuiltIn LaunchIdKHR
                              Decorate 21(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR
                              Decorate 29(accEXT) DescriptorSet 0
                              Decorate 29(accEXT) Binding 0
                              MemberDecorate 37(block) 0 Offset 0
                              MemberDecorate 37(block) 1 Offset 16
                              Decorate 37(block) Block
                              Decorate 52(payload) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 0
               7:             TypePointer Function 6(int)
               9:             TypeVector 6(int) 3
              10:             TypePointer Input 9(ivec3)
11(gl_LaunchIDEXT):     10(ptr) Variable Input
              12:      6(int) Constant 0
              13:             TypePointer Input 6(int)
              17:      6(int) Constant 1
21(gl_LaunchSizeEXT):     10(ptr) Variable Input
              27:             TypeAccelerationStructureKHR
              28:             TypePointer UniformConstant 27
      29(accEXT):     28(ptr) Variable UniformConstant
              35:             TypeFloat 32
              36:             TypeVector 35(float) 3
       37(block):             TypeStruct 36(fvec3) 36(fvec3)
              38:             TypePointer ShaderRecordBufferKHR 37(block)
              39:     38(ptr) Variable ShaderRecordBufferKHR
              40:             TypeInt 32 1
              41:     40(int) Constant 1
              42:             TypePointer ShaderRecordBufferKHR 36(fvec3)
              45:   35(float) Constant 1056964608
              46:     40(int) Constant 0
              49:   35(float) Constant 1061158912
              50:             TypeVector 35(float) 4
              51:             TypePointer RayPayloadKHR 50(fvec4)
     52(payload):     51(ptr) Variable RayPayloadKHR
         4(main):           2 Function None 3
               5:             Label
           8(lx):      7(ptr) Variable Function
          16(ly):      7(ptr) Variable Function
          20(sx):      7(ptr) Variable Function
          24(sy):      7(ptr) Variable Function
              14:     13(ptr) AccessChain 11(gl_LaunchIDEXT) 12
              15:      6(int) Load 14
                              Store 8(lx) 15
              18:     13(ptr) AccessChain 11(gl_LaunchIDEXT) 17
              19:      6(int) Load 18
                              Store 16(ly) 19
              22:     13(ptr) AccessChain 21(gl_LaunchSizeEXT) 12
              23:      6(int) Load 22
                              Store 20(sx) 23
              25:     13(ptr) AccessChain 21(gl_LaunchSizeEXT) 17
              26:      6(int) Load 25
                              Store 24(sy) 26
              30:          27 Load 29(accEXT)
              31:      6(int) Load 8(lx)
              32:      6(int) Load 16(ly)
              33:      6(int) Load 20(sx)
              34:      6(int) Load 24(sy)
              43:     42(ptr) AccessChain 39 41
              44:   36(fvec3) Load 43
              47:     42(ptr) AccessChain 39 46
              48:   36(fvec3) Load 47
                              TraceRayKHR 30 31 32 33 34 12 44 45 48 49 41
                              Return
                              FunctionEnd
