rayQuery-no-cse.rgen
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 107

                              Capability RayQueryKHR
                              Capability RayTracingNV
                              Extension  "SPV_KHR_ray_query"
                              Extension  "SPV_NV_ray_tracing"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint RayGenerationKHR 4  "main" 23 28
                              Source GLSL 460
                              SourceExtension  "GL_EXT_ray_query"
                              SourceExtension  "GL_NV_ray_tracing"
                              Name 4  "main"
                              Name 8  "launchIndex("
                              Name 14  "Ray"
                              MemberName 14(Ray) 0  "pos"
                              MemberName 14(Ray) 1  "tmin"
                              MemberName 14(Ray) 2  "dir"
                              MemberName 14(Ray) 3  "tmax"
                              Name 19  "doInitialize(rq1;struct-Ray-vf3-f1-vf3-f11;"
                              Name 17  "rayQuery"
                              Name 18  "ray"
                              Name 23  "gl_LaunchIDNV"
                              Name 28  "gl_LaunchSizeNV"
                              Name 50  "rtas"
                              Name 69  "index"
                              Name 71  "ray"
                              Name 72  "Ray"
                              MemberName 72(Ray) 0  "pos"
                              MemberName 72(Ray) 1  "tmin"
                              MemberName 72(Ray) 2  "dir"
                              MemberName 72(Ray) 3  "tmax"
                              Name 74  "Rays"
                              MemberName 74(Rays) 0  "rays"
                              Name 76  ""
                              Name 89  "rayQuery1"
                              Name 90  "param"
                              Name 103  "rayQuery2"
                              Name 104  "param"
                              Decorate 23(gl_LaunchIDNV) BuiltIn LaunchIdKHR
                              Decorate 28(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR
                              Decorate 50(rtas) DescriptorSet 0
                              Decorate 50(rtas) Binding 0
                              MemberDecorate 72(Ray) 0 Offset 0
                              MemberDecorate 72(Ray) 1 Offset 12
                              MemberDecorate 72(Ray) 2 Offset 16
                              MemberDecorate 72(Ray) 3 Offset 28
                              Decorate 73 ArrayStride 32
                              MemberDecorate 74(Rays) 0 Offset 0
                              Decorate 74(Rays) BufferBlock
                              Decorate 76 DescriptorSet 0
                              Decorate 76 Binding 2
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 0
               7:             TypeFunction 6(int)
              10:             TypeRayQueryKHR
              11:             TypePointer Private 10
              12:             TypeFloat 32
              13:             TypeVector 12(float) 3
         14(Ray):             TypeStruct 13(fvec3) 12(float) 13(fvec3) 12(float)
              15:             TypePointer Function 14(Ray)
              16:             TypeFunction 2 11(ptr) 15(ptr)
              21:             TypeVector 6(int) 3
              22:             TypePointer Input 21(ivec3)
23(gl_LaunchIDNV):     22(ptr) Variable Input
              24:      6(int) Constant 2
              25:             TypePointer Input 6(int)
28(gl_LaunchSizeNV):     22(ptr) Variable Input
              29:      6(int) Constant 0
              33:      6(int) Constant 1
              48:             TypeAccelerationStructureKHR
              49:             TypePointer UniformConstant 48
        50(rtas):     49(ptr) Variable UniformConstant
              52:      6(int) Constant 16
              53:             TypeInt 32 1
              54:     53(int) Constant 0
              55:             TypePointer Function 13(fvec3)
              58:     53(int) Constant 1
              59:             TypePointer Function 12(float)
              62:     53(int) Constant 2
              65:     53(int) Constant 3
              68:             TypePointer Function 6(int)
         72(Ray):             TypeStruct 13(fvec3) 12(float) 13(fvec3) 12(float)
              73:             TypeRuntimeArray 72(Ray)
        74(Rays):             TypeStruct 73
              75:             TypePointer Uniform 74(Rays)
              76:     75(ptr) Variable Uniform
              78:             TypePointer Uniform 72(Ray)
   89(rayQuery1):     11(ptr) Variable Private
              94:      6(int) Constant 32
  103(rayQuery2):     11(ptr) Variable Private
         4(main):           2 Function None 3
               5:             Label
       69(index):     68(ptr) Variable Function
         71(ray):     15(ptr) Variable Function
       90(param):     15(ptr) Variable Function
      104(param):     15(ptr) Variable Function
              70:      6(int) FunctionCall 8(launchIndex()
                              Store 69(index) 70
              77:      6(int) Load 69(index)
              79:     78(ptr) AccessChain 76 54 77
              80:     72(Ray) Load 79
              81:   13(fvec3) CompositeExtract 80 0
              82:     55(ptr) AccessChain 71(ray) 54
                              Store 82 81
              83:   12(float) CompositeExtract 80 1
              84:     59(ptr) AccessChain 71(ray) 58
                              Store 84 83
              85:   13(fvec3) CompositeExtract 80 2
              86:     55(ptr) AccessChain 71(ray) 62
                              Store 86 85
              87:   12(float) CompositeExtract 80 3
              88:     59(ptr) AccessChain 71(ray) 65
                              Store 88 87
              91:     14(Ray) Load 71(ray)
                              Store 90(param) 91
              92:           2 FunctionCall 19(doInitialize(rq1;struct-Ray-vf3-f1-vf3-f11;) 89(rayQuery1) 90(param)
              93:          48 Load 50(rtas)
              95:     55(ptr) AccessChain 71(ray) 54
              96:   13(fvec3) Load 95
              97:     59(ptr) AccessChain 71(ray) 58
              98:   12(float) Load 97
              99:     55(ptr) AccessChain 71(ray) 62
             100:   13(fvec3) Load 99
             101:     59(ptr) AccessChain 71(ray) 65
             102:   12(float) Load 101
                              RayQueryInitializeKHR 89(rayQuery1) 93 33 94 96 98 100 102
             105:     14(Ray) Load 71(ray)
                              Store 104(param) 105
             106:           2 FunctionCall 19(doInitialize(rq1;struct-Ray-vf3-f1-vf3-f11;) 103(rayQuery2) 104(param)
                              Return
                              FunctionEnd
 8(launchIndex():      6(int) Function None 7
               9:             Label
              26:     25(ptr) AccessChain 23(gl_LaunchIDNV) 24
              27:      6(int) Load 26
              30:     25(ptr) AccessChain 28(gl_LaunchSizeNV) 29
              31:      6(int) Load 30
              32:      6(int) IMul 27 31
              34:     25(ptr) AccessChain 28(gl_LaunchSizeNV) 33
              35:      6(int) Load 34
              36:      6(int) IMul 32 35
              37:     25(ptr) AccessChain 23(gl_LaunchIDNV) 33
              38:      6(int) Load 37
              39:     25(ptr) AccessChain 28(gl_LaunchSizeNV) 29
              40:      6(int) Load 39
              41:      6(int) IMul 38 40
              42:      6(int) IAdd 36 41
              43:     25(ptr) AccessChain 23(gl_LaunchIDNV) 29
              44:      6(int) Load 43
              45:      6(int) IAdd 42 44
                              ReturnValue 45
                              FunctionEnd
19(doInitialize(rq1;struct-Ray-vf3-f1-vf3-f11;):           2 Function None 16
    17(rayQuery):     11(ptr) FunctionParameter
         18(ray):     15(ptr) FunctionParameter
              20:             Label
              51:          48 Load 50(rtas)
              56:     55(ptr) AccessChain 18(ray) 54
              57:   13(fvec3) Load 56
              60:     59(ptr) AccessChain 18(ray) 58
              61:   12(float) Load 60
              63:     55(ptr) AccessChain 18(ray) 62
              64:   13(fvec3) Load 63
              66:     59(ptr) AccessChain 18(ray) 65
              67:   12(float) Load 66
                              RayQueryInitializeKHR 17(rayQuery) 51 29 52 57 61 64 67
                              Return
                              FunctionEnd
