blob: 826094c5de77add6aac2e04771e0400ee970f1b3 [file] [log] [blame]
rayQuery-allOps.rgen
// Module Version 10000
// Generated by (magic number): 80008
// Id's are bound by 265
Capability RayQueryProvisionalKHR
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 45 "rayQuery"
Name 48 "rtas"
Name 51 "ray"
Name 69 "candidateType"
Name 79 "_mat4x3"
Name 84 "_mat3x4"
Name 146 "t"
Name 160 "committedStatus"
Name 246 "o"
Name 249 "d"
Name 260 "Ray"
MemberName 260(Ray) 0 "pos"
MemberName 260(Ray) 1 "tmin"
MemberName 260(Ray) 2 "dir"
MemberName 260(Ray) 3 "tmax"
Name 262 "Rays"
MemberName 262(Rays) 0 "rays"
Name 264 ""
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 48(rtas) DescriptorSet 0
Decorate 48(rtas) Binding 1
MemberDecorate 260(Ray) 0 Offset 0
MemberDecorate 260(Ray) 1 Offset 12
MemberDecorate 260(Ray) 2 Offset 16
MemberDecorate 260(Ray) 3 Offset 28
Decorate 261 ArrayStride 32
MemberDecorate 262(Rays) 0 Offset 0
Decorate 262(Rays) BufferBlock
Decorate 264 DescriptorSet 0
Decorate 264 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
43: TypeRayQueryProvisionalKHR
44: TypePointer Function 43
46: TypeAccelerationStructureKHR
47: TypePointer UniformConstant 46
48(rtas): 47(ptr) Variable UniformConstant
50: 14(int) Constant 255
66: TypeBool
68: TypePointer Function 14(int)
70: 66(bool) ConstantFalse
77: TypeMatrix 9(fvec3) 4
78: TypePointer Function 77
81: TypeVector 8(float) 4
82: TypeMatrix 81(fvec4) 3
83: TypePointer Function 82
88: 66(bool) ConstantTrue
93: TypeVector 8(float) 2
147: 8(float) Constant 1056964608
179: 14(int) Constant 1
202: 14(int) Constant 2
260(Ray): TypeStruct 9(fvec3) 8(float) 9(fvec3) 8(float)
261: TypeRuntimeArray 260(Ray)
262(Rays): TypeStruct 261
263: TypePointer Uniform 262(Rays)
264: 263(ptr) Variable Uniform
4(main): 2 Function None 3
5: Label
45(rayQuery): 44(ptr) Variable Function
51(ray): 25(ptr) Variable Function
69(candidateType): 68(ptr) Variable Function
79(_mat4x3): 78(ptr) Variable Function
84(_mat3x4): 83(ptr) Variable Function
146(t): 35(ptr) Variable Function
160(committedStatus): 68(ptr) Variable Function
246(o): 29(ptr) Variable Function
249(d): 29(ptr) Variable Function
49: 46 Load 48(rtas)
52: 29(ptr) AccessChain 51(ray) 19
53: 9(fvec3) Load 52
54: 35(ptr) AccessChain 51(ray) 23
55: 8(float) Load 54
56: 29(ptr) AccessChain 51(ray) 31
57: 9(fvec3) Load 56
58: 35(ptr) AccessChain 51(ray) 37
59: 8(float) Load 58
RayQueryInitializeKHR 45(rayQuery) 49 20 50 53 55 57 59
Branch 60
60: Label
LoopMerge 62 63 None
Branch 64
64: Label
65: 43 Load 45(rayQuery)
67: 66(bool) RayQueryProceedKHR 65
BranchConditional 67 61 62
61: Label
71: 14(int) RayQueryGetIntersectionTypeKHR 45(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
76: 43 Load 45(rayQuery)
RayQueryTerminateKHR 76
80: 77 RayQueryGetIntersectionObjectToWorldKHR 45(rayQuery) 19
Store 79(_mat4x3) 80
85: 77 Load 79(_mat4x3)
86: 82 Transpose 85
Store 84(_mat3x4) 86
87: 43 Load 45(rayQuery)
RayQueryConfirmIntersectionKHR 87
89: 66(bool) RayQueryGetIntersectionFrontFaceKHR 45(rayQuery) 23
SelectionMerge 91 None
BranchConditional 89 90 91
90: Label
92: 2 FunctionCall 6(doSomething()
Branch 91
91: Label
94: 93(fvec2) RayQueryGetIntersectionBarycentricsKHR 45(rayQuery) 23
95: 8(float) CompositeExtract 94 0
96: 66(bool) FOrdEqual 95 27
SelectionMerge 98 None
BranchConditional 96 97 98
97: Label
99: 2 FunctionCall 6(doSomething()
Branch 98
98: Label
100: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 45(rayQuery) 23
101: 66(bool) SGreaterThan 100 19
SelectionMerge 103 None
BranchConditional 101 102 103
102: Label
104: 2 FunctionCall 6(doSomething()
Branch 103
103: Label
105: 18(int) RayQueryGetIntersectionInstanceIdKHR 45(rayQuery) 23
106: 66(bool) SGreaterThan 105 19
SelectionMerge 108 None
BranchConditional 106 107 108
107: Label
109: 2 FunctionCall 6(doSomething()
Branch 108
108: Label
110: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 45(rayQuery) 23
111: 8(float) CompositeExtract 110 0
112: 66(bool) FOrdGreaterThan 111 27
SelectionMerge 114 None
BranchConditional 112 113 114
113: Label
115: 2 FunctionCall 6(doSomething()
Branch 114
114: Label
116: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 45(rayQuery) 23
117: 8(float) CompositeExtract 116 0
118: 66(bool) FOrdGreaterThan 117 27
SelectionMerge 120 None
BranchConditional 118 119 120
119: Label
121: 2 FunctionCall 6(doSomething()
Branch 120
120: Label
122: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 45(rayQuery) 23
123: 66(bool) SGreaterThan 122 19
SelectionMerge 125 None
BranchConditional 123 124 125
124: Label
126: 2 FunctionCall 6(doSomething()
Branch 125
125: Label
127: 8(float) RayQueryGetIntersectionTKHR 45(rayQuery) 23
128: 66(bool) FOrdGreaterThan 127 27
SelectionMerge 130 None
BranchConditional 128 129 130
129: Label
131: 2 FunctionCall 6(doSomething()
Branch 130
130: Label
132: 18(int) RayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR 45(rayQuery) 23
133: 66(bool) UGreaterThan 132 20
SelectionMerge 135 None
BranchConditional 133 134 135
134: Label
136: 2 FunctionCall 6(doSomething()
Branch 135
135: Label
Branch 75
74: Label
138: 77 RayQueryGetIntersectionObjectToWorldKHR 45(rayQuery) 19
Store 79(_mat4x3) 138
139: 77 Load 79(_mat4x3)
140: 82 Transpose 139
Store 84(_mat3x4) 140
141: 43 Load 45(rayQuery)
142: 66(bool) RayQueryGetIntersectionCandidateAABBOpaqueKHR 141
SelectionMerge 144 None
BranchConditional 142 143 144
143: Label
145: 2 FunctionCall 6(doSomething()
Branch 144
144: Label
Store 146(t) 147
148: 8(float) Load 146(t)
RayQueryGenerateIntersectionKHR 45(rayQuery) 148
149: 43 Load 45(rayQuery)
RayQueryTerminateKHR 149
Branch 75
75: Label
Branch 63
63: Label
Branch 60
62: Label
152: 35(ptr) AccessChain 84(_mat3x4) 19 20
153: 8(float) Load 152
154: 35(ptr) AccessChain 79(_mat4x3) 19 20
155: 8(float) Load 154
156: 66(bool) FOrdEqual 153 155
SelectionMerge 158 None
BranchConditional 156 157 158
157: Label
159: 2 FunctionCall 6(doSomething()
Branch 158
158: Label
161: 14(int) RayQueryGetIntersectionTypeKHR 45(rayQuery) 23
Store 160(committedStatus) 161
162: 14(int) Load 160(committedStatus)
SelectionMerge 166 None
Switch 162 166
case 0: 163
case 1: 164
case 2: 165
163: Label
167: 77 RayQueryGetIntersectionWorldToObjectKHR 45(rayQuery) 19
Store 79(_mat4x3) 167
168: 77 Load 79(_mat4x3)
169: 82 Transpose 168
Store 84(_mat3x4) 169
Branch 166
164: Label
171: 77 RayQueryGetIntersectionWorldToObjectKHR 45(rayQuery) 23
Store 79(_mat4x3) 171
172: 77 Load 79(_mat4x3)
173: 82 Transpose 172
Store 84(_mat3x4) 173
174: 66(bool) RayQueryGetIntersectionFrontFaceKHR 45(rayQuery) 23
SelectionMerge 176 None
BranchConditional 174 175 176
175: Label
177: 2 FunctionCall 6(doSomething()
Branch 176
176: Label
178: 93(fvec2) RayQueryGetIntersectionBarycentricsKHR 45(rayQuery) 23
180: 8(float) CompositeExtract 178 1
181: 66(bool) FOrdEqual 180 27
SelectionMerge 183 None
BranchConditional 181 182 183
182: Label
184: 2 FunctionCall 6(doSomething()
Branch 183
183: Label
Branch 166
165: Label
186: 18(int) RayQueryGetIntersectionGeometryIndexKHR 45(rayQuery) 23
187: 66(bool) SGreaterThan 186 19
SelectionMerge 189 None
BranchConditional 187 188 189
188: Label
190: 2 FunctionCall 6(doSomething()
Branch 189
189: Label
191: 18(int) RayQueryGetIntersectionInstanceIdKHR 45(rayQuery) 23
192: 66(bool) SGreaterThan 191 19
SelectionMerge 194 None
BranchConditional 192 193 194
193: Label
195: 2 FunctionCall 6(doSomething()
Branch 194
194: Label
196: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 45(rayQuery) 23
197: 66(bool) SGreaterThan 196 19
SelectionMerge 199 None
BranchConditional 197 198 199
198: Label
200: 2 FunctionCall 6(doSomething()
Branch 199
199: Label
201: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 45(rayQuery) 23
203: 8(float) CompositeExtract 201 2
204: 66(bool) FOrdGreaterThan 203 27
SelectionMerge 206 None
BranchConditional 204 205 206
205: Label
207: 2 FunctionCall 6(doSomething()
Branch 206
206: Label
208: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 45(rayQuery) 23
209: 8(float) CompositeExtract 208 0
210: 66(bool) FOrdGreaterThan 209 27
SelectionMerge 212 None
BranchConditional 210 211 212
211: Label
213: 2 FunctionCall 6(doSomething()
Branch 212
212: Label
214: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 45(rayQuery) 23
215: 66(bool) SGreaterThan 214 19
SelectionMerge 217 None
BranchConditional 215 216 217
216: Label
218: 2 FunctionCall 6(doSomething()
Branch 217
217: Label
219: 8(float) RayQueryGetIntersectionTKHR 45(rayQuery) 23
220: 66(bool) FOrdGreaterThan 219 27
SelectionMerge 222 None
BranchConditional 220 221 222
221: Label
223: 2 FunctionCall 6(doSomething()
Branch 222
222: Label
Branch 166
166: Label
226: 35(ptr) AccessChain 84(_mat3x4) 19 20
227: 8(float) Load 226
228: 35(ptr) AccessChain 79(_mat4x3) 19 20
229: 8(float) Load 228
230: 66(bool) FOrdEqual 227 229
SelectionMerge 232 None
BranchConditional 230 231 232
231: Label
233: 2 FunctionCall 6(doSomething()
Branch 232
232: Label
234: 43 Load 45(rayQuery)
235: 14(int) RayQueryGetRayFlagsKHR 234
236: 66(bool) UGreaterThan 235 20
SelectionMerge 238 None
BranchConditional 236 237 238
237: Label
239: 2 FunctionCall 6(doSomething()
Branch 238
238: Label
240: 43 Load 45(rayQuery)
241: 8(float) RayQueryGetRayTMinKHR 240
242: 66(bool) FOrdGreaterThan 241 27
SelectionMerge 244 None
BranchConditional 242 243 244
243: Label
245: 2 FunctionCall 6(doSomething()
Branch 244
244: Label
247: 43 Load 45(rayQuery)
248: 9(fvec3) RayQueryGetWorldRayOriginKHR 247
Store 246(o) 248
250: 43 Load 45(rayQuery)
251: 9(fvec3) RayQueryGetWorldRayDirectionKHR 250
Store 249(d) 251
252: 35(ptr) AccessChain 246(o) 20
253: 8(float) Load 252
254: 35(ptr) AccessChain 249(d) 202
255: 8(float) Load 254
256: 66(bool) FOrdEqual 253 255
SelectionMerge 258 None
BranchConditional 256 257 258
257: Label
259: 2 FunctionCall 6(doSomething()
Branch 258
258: 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