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