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

                              Capability RayTraversalPrimitiveCullingProvisionalKHR
                              Capability RayTracingProvisionalKHR
                              Extension  "SPV_KHR_ray_tracing"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint RayGenerationKHR 4  "main" 11 21 29 40 51 54 57
                              Source GLSL 460
                              SourceExtension  "GL_EXT_ray_flags_primitive_culling"
                              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 29  "accEXT0"
                              Name 38  "block"
                              MemberName 38(block) 0  "dir"
                              MemberName 38(block) 1  "origin"
                              Name 40  ""
                              Name 51  "accEXT1"
                              Name 54  "imageu"
                              Name 57  "payload"
                              Decorate 11(gl_LaunchIDEXT) BuiltIn LaunchIdKHR
                              Decorate 21(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR
                              Decorate 29(accEXT0) DescriptorSet 0
                              Decorate 29(accEXT0) Binding 0
                              MemberDecorate 38(block) 0 Offset 0
                              MemberDecorate 38(block) 1 Offset 16
                              Decorate 38(block) Block
                              Decorate 40 DescriptorSet 0
                              Decorate 40 Binding 3
                              Decorate 51(accEXT1) DescriptorSet 0
                              Decorate 51(accEXT1) Binding 1
                              Decorate 54(imageu) DescriptorSet 0
                              Decorate 54(imageu) Binding 2
                              Decorate 57(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:             TypePointer UniformConstant 27
     29(accEXT0):     28(ptr) Variable UniformConstant
              35:      6(int) Constant 768
              36:             TypeFloat 32
              37:             TypeVector 36(float) 3
       38(block):             TypeStruct 37(fvec3) 37(fvec3)
              39:             TypePointer ShaderRecordBufferKHR 38(block)
              40:     39(ptr) Variable ShaderRecordBufferKHR
              41:             TypeInt 32 1
              42:     41(int) Constant 1
              43:             TypePointer ShaderRecordBufferKHR 37(fvec3)
              46:   36(float) Constant 1056964608
              47:     41(int) Constant 0
              50:   36(float) Constant 1061158912
     51(accEXT1):     28(ptr) Variable UniformConstant
              52:             TypeImage 6(int) 2D nonsampled format:R32ui
              53:             TypePointer UniformConstant 52
      54(imageu):     53(ptr) Variable UniformConstant
              55:             TypeVector 36(float) 4
              56:             TypePointer RayPayloadKHR 55(fvec4)
     57(payload):     56(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
              30:          27 Load 29(accEXT0)
              31:      6(int) Load 8(lx)
              32:      6(int) Load 16(ly)
              33:      6(int) Load 20(sx)
              34:      6(int) Load 24(sy)
              44:     43(ptr) AccessChain 40 42
              45:   37(fvec3) Load 44
              48:     43(ptr) AccessChain 40 47
              49:   37(fvec3) Load 48
                              TraceRayKHR 30 31 32 33 34 35 45 46 49 50 42
                              Return
                              FunctionEnd
