spv.RayGenShader11.rgen
// Module Version 10300
// Generated by (magic number): 80007
// Id's are bound by 60

                              Capability RayTracingNV
                              Extension  "SPV_NV_ray_tracing"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint RayGenerationNV 4  "main" 11 21
                              Source GLSL 460
                              SourceExtension  "GL_NV_ray_tracing"
                              Name 4  "main"
                              Name 8  "lx"
                              Name 11  "gl_LaunchIDNV"
                              Name 16  "ly"
                              Name 20  "sx"
                              Name 21  "gl_LaunchSizeNV"
                              Name 24  "sy"
                              Name 29  "accNV"
                              Name 48  "block"
                              MemberName 48(block) 0  "arr"
                              MemberName 48(block) 1  "pad"
                              Name 50  ""
                              Name 56  "payload"
                              Decorate 11(gl_LaunchIDNV) BuiltIn LaunchIdNV
                              Decorate 21(gl_LaunchSizeNV) BuiltIn LaunchSizeNV
                              Decorate 29(accNV) DescriptorSet 0
                              Decorate 29(accNV) Binding 0
                              Decorate 46 ArrayStride 4
                              MemberDecorate 48(block) 0 Offset 0
                              MemberDecorate 48(block) 1 Offset 16
                              Decorate 48(block) Block
                              Decorate 56(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_LaunchIDNV):     10(ptr) Variable Input
              12:      6(int) Constant 0
              13:             TypePointer Input 6(int)
              17:      6(int) Constant 1
21(gl_LaunchSizeNV):     10(ptr) Variable Input
              27:             TypeAccelerationStructureNV
              28:             TypePointer UniformConstant 27
       29(accNV):     28(ptr) Variable UniformConstant
              35:             TypeFloat 32
              36:             TypeVector 35(float) 3
              37:   35(float) Constant 0
              38:   36(fvec3) ConstantComposite 37 37 37
              39:   35(float) Constant 1056964608
              40:   35(float) Constant 1065353216
              41:   36(fvec3) ConstantComposite 40 40 40
              42:   35(float) Constant 1061158912
              43:             TypeInt 32 1
              44:     43(int) Constant 1
              45:      6(int) Constant 4
              46:             TypeArray 35(float) 45
              47:             TypeVector 35(float) 4
       48(block):             TypeStruct 46 47(fvec4)
              49:             TypePointer ShaderRecordBufferNV 48(block)
              50:     49(ptr) Variable ShaderRecordBufferNV
              51:     43(int) Constant 0
              52:     43(int) Constant 3
              53:             TypePointer ShaderRecordBufferNV 35(float)
              55:             TypePointer RayPayloadNV 47(fvec4)
     56(payload):     55(ptr) Variable RayPayloadNV
              58:             TypePointer ShaderRecordBufferNV 47(fvec4)
         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_LaunchIDNV) 12
              15:      6(int) Load 14
                              Store 8(lx) 15
              18:     13(ptr) AccessChain 11(gl_LaunchIDNV) 17
              19:      6(int) Load 18
                              Store 16(ly) 19
              22:     13(ptr) AccessChain 21(gl_LaunchSizeNV) 12
              23:      6(int) Load 22
                              Store 20(sx) 23
              25:     13(ptr) AccessChain 21(gl_LaunchSizeNV) 17
              26:      6(int) Load 25
                              Store 24(sy) 26
              30:          27 Load 29(accNV)
              31:      6(int) Load 8(lx)
              32:      6(int) Load 16(ly)
              33:      6(int) Load 20(sx)
              34:      6(int) Load 24(sy)
                              TraceNV 30 31 32 33 34 12 38 39 41 42 44
              54:     53(ptr) AccessChain 50 51 52
                              Store 54 40
              57:   47(fvec4) Load 56(payload)
              59:     58(ptr) AccessChain 50 44
                              Store 59 57
                              Return
                              FunctionEnd
