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

                              Capability ShaderNonUniformEXT
                              Capability RuntimeDescriptorArrayEXT
                              Capability RayTracingProvisionalKHR
                              Extension  "SPV_EXT_descriptor_indexing"
                              Extension  "SPV_KHR_ray_tracing"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint RayGenerationKHR 4  "main" 11 21 30 36 60 88
                              Source GLSL 460
                              SourceExtension  "GL_EXT_nonuniform_qualifier"
                              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 30  "accEXT0"
                              Name 34  "block"
                              MemberName 34(block) 0  "dir"
                              MemberName 34(block) 1  "origin"
                              MemberName 34(block) 2  "i"
                              Name 36  ""
                              Name 60  "accEXT1"
                              Name 88  "payload"
                              Decorate 11(gl_LaunchIDEXT) BuiltIn LaunchIdKHR
                              Decorate 21(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR
                              Decorate 30(accEXT0) DescriptorSet 0
                              Decorate 30(accEXT0) Binding 0
                              MemberDecorate 34(block) 0 Offset 0
                              MemberDecorate 34(block) 1 Offset 16
                              MemberDecorate 34(block) 2 Offset 28
                              Decorate 34(block) Block
                              Decorate 60(accEXT1) DescriptorSet 0
                              Decorate 60(accEXT1) Binding 1
                              Decorate 75 DecorationNonUniformEXT
                              Decorate 76 DecorationNonUniformEXT
                              Decorate 77 DecorationNonUniformEXT
                              Decorate 88(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:             TypeRuntimeArray 27
              29:             TypePointer UniformConstant 28
     30(accEXT0):     29(ptr) Variable UniformConstant
              31:             TypeFloat 32
              32:             TypeVector 31(float) 3
              33:             TypeInt 32 1
       34(block):             TypeStruct 32(fvec3) 32(fvec3) 33(int)
              35:             TypePointer ShaderRecordBufferKHR 34(block)
              36:     35(ptr) Variable ShaderRecordBufferKHR
              37:     33(int) Constant 2
              38:             TypePointer ShaderRecordBufferKHR 33(int)
              41:             TypePointer UniformConstant 27
              48:     33(int) Constant 1
              49:             TypePointer ShaderRecordBufferKHR 32(fvec3)
              52:   31(float) Constant 1056964608
              53:     33(int) Constant 0
              56:   31(float) Constant 1061158912
              57:      6(int) Constant 2
              58:             TypeArray 27 57
              59:             TypePointer UniformConstant 58
     60(accEXT1):     59(ptr) Variable UniformConstant
              86:             TypeVector 31(float) 4
              87:             TypePointer RayPayloadKHR 86(fvec4)
     88(payload):     87(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
              39:     38(ptr) AccessChain 36 37
              40:     33(int) Load 39
              42:     41(ptr) AccessChain 30(accEXT0) 40
              43:          27 Load 42
              44:      6(int) Load 8(lx)
              45:      6(int) Load 16(ly)
              46:      6(int) Load 20(sx)
              47:      6(int) Load 24(sy)
              50:     49(ptr) AccessChain 36 48
              51:   32(fvec3) Load 50
              54:     49(ptr) AccessChain 36 53
              55:   32(fvec3) Load 54
                              TraceRayKHR 43 44 45 46 47 12 51 52 55 56 48
              61:     38(ptr) AccessChain 36 37
              62:     33(int) Load 61
              63:     41(ptr) AccessChain 60(accEXT1) 62
              64:          27 Load 63
              65:      6(int) Load 8(lx)
              66:      6(int) Load 16(ly)
              67:      6(int) Load 20(sx)
              68:      6(int) Load 24(sy)
              69:     49(ptr) AccessChain 36 48
              70:   32(fvec3) Load 69
              71:     49(ptr) AccessChain 36 53
              72:   32(fvec3) Load 71
                              TraceRayKHR 64 65 66 67 68 12 70 52 72 56 48
              73:     38(ptr) AccessChain 36 37
              74:     33(int) Load 73
              75:     33(int) CopyObject 74
              76:     41(ptr) AccessChain 30(accEXT0) 75
              77:          27 Load 76
              78:      6(int) Load 8(lx)
              79:      6(int) Load 16(ly)
              80:      6(int) Load 20(sx)
              81:      6(int) Load 24(sy)
              82:     49(ptr) AccessChain 36 48
              83:   32(fvec3) Load 82
              84:     49(ptr) AccessChain 36 53
              85:   32(fvec3) Load 84
                              TraceRayKHR 77 78 79 80 81 12 83 52 85 56 48
                              Return
                              FunctionEnd
