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

                              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"
                              Source GLSL 460
                              SourceExtension  "GL_EXT_ray_query"
                              SourceExtension  "GL_NV_ray_tracing"
                              Name 4  "main"
                              Name 6  "doSomething("
                              Name 10  "Ray"
                              MemberName 10(Ray) 0  "pos"
                              MemberName 10(Ray) 1  "tmin"
                              MemberName 10(Ray) 2  "dir"
                              MemberName 10(Ray) 3  "tmax"
                              Name 12  "makeRayDesc("
                              Name 15  "Log"
                              MemberName 15(Log) 0  "x"
                              MemberName 15(Log) 1  "y"
                              Name 17  ""
                              Name 26  "ray"
                              Name 43  "ray"
                              Name 47  "rayQuery"
                              Name 50  "rtas"
                              Name 69  "candidateType"
                              Name 78  "_mat4x3"
                              Name 83  "_mat3x4"
                              Name 143  "t"
                              Name 156  "committedStatus"
                              Name 240  "o"
                              Name 242  "d"
                              Name 252  "Ray"
                              MemberName 252(Ray) 0  "pos"
                              MemberName 252(Ray) 1  "tmin"
                              MemberName 252(Ray) 2  "dir"
                              MemberName 252(Ray) 3  "tmax"
                              Name 254  "Rays"
                              MemberName 254(Rays) 0  "rays"
                              Name 256  ""
                              MemberDecorate 15(Log) 0 Offset 0
                              MemberDecorate 15(Log) 1 Offset 4
                              Decorate 15(Log) BufferBlock
                              Decorate 17 DescriptorSet 0
                              Decorate 17 Binding 0
                              Decorate 50(rtas) DescriptorSet 0
                              Decorate 50(rtas) Binding 1
                              MemberDecorate 252(Ray) 0 Offset 0
                              MemberDecorate 252(Ray) 1 Offset 12
                              MemberDecorate 252(Ray) 2 Offset 16
                              MemberDecorate 252(Ray) 3 Offset 28
                              Decorate 253 ArrayStride 32
                              MemberDecorate 254(Rays) 0 Offset 0
                              Decorate 254(Rays) BufferBlock
                              Decorate 256 DescriptorSet 0
                              Decorate 256 Binding 2
               2:             TypeVoid
               3:             TypeFunction 2
               8:             TypeFloat 32
               9:             TypeVector 8(float) 3
         10(Ray):             TypeStruct 9(fvec3) 8(float) 9(fvec3) 8(float)
              11:             TypeFunction 10(Ray)
              14:             TypeInt 32 0
         15(Log):             TypeStruct 14(int) 14(int)
              16:             TypePointer Uniform 15(Log)
              17:     16(ptr) Variable Uniform
              18:             TypeInt 32 1
              19:     18(int) Constant 0
              20:     14(int) Constant 0
              21:             TypePointer Uniform 14(int)
              23:     18(int) Constant 1
              25:             TypePointer Function 10(Ray)
              27:    8(float) Constant 0
              28:    9(fvec3) ConstantComposite 27 27 27
              29:             TypePointer Function 9(fvec3)
              31:     18(int) Constant 2
              32:    8(float) Constant 1065353216
              33:    9(fvec3) ConstantComposite 32 27 27
              35:             TypePointer Function 8(float)
              37:     18(int) Constant 3
              38:    8(float) Constant 1176255488
              45:             TypeRayQueryKHR
              46:             TypePointer Private 45
    47(rayQuery):     46(ptr) Variable Private
              48:             TypeAccelerationStructureKHR
              49:             TypePointer UniformConstant 48
        50(rtas):     49(ptr) Variable UniformConstant
              52:     14(int) Constant 255
              66:             TypeBool
              68:             TypePointer Function 14(int)
              70:    66(bool) ConstantFalse
              76:             TypeMatrix 9(fvec3) 4
              77:             TypePointer Function 76
              80:             TypeVector 8(float) 4
              81:             TypeMatrix 80(fvec4) 3
              82:             TypePointer Function 81
              86:    66(bool) ConstantTrue
              91:             TypeVector 8(float) 2
             144:    8(float) Constant 1056964608
             175:     14(int) Constant 1
             198:     14(int) Constant 2
        252(Ray):             TypeStruct 9(fvec3) 8(float) 9(fvec3) 8(float)
             253:             TypeRuntimeArray 252(Ray)
       254(Rays):             TypeStruct 253
             255:             TypePointer Uniform 254(Rays)
             256:    255(ptr) Variable Uniform
         4(main):           2 Function None 3
               5:             Label
         43(ray):     25(ptr) Variable Function
69(candidateType):     68(ptr) Variable Function
     78(_mat4x3):     77(ptr) Variable Function
     83(_mat3x4):     82(ptr) Variable Function
          143(t):     35(ptr) Variable Function
156(committedStatus):     68(ptr) Variable Function
          240(o):     29(ptr) Variable Function
          242(d):     29(ptr) Variable Function
              44:     10(Ray) FunctionCall 12(makeRayDesc()
                              Store 43(ray) 44
              51:          48 Load 50(rtas)
              53:     29(ptr) AccessChain 43(ray) 19
              54:    9(fvec3) Load 53
              55:     35(ptr) AccessChain 43(ray) 23
              56:    8(float) Load 55
              57:     29(ptr) AccessChain 43(ray) 31
              58:    9(fvec3) Load 57
              59:     35(ptr) AccessChain 43(ray) 37
              60:    8(float) Load 59
                              RayQueryInitializeKHR 47(rayQuery) 51 20 52 54 56 58 60
                              Branch 61
              61:             Label
                              LoopMerge 63 64 None
                              Branch 65
              65:             Label
              67:    66(bool) RayQueryProceedKHR 47(rayQuery)
                              BranchConditional 67 62 63
              62:               Label
              71:     14(int)   RayQueryGetIntersectionTypeKHR 47(rayQuery) 19
                                Store 69(candidateType) 71
              72:     14(int)   Load 69(candidateType)
                                SelectionMerge 75 None
                                Switch 72 75 
                                       case 0: 73
                                       case 1: 74
              73:                 Label
                                  RayQueryTerminateKHR 47(rayQuery)
              79:          76     RayQueryGetIntersectionObjectToWorldKHR 47(rayQuery) 19
                                  Store 78(_mat4x3) 79
              84:          76     Load 78(_mat4x3)
              85:          81     Transpose 84
                                  Store 83(_mat3x4) 85
                                  RayQueryConfirmIntersectionKHR 47(rayQuery)
              87:    66(bool)     RayQueryGetIntersectionFrontFaceKHR 47(rayQuery) 23
                                  SelectionMerge 89 None
                                  BranchConditional 87 88 89
              88:                   Label
              90:           2       FunctionCall 6(doSomething()
                                    Branch 89
              89:                 Label
              92:   91(fvec2)     RayQueryGetIntersectionBarycentricsKHR 47(rayQuery) 23
              93:    8(float)     CompositeExtract 92 0
              94:    66(bool)     FOrdEqual 93 27
                                  SelectionMerge 96 None
                                  BranchConditional 94 95 96
              95:                   Label
              97:           2       FunctionCall 6(doSomething()
                                    Branch 96
              96:                 Label
              98:     18(int)     RayQueryGetIntersectionInstanceCustomIndexKHR 47(rayQuery) 23
              99:    66(bool)     SGreaterThan 98 19
                                  SelectionMerge 101 None
                                  BranchConditional 99 100 101
             100:                   Label
             102:           2       FunctionCall 6(doSomething()
                                    Branch 101
             101:                 Label
             103:     18(int)     RayQueryGetIntersectionInstanceIdKHR 47(rayQuery) 23
             104:    66(bool)     SGreaterThan 103 19
                                  SelectionMerge 106 None
                                  BranchConditional 104 105 106
             105:                   Label
             107:           2       FunctionCall 6(doSomething()
                                    Branch 106
             106:                 Label
             108:    9(fvec3)     RayQueryGetIntersectionObjectRayDirectionKHR 47(rayQuery) 23
             109:    8(float)     CompositeExtract 108 0
             110:    66(bool)     FOrdGreaterThan 109 27
                                  SelectionMerge 112 None
                                  BranchConditional 110 111 112
             111:                   Label
             113:           2       FunctionCall 6(doSomething()
                                    Branch 112
             112:                 Label
             114:    9(fvec3)     RayQueryGetIntersectionObjectRayOriginKHR 47(rayQuery) 23
             115:    8(float)     CompositeExtract 114 0
             116:    66(bool)     FOrdGreaterThan 115 27
                                  SelectionMerge 118 None
                                  BranchConditional 116 117 118
             117:                   Label
             119:           2       FunctionCall 6(doSomething()
                                    Branch 118
             118:                 Label
             120:     18(int)     RayQueryGetIntersectionPrimitiveIndexKHR 47(rayQuery) 23
             121:    66(bool)     SGreaterThan 120 19
                                  SelectionMerge 123 None
                                  BranchConditional 121 122 123
             122:                   Label
             124:           2       FunctionCall 6(doSomething()
                                    Branch 123
             123:                 Label
             125:    8(float)     RayQueryGetIntersectionTKHR 47(rayQuery) 23
             126:    66(bool)     FOrdGreaterThan 125 27
                                  SelectionMerge 128 None
                                  BranchConditional 126 127 128
             127:                   Label
             129:           2       FunctionCall 6(doSomething()
                                    Branch 128
             128:                 Label
             130:     14(int)     RayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR 47(rayQuery) 23
             131:    66(bool)     UGreaterThan 130 20
                                  SelectionMerge 133 None
                                  BranchConditional 131 132 133
             132:                   Label
             134:           2       FunctionCall 6(doSomething()
                                    Branch 133
             133:                 Label
                                  Branch 75
              74:                 Label
             136:          76     RayQueryGetIntersectionObjectToWorldKHR 47(rayQuery) 19
                                  Store 78(_mat4x3) 136
             137:          76     Load 78(_mat4x3)
             138:          81     Transpose 137
                                  Store 83(_mat3x4) 138
             139:    66(bool)     RayQueryGetIntersectionCandidateAABBOpaqueKHR 47(rayQuery)
                                  SelectionMerge 141 None
                                  BranchConditional 139 140 141
             140:                   Label
             142:           2       FunctionCall 6(doSomething()
                                    Branch 141
             141:                 Label
                                  Store 143(t) 144
             145:    8(float)     Load 143(t)
                                  RayQueryGenerateIntersectionKHR 47(rayQuery) 145
                                  RayQueryTerminateKHR 47(rayQuery)
                                  Branch 75
              75:               Label
                                Branch 64
              64:               Label
                                Branch 61
              63:             Label
             148:     35(ptr) AccessChain 83(_mat3x4) 19 20
             149:    8(float) Load 148
             150:     35(ptr) AccessChain 78(_mat4x3) 19 20
             151:    8(float) Load 150
             152:    66(bool) FOrdEqual 149 151
                              SelectionMerge 154 None
                              BranchConditional 152 153 154
             153:               Label
             155:           2   FunctionCall 6(doSomething()
                                Branch 154
             154:             Label
             157:     14(int) RayQueryGetIntersectionTypeKHR 47(rayQuery) 23
                              Store 156(committedStatus) 157
             158:     14(int) Load 156(committedStatus)
                              SelectionMerge 162 None
                              Switch 158 162 
                                     case 0: 159
                                     case 1: 160
                                     case 2: 161
             159:               Label
             163:          76   RayQueryGetIntersectionWorldToObjectKHR 47(rayQuery) 19
                                Store 78(_mat4x3) 163
             164:          76   Load 78(_mat4x3)
             165:          81   Transpose 164
                                Store 83(_mat3x4) 165
                                Branch 162
             160:               Label
             167:          76   RayQueryGetIntersectionWorldToObjectKHR 47(rayQuery) 23
                                Store 78(_mat4x3) 167
             168:          76   Load 78(_mat4x3)
             169:          81   Transpose 168
                                Store 83(_mat3x4) 169
             170:    66(bool)   RayQueryGetIntersectionFrontFaceKHR 47(rayQuery) 23
                                SelectionMerge 172 None
                                BranchConditional 170 171 172
             171:                 Label
             173:           2     FunctionCall 6(doSomething()
                                  Branch 172
             172:               Label
             174:   91(fvec2)   RayQueryGetIntersectionBarycentricsKHR 47(rayQuery) 23
             176:    8(float)   CompositeExtract 174 1
             177:    66(bool)   FOrdEqual 176 27
                                SelectionMerge 179 None
                                BranchConditional 177 178 179
             178:                 Label
             180:           2     FunctionCall 6(doSomething()
                                  Branch 179
             179:               Label
                                Branch 162
             161:               Label
             182:     18(int)   RayQueryGetIntersectionGeometryIndexKHR 47(rayQuery) 23
             183:    66(bool)   SGreaterThan 182 19
                                SelectionMerge 185 None
                                BranchConditional 183 184 185
             184:                 Label
             186:           2     FunctionCall 6(doSomething()
                                  Branch 185
             185:               Label
             187:     18(int)   RayQueryGetIntersectionInstanceIdKHR 47(rayQuery) 23
             188:    66(bool)   SGreaterThan 187 19
                                SelectionMerge 190 None
                                BranchConditional 188 189 190
             189:                 Label
             191:           2     FunctionCall 6(doSomething()
                                  Branch 190
             190:               Label
             192:     18(int)   RayQueryGetIntersectionInstanceCustomIndexKHR 47(rayQuery) 23
             193:    66(bool)   SGreaterThan 192 19
                                SelectionMerge 195 None
                                BranchConditional 193 194 195
             194:                 Label
             196:           2     FunctionCall 6(doSomething()
                                  Branch 195
             195:               Label
             197:    9(fvec3)   RayQueryGetIntersectionObjectRayDirectionKHR 47(rayQuery) 23
             199:    8(float)   CompositeExtract 197 2
             200:    66(bool)   FOrdGreaterThan 199 27
                                SelectionMerge 202 None
                                BranchConditional 200 201 202
             201:                 Label
             203:           2     FunctionCall 6(doSomething()
                                  Branch 202
             202:               Label
             204:    9(fvec3)   RayQueryGetIntersectionObjectRayOriginKHR 47(rayQuery) 23
             205:    8(float)   CompositeExtract 204 0
             206:    66(bool)   FOrdGreaterThan 205 27
                                SelectionMerge 208 None
                                BranchConditional 206 207 208
             207:                 Label
             209:           2     FunctionCall 6(doSomething()
                                  Branch 208
             208:               Label
             210:     18(int)   RayQueryGetIntersectionPrimitiveIndexKHR 47(rayQuery) 23
             211:    66(bool)   SGreaterThan 210 19
                                SelectionMerge 213 None
                                BranchConditional 211 212 213
             212:                 Label
             214:           2     FunctionCall 6(doSomething()
                                  Branch 213
             213:               Label
             215:    8(float)   RayQueryGetIntersectionTKHR 47(rayQuery) 23
             216:    66(bool)   FOrdGreaterThan 215 27
                                SelectionMerge 218 None
                                BranchConditional 216 217 218
             217:                 Label
             219:           2     FunctionCall 6(doSomething()
                                  Branch 218
             218:               Label
                                Branch 162
             162:             Label
             222:     35(ptr) AccessChain 83(_mat3x4) 19 20
             223:    8(float) Load 222
             224:     35(ptr) AccessChain 78(_mat4x3) 19 20
             225:    8(float) Load 224
             226:    66(bool) FOrdEqual 223 225
                              SelectionMerge 228 None
                              BranchConditional 226 227 228
             227:               Label
             229:           2   FunctionCall 6(doSomething()
                                Branch 228
             228:             Label
             230:     14(int) RayQueryGetRayFlagsKHR 47(rayQuery)
             231:    66(bool) UGreaterThan 230 20
                              SelectionMerge 233 None
                              BranchConditional 231 232 233
             232:               Label
             234:           2   FunctionCall 6(doSomething()
                                Branch 233
             233:             Label
             235:    8(float) RayQueryGetRayTMinKHR 47(rayQuery)
             236:    66(bool) FOrdGreaterThan 235 27
                              SelectionMerge 238 None
                              BranchConditional 236 237 238
             237:               Label
             239:           2   FunctionCall 6(doSomething()
                                Branch 238
             238:             Label
             241:    9(fvec3) RayQueryGetWorldRayOriginKHR 47(rayQuery)
                              Store 240(o) 241
             243:    9(fvec3) RayQueryGetWorldRayDirectionKHR 47(rayQuery)
                              Store 242(d) 243
             244:     35(ptr) AccessChain 240(o) 20
             245:    8(float) Load 244
             246:     35(ptr) AccessChain 242(d) 198
             247:    8(float) Load 246
             248:    66(bool) FOrdEqual 245 247
                              SelectionMerge 250 None
                              BranchConditional 248 249 250
             249:               Label
             251:           2   FunctionCall 6(doSomething()
                                Branch 250
             250:             Label
                              Return
                              FunctionEnd
 6(doSomething():           2 Function None 3
               7:             Label
              22:     21(ptr) AccessChain 17 19
                              Store 22 20
              24:     21(ptr) AccessChain 17 23
                              Store 24 20
                              Return
                              FunctionEnd
12(makeRayDesc():     10(Ray) Function None 11
              13:             Label
         26(ray):     25(ptr) Variable Function
              30:     29(ptr) AccessChain 26(ray) 19
                              Store 30 28
              34:     29(ptr) AccessChain 26(ray) 31
                              Store 34 33
              36:     35(ptr) AccessChain 26(ray) 23
                              Store 36 27
              39:     35(ptr) AccessChain 26(ray) 37
                              Store 39 38
              40:     10(Ray) Load 26(ray)
                              ReturnValue 40
                              FunctionEnd
