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

                              Capability Shader
                              Capability RayQueryKHR
                              Capability RayTraversalPrimitiveCullingKHR
                              Extension  "SPV_KHR_ray_query"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint GLCompute 4  "main"
                              ExecutionMode 4 LocalSize 1 1 1
                              Source GLSL 460
                              SourceExtension  "GL_EXT_ray_flags_primitive_culling"
                              SourceExtension  "GL_EXT_ray_query"
                              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 241  "o"
                              Name 243  "d"
                              Name 253  "Ray"
                              MemberName 253(Ray) 0  "pos"
                              MemberName 253(Ray) 1  "tmin"
                              MemberName 253(Ray) 2  "dir"
                              MemberName 253(Ray) 3  "tmax"
                              Name 255  "Rays"
                              MemberName 255(Rays) 0  "rays"
                              Name 257  ""
                              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 253(Ray) 0 Offset 0
                              MemberDecorate 253(Ray) 1 Offset 12
                              MemberDecorate 253(Ray) 2 Offset 16
                              MemberDecorate 253(Ray) 3 Offset 28
                              Decorate 254 ArrayStride 32
                              MemberDecorate 255(Rays) 0 Offset 0
                              Decorate 255(Rays) BufferBlock
                              Decorate 257 DescriptorSet 0
                              Decorate 257 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
             231:     14(int) Constant 256
        253(Ray):             TypeStruct 9(fvec3) 8(float) 9(fvec3) 8(float)
             254:             TypeRuntimeArray 253(Ray)
       255(Rays):             TypeStruct 254
             256:             TypePointer Uniform 255(Rays)
             257:    256(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
          241(o):     29(ptr) Variable Function
          243(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)
             232:    66(bool) UGreaterThan 230 231
                              SelectionMerge 234 None
                              BranchConditional 232 233 234
             233:               Label
             235:           2   FunctionCall 6(doSomething()
                                Branch 234
             234:             Label
             236:    8(float) RayQueryGetRayTMinKHR 47(rayQuery)
             237:    66(bool) FOrdGreaterThan 236 27
                              SelectionMerge 239 None
                              BranchConditional 237 238 239
             238:               Label
             240:           2   FunctionCall 6(doSomething()
                                Branch 239
             239:             Label
             242:    9(fvec3) RayQueryGetWorldRayOriginKHR 47(rayQuery)
                              Store 241(o) 242
             244:    9(fvec3) RayQueryGetWorldRayDirectionKHR 47(rayQuery)
                              Store 243(d) 244
             245:     35(ptr) AccessChain 241(o) 20
             246:    8(float) Load 245
             247:     35(ptr) AccessChain 243(d) 198
             248:    8(float) Load 247
             249:    66(bool) FOrdEqual 246 248
                              SelectionMerge 251 None
                              BranchConditional 249 250 251
             250:               Label
             252:           2   FunctionCall 6(doSomething()
                                Branch 251
             251:             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
