blob: 826094c5de77add6aac2e04771e0400ee970f1b3 [file] [log] [blame]
Neslisah Torosdagli50a72282020-03-20 18:23:27 -04001rayQuery-allOps.rgen
2// Module Version 10000
3// Generated by (magic number): 80008
4// Id's are bound by 265
5
6 Capability RayQueryProvisionalKHR
7 Capability RayTracingNV
8 Extension "SPV_KHR_ray_query"
9 Extension "SPV_NV_ray_tracing"
10 1: ExtInstImport "GLSL.std.450"
11 MemoryModel Logical GLSL450
12 EntryPoint RayGenerationKHR 4 "main"
13 Source GLSL 460
14 SourceExtension "GL_EXT_ray_query"
15 SourceExtension "GL_NV_ray_tracing"
16 Name 4 "main"
17 Name 6 "doSomething("
18 Name 10 "Ray"
19 MemberName 10(Ray) 0 "pos"
20 MemberName 10(Ray) 1 "tmin"
21 MemberName 10(Ray) 2 "dir"
22 MemberName 10(Ray) 3 "tmax"
23 Name 12 "makeRayDesc("
24 Name 15 "Log"
25 MemberName 15(Log) 0 "x"
26 MemberName 15(Log) 1 "y"
27 Name 17 ""
28 Name 26 "ray"
29 Name 45 "rayQuery"
30 Name 48 "rtas"
31 Name 51 "ray"
32 Name 69 "candidateType"
33 Name 79 "_mat4x3"
34 Name 84 "_mat3x4"
35 Name 146 "t"
36 Name 160 "committedStatus"
37 Name 246 "o"
38 Name 249 "d"
39 Name 260 "Ray"
40 MemberName 260(Ray) 0 "pos"
41 MemberName 260(Ray) 1 "tmin"
42 MemberName 260(Ray) 2 "dir"
43 MemberName 260(Ray) 3 "tmax"
44 Name 262 "Rays"
45 MemberName 262(Rays) 0 "rays"
46 Name 264 ""
47 MemberDecorate 15(Log) 0 Offset 0
48 MemberDecorate 15(Log) 1 Offset 4
49 Decorate 15(Log) BufferBlock
50 Decorate 17 DescriptorSet 0
51 Decorate 17 Binding 0
52 Decorate 48(rtas) DescriptorSet 0
53 Decorate 48(rtas) Binding 1
54 MemberDecorate 260(Ray) 0 Offset 0
55 MemberDecorate 260(Ray) 1 Offset 12
56 MemberDecorate 260(Ray) 2 Offset 16
57 MemberDecorate 260(Ray) 3 Offset 28
58 Decorate 261 ArrayStride 32
59 MemberDecorate 262(Rays) 0 Offset 0
60 Decorate 262(Rays) BufferBlock
61 Decorate 264 DescriptorSet 0
62 Decorate 264 Binding 2
63 2: TypeVoid
64 3: TypeFunction 2
65 8: TypeFloat 32
66 9: TypeVector 8(float) 3
67 10(Ray): TypeStruct 9(fvec3) 8(float) 9(fvec3) 8(float)
68 11: TypeFunction 10(Ray)
69 14: TypeInt 32 0
70 15(Log): TypeStruct 14(int) 14(int)
71 16: TypePointer Uniform 15(Log)
72 17: 16(ptr) Variable Uniform
73 18: TypeInt 32 1
74 19: 18(int) Constant 0
75 20: 14(int) Constant 0
76 21: TypePointer Uniform 14(int)
77 23: 18(int) Constant 1
78 25: TypePointer Function 10(Ray)
79 27: 8(float) Constant 0
80 28: 9(fvec3) ConstantComposite 27 27 27
81 29: TypePointer Function 9(fvec3)
82 31: 18(int) Constant 2
83 32: 8(float) Constant 1065353216
84 33: 9(fvec3) ConstantComposite 32 27 27
85 35: TypePointer Function 8(float)
86 37: 18(int) Constant 3
87 38: 8(float) Constant 1176255488
88 43: TypeRayQueryProvisionalKHR
89 44: TypePointer Function 43
90 46: TypeAccelerationStructureKHR
91 47: TypePointer UniformConstant 46
92 48(rtas): 47(ptr) Variable UniformConstant
93 50: 14(int) Constant 255
94 66: TypeBool
95 68: TypePointer Function 14(int)
96 70: 66(bool) ConstantFalse
97 77: TypeMatrix 9(fvec3) 4
98 78: TypePointer Function 77
99 81: TypeVector 8(float) 4
100 82: TypeMatrix 81(fvec4) 3
101 83: TypePointer Function 82
102 88: 66(bool) ConstantTrue
103 93: TypeVector 8(float) 2
104 147: 8(float) Constant 1056964608
105 179: 14(int) Constant 1
106 202: 14(int) Constant 2
107 260(Ray): TypeStruct 9(fvec3) 8(float) 9(fvec3) 8(float)
108 261: TypeRuntimeArray 260(Ray)
109 262(Rays): TypeStruct 261
110 263: TypePointer Uniform 262(Rays)
111 264: 263(ptr) Variable Uniform
112 4(main): 2 Function None 3
113 5: Label
114 45(rayQuery): 44(ptr) Variable Function
115 51(ray): 25(ptr) Variable Function
11669(candidateType): 68(ptr) Variable Function
117 79(_mat4x3): 78(ptr) Variable Function
118 84(_mat3x4): 83(ptr) Variable Function
119 146(t): 35(ptr) Variable Function
120160(committedStatus): 68(ptr) Variable Function
121 246(o): 29(ptr) Variable Function
122 249(d): 29(ptr) Variable Function
123 49: 46 Load 48(rtas)
124 52: 29(ptr) AccessChain 51(ray) 19
125 53: 9(fvec3) Load 52
126 54: 35(ptr) AccessChain 51(ray) 23
127 55: 8(float) Load 54
128 56: 29(ptr) AccessChain 51(ray) 31
129 57: 9(fvec3) Load 56
130 58: 35(ptr) AccessChain 51(ray) 37
131 59: 8(float) Load 58
132 RayQueryInitializeKHR 45(rayQuery) 49 20 50 53 55 57 59
133 Branch 60
134 60: Label
135 LoopMerge 62 63 None
136 Branch 64
137 64: Label
138 65: 43 Load 45(rayQuery)
139 67: 66(bool) RayQueryProceedKHR 65
140 BranchConditional 67 61 62
141 61: Label
142 71: 14(int) RayQueryGetIntersectionTypeKHR 45(rayQuery) 19
143 Store 69(candidateType) 71
144 72: 14(int) Load 69(candidateType)
145 SelectionMerge 75 None
146 Switch 72 75
147 case 0: 73
148 case 1: 74
149 73: Label
150 76: 43 Load 45(rayQuery)
151 RayQueryTerminateKHR 76
152 80: 77 RayQueryGetIntersectionObjectToWorldKHR 45(rayQuery) 19
153 Store 79(_mat4x3) 80
154 85: 77 Load 79(_mat4x3)
155 86: 82 Transpose 85
156 Store 84(_mat3x4) 86
157 87: 43 Load 45(rayQuery)
158 RayQueryConfirmIntersectionKHR 87
159 89: 66(bool) RayQueryGetIntersectionFrontFaceKHR 45(rayQuery) 23
160 SelectionMerge 91 None
161 BranchConditional 89 90 91
162 90: Label
163 92: 2 FunctionCall 6(doSomething()
164 Branch 91
165 91: Label
166 94: 93(fvec2) RayQueryGetIntersectionBarycentricsKHR 45(rayQuery) 23
167 95: 8(float) CompositeExtract 94 0
168 96: 66(bool) FOrdEqual 95 27
169 SelectionMerge 98 None
170 BranchConditional 96 97 98
171 97: Label
172 99: 2 FunctionCall 6(doSomething()
173 Branch 98
174 98: Label
175 100: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 45(rayQuery) 23
176 101: 66(bool) SGreaterThan 100 19
177 SelectionMerge 103 None
178 BranchConditional 101 102 103
179 102: Label
180 104: 2 FunctionCall 6(doSomething()
181 Branch 103
182 103: Label
183 105: 18(int) RayQueryGetIntersectionInstanceIdKHR 45(rayQuery) 23
184 106: 66(bool) SGreaterThan 105 19
185 SelectionMerge 108 None
186 BranchConditional 106 107 108
187 107: Label
188 109: 2 FunctionCall 6(doSomething()
189 Branch 108
190 108: Label
191 110: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 45(rayQuery) 23
192 111: 8(float) CompositeExtract 110 0
193 112: 66(bool) FOrdGreaterThan 111 27
194 SelectionMerge 114 None
195 BranchConditional 112 113 114
196 113: Label
197 115: 2 FunctionCall 6(doSomething()
198 Branch 114
199 114: Label
200 116: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 45(rayQuery) 23
201 117: 8(float) CompositeExtract 116 0
202 118: 66(bool) FOrdGreaterThan 117 27
203 SelectionMerge 120 None
204 BranchConditional 118 119 120
205 119: Label
206 121: 2 FunctionCall 6(doSomething()
207 Branch 120
208 120: Label
209 122: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 45(rayQuery) 23
210 123: 66(bool) SGreaterThan 122 19
211 SelectionMerge 125 None
212 BranchConditional 123 124 125
213 124: Label
214 126: 2 FunctionCall 6(doSomething()
215 Branch 125
216 125: Label
217 127: 8(float) RayQueryGetIntersectionTKHR 45(rayQuery) 23
218 128: 66(bool) FOrdGreaterThan 127 27
219 SelectionMerge 130 None
220 BranchConditional 128 129 130
221 129: Label
222 131: 2 FunctionCall 6(doSomething()
223 Branch 130
224 130: Label
225 132: 18(int) RayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR 45(rayQuery) 23
226 133: 66(bool) UGreaterThan 132 20
227 SelectionMerge 135 None
228 BranchConditional 133 134 135
229 134: Label
230 136: 2 FunctionCall 6(doSomething()
231 Branch 135
232 135: Label
233 Branch 75
234 74: Label
235 138: 77 RayQueryGetIntersectionObjectToWorldKHR 45(rayQuery) 19
236 Store 79(_mat4x3) 138
237 139: 77 Load 79(_mat4x3)
238 140: 82 Transpose 139
239 Store 84(_mat3x4) 140
240 141: 43 Load 45(rayQuery)
241 142: 66(bool) RayQueryGetIntersectionCandidateAABBOpaqueKHR 141
242 SelectionMerge 144 None
243 BranchConditional 142 143 144
244 143: Label
245 145: 2 FunctionCall 6(doSomething()
246 Branch 144
247 144: Label
248 Store 146(t) 147
249 148: 8(float) Load 146(t)
250 RayQueryGenerateIntersectionKHR 45(rayQuery) 148
251 149: 43 Load 45(rayQuery)
252 RayQueryTerminateKHR 149
253 Branch 75
254 75: Label
255 Branch 63
256 63: Label
257 Branch 60
258 62: Label
259 152: 35(ptr) AccessChain 84(_mat3x4) 19 20
260 153: 8(float) Load 152
261 154: 35(ptr) AccessChain 79(_mat4x3) 19 20
262 155: 8(float) Load 154
263 156: 66(bool) FOrdEqual 153 155
264 SelectionMerge 158 None
265 BranchConditional 156 157 158
266 157: Label
267 159: 2 FunctionCall 6(doSomething()
268 Branch 158
269 158: Label
270 161: 14(int) RayQueryGetIntersectionTypeKHR 45(rayQuery) 23
271 Store 160(committedStatus) 161
272 162: 14(int) Load 160(committedStatus)
273 SelectionMerge 166 None
274 Switch 162 166
275 case 0: 163
276 case 1: 164
277 case 2: 165
278 163: Label
279 167: 77 RayQueryGetIntersectionWorldToObjectKHR 45(rayQuery) 19
280 Store 79(_mat4x3) 167
281 168: 77 Load 79(_mat4x3)
282 169: 82 Transpose 168
283 Store 84(_mat3x4) 169
284 Branch 166
285 164: Label
286 171: 77 RayQueryGetIntersectionWorldToObjectKHR 45(rayQuery) 23
287 Store 79(_mat4x3) 171
288 172: 77 Load 79(_mat4x3)
289 173: 82 Transpose 172
290 Store 84(_mat3x4) 173
291 174: 66(bool) RayQueryGetIntersectionFrontFaceKHR 45(rayQuery) 23
292 SelectionMerge 176 None
293 BranchConditional 174 175 176
294 175: Label
295 177: 2 FunctionCall 6(doSomething()
296 Branch 176
297 176: Label
298 178: 93(fvec2) RayQueryGetIntersectionBarycentricsKHR 45(rayQuery) 23
299 180: 8(float) CompositeExtract 178 1
300 181: 66(bool) FOrdEqual 180 27
301 SelectionMerge 183 None
302 BranchConditional 181 182 183
303 182: Label
304 184: 2 FunctionCall 6(doSomething()
305 Branch 183
306 183: Label
307 Branch 166
308 165: Label
309 186: 18(int) RayQueryGetIntersectionGeometryIndexKHR 45(rayQuery) 23
310 187: 66(bool) SGreaterThan 186 19
311 SelectionMerge 189 None
312 BranchConditional 187 188 189
313 188: Label
314 190: 2 FunctionCall 6(doSomething()
315 Branch 189
316 189: Label
317 191: 18(int) RayQueryGetIntersectionInstanceIdKHR 45(rayQuery) 23
318 192: 66(bool) SGreaterThan 191 19
319 SelectionMerge 194 None
320 BranchConditional 192 193 194
321 193: Label
322 195: 2 FunctionCall 6(doSomething()
323 Branch 194
324 194: Label
325 196: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 45(rayQuery) 23
326 197: 66(bool) SGreaterThan 196 19
327 SelectionMerge 199 None
328 BranchConditional 197 198 199
329 198: Label
330 200: 2 FunctionCall 6(doSomething()
331 Branch 199
332 199: Label
333 201: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 45(rayQuery) 23
334 203: 8(float) CompositeExtract 201 2
335 204: 66(bool) FOrdGreaterThan 203 27
336 SelectionMerge 206 None
337 BranchConditional 204 205 206
338 205: Label
339 207: 2 FunctionCall 6(doSomething()
340 Branch 206
341 206: Label
342 208: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 45(rayQuery) 23
343 209: 8(float) CompositeExtract 208 0
344 210: 66(bool) FOrdGreaterThan 209 27
345 SelectionMerge 212 None
346 BranchConditional 210 211 212
347 211: Label
348 213: 2 FunctionCall 6(doSomething()
349 Branch 212
350 212: Label
351 214: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 45(rayQuery) 23
352 215: 66(bool) SGreaterThan 214 19
353 SelectionMerge 217 None
354 BranchConditional 215 216 217
355 216: Label
356 218: 2 FunctionCall 6(doSomething()
357 Branch 217
358 217: Label
359 219: 8(float) RayQueryGetIntersectionTKHR 45(rayQuery) 23
360 220: 66(bool) FOrdGreaterThan 219 27
361 SelectionMerge 222 None
362 BranchConditional 220 221 222
363 221: Label
364 223: 2 FunctionCall 6(doSomething()
365 Branch 222
366 222: Label
367 Branch 166
368 166: Label
369 226: 35(ptr) AccessChain 84(_mat3x4) 19 20
370 227: 8(float) Load 226
371 228: 35(ptr) AccessChain 79(_mat4x3) 19 20
372 229: 8(float) Load 228
373 230: 66(bool) FOrdEqual 227 229
374 SelectionMerge 232 None
375 BranchConditional 230 231 232
376 231: Label
377 233: 2 FunctionCall 6(doSomething()
378 Branch 232
379 232: Label
380 234: 43 Load 45(rayQuery)
381 235: 14(int) RayQueryGetRayFlagsKHR 234
382 236: 66(bool) UGreaterThan 235 20
383 SelectionMerge 238 None
384 BranchConditional 236 237 238
385 237: Label
386 239: 2 FunctionCall 6(doSomething()
387 Branch 238
388 238: Label
389 240: 43 Load 45(rayQuery)
390 241: 8(float) RayQueryGetRayTMinKHR 240
391 242: 66(bool) FOrdGreaterThan 241 27
392 SelectionMerge 244 None
393 BranchConditional 242 243 244
394 243: Label
395 245: 2 FunctionCall 6(doSomething()
396 Branch 244
397 244: Label
398 247: 43 Load 45(rayQuery)
399 248: 9(fvec3) RayQueryGetWorldRayOriginKHR 247
400 Store 246(o) 248
401 250: 43 Load 45(rayQuery)
402 251: 9(fvec3) RayQueryGetWorldRayDirectionKHR 250
403 Store 249(d) 251
404 252: 35(ptr) AccessChain 246(o) 20
405 253: 8(float) Load 252
406 254: 35(ptr) AccessChain 249(d) 202
407 255: 8(float) Load 254
408 256: 66(bool) FOrdEqual 253 255
409 SelectionMerge 258 None
410 BranchConditional 256 257 258
411 257: Label
412 259: 2 FunctionCall 6(doSomething()
413 Branch 258
414 258: Label
415 Return
416 FunctionEnd
417 6(doSomething(): 2 Function None 3
418 7: Label
419 22: 21(ptr) AccessChain 17 19
420 Store 22 20
421 24: 21(ptr) AccessChain 17 23
422 Store 24 20
423 Return
424 FunctionEnd
42512(makeRayDesc(): 10(Ray) Function None 11
426 13: Label
427 26(ray): 25(ptr) Variable Function
428 30: 29(ptr) AccessChain 26(ray) 19
429 Store 30 28
430 34: 29(ptr) AccessChain 26(ray) 31
431 Store 34 33
432 36: 35(ptr) AccessChain 26(ray) 23
433 Store 36 27
434 39: 35(ptr) AccessChain 26(ray) 37
435 Store 39 38
436 40: 10(Ray) Load 26(ray)
437 ReturnValue 40
438 FunctionEnd