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

                              Capability Int64
                              Capability RayTracingKHR
                              Capability ShaderNonUniformEXT
                              Capability RuntimeDescriptorArrayEXT
                              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 38 61 65
                              Source GLSL 460
                              SourceExtension  "GL_ARB_gpu_shader_int64"
                              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 36  "block"
                              MemberName 36(block) 0  "dir"
                              MemberName 36(block) 1  "origin"
                              MemberName 36(block) 2  "i"
                              MemberName 36(block) 3  "aHandle32"
                              MemberName 36(block) 4  "aHandle64"
                              Name 38  ""
                              Name 61  "payload"
                              Name 65  "accEXT1"
                              Decorate 11(gl_LaunchIDEXT) BuiltIn LaunchIdKHR
                              Decorate 21(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR
                              Decorate 30(accEXT0) DescriptorSet 0
                              Decorate 30(accEXT0) Binding 0
                              MemberDecorate 36(block) 0 Offset 0
                              MemberDecorate 36(block) 1 Offset 16
                              MemberDecorate 36(block) 2 Offset 28
                              MemberDecorate 36(block) 3 Offset 32
                              MemberDecorate 36(block) 4 Offset 40
                              Decorate 36(block) Block
                              Decorate 38 DescriptorSet 0
                              Decorate 38 Binding 2
                              Decorate 61(payload) Location 1
                              Decorate 65(accEXT1) DescriptorSet 0
                              Decorate 65(accEXT1) Binding 1
                              Decorate 80 DecorationNonUniformEXT
                              Decorate 81 DecorationNonUniformEXT
                              Decorate 82 DecorationNonUniformEXT
               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:             TypeVector 6(int) 2
              35:             TypeInt 64 0
       36(block):             TypeStruct 32(fvec3) 32(fvec3) 33(int) 34(ivec2) 35(int64_t)
              37:             TypePointer ShaderRecordBufferKHR 36(block)
              38:     37(ptr) Variable ShaderRecordBufferKHR
              39:     33(int) Constant 2
              40:             TypePointer ShaderRecordBufferKHR 33(int)
              43:             TypePointer UniformConstant 27
              50:     33(int) Constant 1
              51:             TypePointer ShaderRecordBufferKHR 32(fvec3)
              54:   31(float) Constant 1056964608
              55:     33(int) Constant 0
              58:   31(float) Constant 1061158912
              59:             TypeVector 31(float) 4
              60:             TypePointer RayPayloadKHR 59(fvec4)
     61(payload):     60(ptr) Variable RayPayloadKHR
              62:      6(int) Constant 2
              63:             TypeArray 27 62
              64:             TypePointer UniformConstant 63
     65(accEXT1):     64(ptr) Variable UniformConstant
              91:     33(int) Constant 3
              92:             TypePointer ShaderRecordBufferKHR 34(ivec2)
             104:     33(int) Constant 4
             105:             TypePointer ShaderRecordBufferKHR 35(int64_t)
         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
              41:     40(ptr) AccessChain 38 39
              42:     33(int) Load 41
              44:     43(ptr) AccessChain 30(accEXT0) 42
              45:          27 Load 44
              46:      6(int) Load 8(lx)
              47:      6(int) Load 16(ly)
              48:      6(int) Load 20(sx)
              49:      6(int) Load 24(sy)
              52:     51(ptr) AccessChain 38 50
              53:   32(fvec3) Load 52
              56:     51(ptr) AccessChain 38 55
              57:   32(fvec3) Load 56
                              TraceRayKHR 45 46 47 48 49 12 53 54 57 58 61(payload)
              66:     40(ptr) AccessChain 38 39
              67:     33(int) Load 66
              68:     43(ptr) AccessChain 65(accEXT1) 67
              69:          27 Load 68
              70:      6(int) Load 8(lx)
              71:      6(int) Load 16(ly)
              72:      6(int) Load 20(sx)
              73:      6(int) Load 24(sy)
              74:     51(ptr) AccessChain 38 50
              75:   32(fvec3) Load 74
              76:     51(ptr) AccessChain 38 55
              77:   32(fvec3) Load 76
                              TraceRayKHR 69 70 71 72 73 12 75 54 77 58 61(payload)
              78:     40(ptr) AccessChain 38 39
              79:     33(int) Load 78
              80:     33(int) CopyObject 79
              81:     43(ptr) AccessChain 30(accEXT0) 80
              82:          27 Load 81
              83:      6(int) Load 8(lx)
              84:      6(int) Load 16(ly)
              85:      6(int) Load 20(sx)
              86:      6(int) Load 24(sy)
              87:     51(ptr) AccessChain 38 50
              88:   32(fvec3) Load 87
              89:     51(ptr) AccessChain 38 55
              90:   32(fvec3) Load 89
                              TraceRayKHR 82 83 84 85 86 12 88 54 90 58 61(payload)
              93:     92(ptr) AccessChain 38 91
              94:   34(ivec2) Load 93
              95:          27 ConvertUToAccelerationStructureKHR 94
              96:      6(int) Load 8(lx)
              97:      6(int) Load 16(ly)
              98:      6(int) Load 20(sx)
              99:      6(int) Load 24(sy)
             100:     51(ptr) AccessChain 38 50
             101:   32(fvec3) Load 100
             102:     51(ptr) AccessChain 38 55
             103:   32(fvec3) Load 102
                              TraceRayKHR 95 96 97 98 99 12 101 54 103 58 61(payload)
             106:    105(ptr) AccessChain 38 104
             107: 35(int64_t) Load 106
             108:          27 ConvertUToAccelerationStructureKHR 107
             109:      6(int) Load 8(lx)
             110:      6(int) Load 16(ly)
             111:      6(int) Load 20(sx)
             112:      6(int) Load 24(sy)
             113:     51(ptr) AccessChain 38 50
             114:   32(fvec3) Load 113
             115:     51(ptr) AccessChain 38 55
             116:   32(fvec3) Load 115
                              TraceRayKHR 108 109 110 111 112 12 114 54 116 58 61(payload)
                              Return
                              FunctionEnd
