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