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

                              Capability Shader
                              Capability RayQueryProvisionalKHR
                              Extension  "SPV_KHR_ray_query"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main"
                              ExecutionMode 4 OriginUpperLeft
                              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 Function 45
              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
    47(rayQuery):     46(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:     18(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
