spv.ext.RayGenSBTlayoutscalar.rgen
// Module Version 10400
// Generated by (magic number): 8000a
// 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"
                              SourceExtension  "GL_EXT_scalar_block_layout"
                              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 12
                              MemberDecorate 36(block) 0 Offset 0
                              MemberDecorate 36(block) 1 Offset 12
                              MemberDecorate 36(block) 2 Offset 24
                              MemberDecorate 36(block) 3 Offset 28
                              MemberDecorate 36(block) 4 Offset 40
                              MemberDecorate 36(block) 5 Offset 48
                              MemberDecorate 36(block) 6 Offset 64
                              MemberDecorate 36(block) 7 Offset 68
                              MemberDecorate 36(block) 8 Offset 92
                              MemberDecorate 36(block) 9 Offset 96
                              MemberDecorate 36(block) 10 Offset 104
                              Decorate 36(block) Block
                              Decorate 60(payload) Location 1
               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
