spv.ext.RayGenSBTlayout430.rgen
// Module Version 10400
// Generated by (magic number): 8000b
// Id's are bound by 74

                              Capability Int64
                              Capability RayTracingKHR
                              Extension  "SPV_KHR_ray_tracing"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint RayGenerationKHR 4  "main" 11 21 38 60
                              Source GLSL 460
                              SourceExtension  "GL_ARB_gpu_shader_int64"
                              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 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"
                              MemberName 36(block) 5  "arr"
                              MemberName 36(block) 6  "a"
                              MemberName 36(block) 7  "arr3"
                              MemberName 36(block) 8  "packme"
                              MemberName 36(block) 9  "b"
                              MemberName 36(block) 10  "c"
                              Name 38  ""
                              Name 60  "payload"
                              Decorate 11(gl_LaunchIDEXT) BuiltIn LaunchIdKHR
                              Decorate 21(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR
                              Decorate 34 ArrayStride 8
                              Decorate 35 ArrayStride 16
                              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
                              MemberDecorate 36(block) 5 Offset 48
                              MemberDecorate 36(block) 6 Offset 64
                              MemberDecorate 36(block) 7 Offset 80
                              MemberDecorate 36(block) 8 Offset 112
                              MemberDecorate 36(block) 9 Offset 120
                              MemberDecorate 36(block) 10 Offset 128
                              Decorate 36(block) Block
               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:             TypeFloat 32
              28:             TypeVector 27(float) 3
              29:             TypeInt 32 1
              30:             TypeVector 6(int) 2
              31:             TypeInt 64 0
              32:             TypeVector 27(float) 2
              33:      6(int) Constant 2
              34:             TypeArray 32(fvec2) 33
              35:             TypeArray 28(fvec3) 33
       36(block):             TypeStruct 28(fvec3) 28(fvec3) 29(int) 30(ivec2) 31(int64_t) 34 27(float) 35 27(float) 32(fvec2) 27(float)
              37:             TypePointer ShaderRecordBufferKHR 36(block)
              38:     37(ptr) Variable ShaderRecordBufferKHR
              39:     29(int) Constant 3
              40:             TypePointer ShaderRecordBufferKHR 30(ivec2)
              43:             TypeAccelerationStructureKHR
              49:     29(int) Constant 1
              50:             TypePointer ShaderRecordBufferKHR 28(fvec3)
              53:   27(float) Constant 1056964608
              54:     29(int) Constant 0
              57:   27(float) Constant 1061158912
              58:             TypeVector 27(float) 4
              59:             TypePointer RayPayloadKHR 58(fvec4)
     60(payload):     59(ptr) Variable RayPayloadKHR
              61:     29(int) Constant 4
              62:             TypePointer ShaderRecordBufferKHR 31(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:   30(ivec2) Load 41
              44:          43 ConvertUToAccelerationStructureKHR 42
              45:      6(int) Load 8(lx)
              46:      6(int) Load 16(ly)
              47:      6(int) Load 20(sx)
              48:      6(int) Load 24(sy)
              51:     50(ptr) AccessChain 38 49
              52:   28(fvec3) Load 51
              55:     50(ptr) AccessChain 38 54
              56:   28(fvec3) Load 55
                              TraceRayKHR 44 45 46 47 48 12 52 53 56 57 60(payload)
              63:     62(ptr) AccessChain 38 61
              64: 31(int64_t) Load 63
              65:          43 ConvertUToAccelerationStructureKHR 64
              66:      6(int) Load 8(lx)
              67:      6(int) Load 16(ly)
              68:      6(int) Load 20(sx)
              69:      6(int) Load 24(sy)
              70:     50(ptr) AccessChain 38 49
              71:   28(fvec3) Load 70
              72:     50(ptr) AccessChain 38 54
              73:   28(fvec3) Load 72
                              TraceRayKHR 65 66 67 68 69 12 71 53 73 57 60(payload)
                              Return
                              FunctionEnd
