const rayFlag defs used in the test cases in stead of numerical values

This commit is contained in:
Neslisah Torosdagli
2020-03-23 23:09:44 -04:00
parent 65c81bf236
commit 7f689bebec
17 changed files with 1413 additions and 1408 deletions

View File

@@ -1,7 +1,7 @@
rayQuery-allOps.comp rayQuery-allOps.comp
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80008 // Generated by (magic number): 80008
// Id's are bound by 265 // Id's are bound by 266
Capability Shader Capability Shader
Capability RayQueryProvisionalKHR Capability RayQueryProvisionalKHR
@@ -26,40 +26,40 @@ rayQuery-allOps.comp
MemberName 15(Log) 1 "y" MemberName 15(Log) 1 "y"
Name 17 "" Name 17 ""
Name 26 "ray" Name 26 "ray"
Name 45 "rayQuery" Name 43 "ray"
Name 48 "rtas" Name 47 "rayQuery"
Name 51 "ray" Name 50 "rtas"
Name 69 "candidateType" Name 70 "candidateType"
Name 79 "_mat4x3" Name 80 "_mat4x3"
Name 84 "_mat3x4" Name 85 "_mat3x4"
Name 146 "t" Name 147 "t"
Name 160 "committedStatus" Name 161 "committedStatus"
Name 246 "o" Name 247 "o"
Name 249 "d" Name 250 "d"
Name 260 "Ray" Name 261 "Ray"
MemberName 260(Ray) 0 "pos" MemberName 261(Ray) 0 "pos"
MemberName 260(Ray) 1 "tmin" MemberName 261(Ray) 1 "tmin"
MemberName 260(Ray) 2 "dir" MemberName 261(Ray) 2 "dir"
MemberName 260(Ray) 3 "tmax" MemberName 261(Ray) 3 "tmax"
Name 262 "Rays" Name 263 "Rays"
MemberName 262(Rays) 0 "rays" MemberName 263(Rays) 0 "rays"
Name 264 "" Name 265 ""
MemberDecorate 15(Log) 0 Offset 0 MemberDecorate 15(Log) 0 Offset 0
MemberDecorate 15(Log) 1 Offset 4 MemberDecorate 15(Log) 1 Offset 4
Decorate 15(Log) BufferBlock Decorate 15(Log) BufferBlock
Decorate 17 DescriptorSet 0 Decorate 17 DescriptorSet 0
Decorate 17 Binding 0 Decorate 17 Binding 0
Decorate 48(rtas) DescriptorSet 0 Decorate 50(rtas) DescriptorSet 0
Decorate 48(rtas) Binding 1 Decorate 50(rtas) Binding 1
MemberDecorate 260(Ray) 0 Offset 0 MemberDecorate 261(Ray) 0 Offset 0
MemberDecorate 260(Ray) 1 Offset 12 MemberDecorate 261(Ray) 1 Offset 12
MemberDecorate 260(Ray) 2 Offset 16 MemberDecorate 261(Ray) 2 Offset 16
MemberDecorate 260(Ray) 3 Offset 28 MemberDecorate 261(Ray) 3 Offset 28
Decorate 261 ArrayStride 32 Decorate 262 ArrayStride 32
MemberDecorate 262(Rays) 0 Offset 0 MemberDecorate 263(Rays) 0 Offset 0
Decorate 262(Rays) BufferBlock Decorate 263(Rays) BufferBlock
Decorate 264 DescriptorSet 0 Decorate 265 DescriptorSet 0
Decorate 264 Binding 2 Decorate 265 Binding 2
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
8: TypeFloat 32 8: TypeFloat 32
@@ -85,333 +85,335 @@ rayQuery-allOps.comp
35: TypePointer Function 8(float) 35: TypePointer Function 8(float)
37: 18(int) Constant 3 37: 18(int) Constant 3
38: 8(float) Constant 1176255488 38: 8(float) Constant 1176255488
43: TypeRayQueryProvisionalKHR 45: TypeRayQueryProvisionalKHR
44: TypePointer Function 43 46: TypePointer Function 45
46: TypeAccelerationStructureKHR 48: TypeAccelerationStructureKHR
47: TypePointer UniformConstant 46 49: TypePointer UniformConstant 48
48(rtas): 47(ptr) Variable UniformConstant 50(rtas): 49(ptr) Variable UniformConstant
50: 14(int) Constant 255 52: 14(int) Constant 255
66: TypeBool 67: TypeBool
68: TypePointer Function 14(int) 69: TypePointer Function 14(int)
70: 66(bool) ConstantFalse 71: 67(bool) ConstantFalse
77: TypeMatrix 9(fvec3) 4 78: TypeMatrix 9(fvec3) 4
78: TypePointer Function 77 79: TypePointer Function 78
81: TypeVector 8(float) 4 82: TypeVector 8(float) 4
82: TypeMatrix 81(fvec4) 3 83: TypeMatrix 82(fvec4) 3
83: TypePointer Function 82 84: TypePointer Function 83
88: 66(bool) ConstantTrue 89: 67(bool) ConstantTrue
93: TypeVector 8(float) 2 94: TypeVector 8(float) 2
147: 8(float) Constant 1056964608 148: 8(float) Constant 1056964608
179: 14(int) Constant 1 180: 14(int) Constant 1
202: 14(int) Constant 2 203: 14(int) Constant 2
260(Ray): TypeStruct 9(fvec3) 8(float) 9(fvec3) 8(float) 261(Ray): TypeStruct 9(fvec3) 8(float) 9(fvec3) 8(float)
261: TypeRuntimeArray 260(Ray) 262: TypeRuntimeArray 261(Ray)
262(Rays): TypeStruct 261 263(Rays): TypeStruct 262
263: TypePointer Uniform 262(Rays) 264: TypePointer Uniform 263(Rays)
264: 263(ptr) Variable Uniform 265: 264(ptr) Variable Uniform
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
45(rayQuery): 44(ptr) Variable Function 43(ray): 25(ptr) Variable Function
51(ray): 25(ptr) Variable Function 47(rayQuery): 46(ptr) Variable Function
69(candidateType): 68(ptr) Variable Function 70(candidateType): 69(ptr) Variable Function
79(_mat4x3): 78(ptr) Variable Function 80(_mat4x3): 79(ptr) Variable Function
84(_mat3x4): 83(ptr) Variable Function 85(_mat3x4): 84(ptr) Variable Function
146(t): 35(ptr) Variable Function 147(t): 35(ptr) Variable Function
160(committedStatus): 68(ptr) Variable Function 161(committedStatus): 69(ptr) Variable Function
246(o): 29(ptr) Variable Function 247(o): 29(ptr) Variable Function
249(d): 29(ptr) Variable Function 250(d): 29(ptr) Variable Function
49: 46 Load 48(rtas) 44: 10(Ray) FunctionCall 12(makeRayDesc()
52: 29(ptr) AccessChain 51(ray) 19 Store 43(ray) 44
53: 9(fvec3) Load 52 51: 48 Load 50(rtas)
54: 35(ptr) AccessChain 51(ray) 23 53: 29(ptr) AccessChain 43(ray) 19
55: 8(float) Load 54 54: 9(fvec3) Load 53
56: 29(ptr) AccessChain 51(ray) 31 55: 35(ptr) AccessChain 43(ray) 23
57: 9(fvec3) Load 56 56: 8(float) Load 55
58: 35(ptr) AccessChain 51(ray) 37 57: 29(ptr) AccessChain 43(ray) 31
59: 8(float) Load 58 58: 9(fvec3) Load 57
RayQueryInitializeKHR 45(rayQuery) 49 20 50 53 55 57 59 59: 35(ptr) AccessChain 43(ray) 37
Branch 60 60: 8(float) Load 59
60: Label RayQueryInitializeKHR 47(rayQuery) 51 20 52 54 56 58 60
LoopMerge 62 63 None 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 Branch 64
64: Label 64: Label
65: 43 Load 45(rayQuery) Branch 61
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 63: Label
Branch 60 153: 35(ptr) AccessChain 85(_mat3x4) 19 20
62: Label 154: 8(float) Load 153
152: 35(ptr) AccessChain 84(_mat3x4) 19 20 155: 35(ptr) AccessChain 80(_mat4x3) 19 20
153: 8(float) Load 152 156: 8(float) Load 155
154: 35(ptr) AccessChain 79(_mat4x3) 19 20 157: 67(bool) FOrdEqual 154 156
155: 8(float) Load 154 SelectionMerge 159 None
156: 66(bool) FOrdEqual 153 155 BranchConditional 157 158 159
SelectionMerge 158 None
BranchConditional 156 157 158
157: Label
159: 2 FunctionCall 6(doSomething()
Branch 158
158: Label 158: Label
161: 14(int) RayQueryGetIntersectionTypeKHR 45(rayQuery) 23 160: 2 FunctionCall 6(doSomething()
Store 160(committedStatus) 161 Branch 159
162: 14(int) Load 160(committedStatus) 159: Label
SelectionMerge 166 None 162: 14(int) RayQueryGetIntersectionTypeKHR 47(rayQuery) 23
Switch 162 166 Store 161(committedStatus) 162
case 0: 163 163: 14(int) Load 161(committedStatus)
case 1: 164 SelectionMerge 167 None
case 2: 165 Switch 163 167
163: Label case 0: 164
167: 77 RayQueryGetIntersectionWorldToObjectKHR 45(rayQuery) 19 case 1: 165
Store 79(_mat4x3) 167 case 2: 166
168: 77 Load 79(_mat4x3)
169: 82 Transpose 168
Store 84(_mat3x4) 169
Branch 166
164: Label 164: Label
171: 77 RayQueryGetIntersectionWorldToObjectKHR 45(rayQuery) 23 168: 78 RayQueryGetIntersectionWorldToObjectKHR 47(rayQuery) 19
Store 79(_mat4x3) 171 Store 80(_mat4x3) 168
172: 77 Load 79(_mat4x3) 169: 78 Load 80(_mat4x3)
173: 82 Transpose 172 170: 83 Transpose 169
Store 84(_mat3x4) 173 Store 85(_mat3x4) 170
174: 66(bool) RayQueryGetIntersectionFrontFaceKHR 45(rayQuery) 23 Branch 167
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 165: Label
186: 18(int) RayQueryGetIntersectionGeometryIndexKHR 45(rayQuery) 23 172: 78 RayQueryGetIntersectionWorldToObjectKHR 47(rayQuery) 23
187: 66(bool) SGreaterThan 186 19 Store 80(_mat4x3) 172
SelectionMerge 189 None 173: 78 Load 80(_mat4x3)
BranchConditional 187 188 189 174: 83 Transpose 173
188: Label Store 85(_mat3x4) 174
190: 2 FunctionCall 6(doSomething() 175: 67(bool) RayQueryGetIntersectionFrontFaceKHR 47(rayQuery) 23
Branch 189 SelectionMerge 177 None
189: Label BranchConditional 175 176 177
191: 18(int) RayQueryGetIntersectionInstanceIdKHR 45(rayQuery) 23 176: Label
192: 66(bool) SGreaterThan 191 19 178: 2 FunctionCall 6(doSomething()
SelectionMerge 194 None Branch 177
BranchConditional 192 193 194 177: Label
193: Label 179: 94(fvec2) RayQueryGetIntersectionBarycentricsKHR 47(rayQuery) 23
195: 2 FunctionCall 6(doSomething() 181: 8(float) CompositeExtract 179 1
Branch 194 182: 67(bool) FOrdEqual 181 27
194: Label SelectionMerge 184 None
196: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 45(rayQuery) 23 BranchConditional 182 183 184
197: 66(bool) SGreaterThan 196 19 183: Label
SelectionMerge 199 None 185: 2 FunctionCall 6(doSomething()
BranchConditional 197 198 199 Branch 184
198: Label 184: Label
200: 2 FunctionCall 6(doSomething() Branch 167
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 166: Label
226: 35(ptr) AccessChain 84(_mat3x4) 19 20 187: 18(int) RayQueryGetIntersectionGeometryIndexKHR 47(rayQuery) 23
227: 8(float) Load 226 188: 67(bool) SGreaterThan 187 19
228: 35(ptr) AccessChain 79(_mat4x3) 19 20 SelectionMerge 190 None
229: 8(float) Load 228 BranchConditional 188 189 190
230: 66(bool) FOrdEqual 227 229 189: Label
SelectionMerge 232 None 191: 2 FunctionCall 6(doSomething()
BranchConditional 230 231 232 Branch 190
231: Label 190: Label
233: 2 FunctionCall 6(doSomething() 192: 18(int) RayQueryGetIntersectionInstanceIdKHR 47(rayQuery) 23
Branch 232 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 232: Label
234: 43 Load 45(rayQuery) 234: 2 FunctionCall 6(doSomething()
235: 14(int) RayQueryGetRayFlagsKHR 234 Branch 233
236: 66(bool) UGreaterThan 235 20 233: Label
SelectionMerge 238 None 235: 45 Load 47(rayQuery)
BranchConditional 236 237 238 236: 14(int) RayQueryGetRayFlagsKHR 235
237: Label 237: 67(bool) UGreaterThan 236 20
239: 2 FunctionCall 6(doSomething() SelectionMerge 239 None
Branch 238 BranchConditional 237 238 239
238: Label 238: Label
240: 43 Load 45(rayQuery) 240: 2 FunctionCall 6(doSomething()
241: 8(float) RayQueryGetRayTMinKHR 240 Branch 239
242: 66(bool) FOrdGreaterThan 241 27 239: Label
SelectionMerge 244 None 241: 45 Load 47(rayQuery)
BranchConditional 242 243 244 242: 8(float) RayQueryGetRayTMinKHR 241
243: Label 243: 67(bool) FOrdGreaterThan 242 27
245: 2 FunctionCall 6(doSomething() SelectionMerge 245 None
Branch 244 BranchConditional 243 244 245
244: Label 244: Label
247: 43 Load 45(rayQuery) 246: 2 FunctionCall 6(doSomething()
248: 9(fvec3) RayQueryGetWorldRayOriginKHR 247 Branch 245
Store 246(o) 248 245: Label
250: 43 Load 45(rayQuery) 248: 45 Load 47(rayQuery)
251: 9(fvec3) RayQueryGetWorldRayDirectionKHR 250 249: 9(fvec3) RayQueryGetWorldRayOriginKHR 248
Store 249(d) 251 Store 247(o) 249
252: 35(ptr) AccessChain 246(o) 20 251: 45 Load 47(rayQuery)
253: 8(float) Load 252 252: 9(fvec3) RayQueryGetWorldRayDirectionKHR 251
254: 35(ptr) AccessChain 249(d) 202 Store 250(d) 252
255: 8(float) Load 254 253: 35(ptr) AccessChain 247(o) 20
256: 66(bool) FOrdEqual 253 255 254: 8(float) Load 253
SelectionMerge 258 None 255: 35(ptr) AccessChain 250(d) 203
BranchConditional 256 257 258 256: 8(float) Load 255
257: Label 257: 67(bool) FOrdEqual 254 256
259: 2 FunctionCall 6(doSomething() SelectionMerge 259 None
Branch 258 BranchConditional 257 258 259
258: Label 258: Label
260: 2 FunctionCall 6(doSomething()
Branch 259
259: Label
Return Return
FunctionEnd FunctionEnd
6(doSomething(): 2 Function None 3 6(doSomething(): 2 Function None 3

View File

@@ -1,7 +1,7 @@
rayQuery-allOps.frag rayQuery-allOps.frag
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80008 // Generated by (magic number): 80008
// Id's are bound by 265 // Id's are bound by 266
Capability Shader Capability Shader
Capability RayQueryProvisionalKHR Capability RayQueryProvisionalKHR
@@ -26,40 +26,40 @@ rayQuery-allOps.frag
MemberName 15(Log) 1 "y" MemberName 15(Log) 1 "y"
Name 17 "" Name 17 ""
Name 26 "ray" Name 26 "ray"
Name 45 "rayQuery" Name 43 "ray"
Name 48 "rtas" Name 47 "rayQuery"
Name 51 "ray" Name 50 "rtas"
Name 69 "candidateType" Name 70 "candidateType"
Name 79 "_mat4x3" Name 80 "_mat4x3"
Name 84 "_mat3x4" Name 85 "_mat3x4"
Name 146 "t" Name 147 "t"
Name 160 "committedStatus" Name 161 "committedStatus"
Name 246 "o" Name 247 "o"
Name 249 "d" Name 250 "d"
Name 260 "Ray" Name 261 "Ray"
MemberName 260(Ray) 0 "pos" MemberName 261(Ray) 0 "pos"
MemberName 260(Ray) 1 "tmin" MemberName 261(Ray) 1 "tmin"
MemberName 260(Ray) 2 "dir" MemberName 261(Ray) 2 "dir"
MemberName 260(Ray) 3 "tmax" MemberName 261(Ray) 3 "tmax"
Name 262 "Rays" Name 263 "Rays"
MemberName 262(Rays) 0 "rays" MemberName 263(Rays) 0 "rays"
Name 264 "" Name 265 ""
MemberDecorate 15(Log) 0 Offset 0 MemberDecorate 15(Log) 0 Offset 0
MemberDecorate 15(Log) 1 Offset 4 MemberDecorate 15(Log) 1 Offset 4
Decorate 15(Log) BufferBlock Decorate 15(Log) BufferBlock
Decorate 17 DescriptorSet 0 Decorate 17 DescriptorSet 0
Decorate 17 Binding 0 Decorate 17 Binding 0
Decorate 48(rtas) DescriptorSet 0 Decorate 50(rtas) DescriptorSet 0
Decorate 48(rtas) Binding 1 Decorate 50(rtas) Binding 1
MemberDecorate 260(Ray) 0 Offset 0 MemberDecorate 261(Ray) 0 Offset 0
MemberDecorate 260(Ray) 1 Offset 12 MemberDecorate 261(Ray) 1 Offset 12
MemberDecorate 260(Ray) 2 Offset 16 MemberDecorate 261(Ray) 2 Offset 16
MemberDecorate 260(Ray) 3 Offset 28 MemberDecorate 261(Ray) 3 Offset 28
Decorate 261 ArrayStride 32 Decorate 262 ArrayStride 32
MemberDecorate 262(Rays) 0 Offset 0 MemberDecorate 263(Rays) 0 Offset 0
Decorate 262(Rays) BufferBlock Decorate 263(Rays) BufferBlock
Decorate 264 DescriptorSet 0 Decorate 265 DescriptorSet 0
Decorate 264 Binding 2 Decorate 265 Binding 2
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
8: TypeFloat 32 8: TypeFloat 32
@@ -85,333 +85,335 @@ rayQuery-allOps.frag
35: TypePointer Function 8(float) 35: TypePointer Function 8(float)
37: 18(int) Constant 3 37: 18(int) Constant 3
38: 8(float) Constant 1176255488 38: 8(float) Constant 1176255488
43: TypeRayQueryProvisionalKHR 45: TypeRayQueryProvisionalKHR
44: TypePointer Function 43 46: TypePointer Function 45
46: TypeAccelerationStructureKHR 48: TypeAccelerationStructureKHR
47: TypePointer UniformConstant 46 49: TypePointer UniformConstant 48
48(rtas): 47(ptr) Variable UniformConstant 50(rtas): 49(ptr) Variable UniformConstant
50: 14(int) Constant 255 52: 14(int) Constant 255
66: TypeBool 67: TypeBool
68: TypePointer Function 14(int) 69: TypePointer Function 14(int)
70: 66(bool) ConstantFalse 71: 67(bool) ConstantFalse
77: TypeMatrix 9(fvec3) 4 78: TypeMatrix 9(fvec3) 4
78: TypePointer Function 77 79: TypePointer Function 78
81: TypeVector 8(float) 4 82: TypeVector 8(float) 4
82: TypeMatrix 81(fvec4) 3 83: TypeMatrix 82(fvec4) 3
83: TypePointer Function 82 84: TypePointer Function 83
88: 66(bool) ConstantTrue 89: 67(bool) ConstantTrue
93: TypeVector 8(float) 2 94: TypeVector 8(float) 2
147: 8(float) Constant 1056964608 148: 8(float) Constant 1056964608
179: 14(int) Constant 1 180: 14(int) Constant 1
202: 14(int) Constant 2 203: 14(int) Constant 2
260(Ray): TypeStruct 9(fvec3) 8(float) 9(fvec3) 8(float) 261(Ray): TypeStruct 9(fvec3) 8(float) 9(fvec3) 8(float)
261: TypeRuntimeArray 260(Ray) 262: TypeRuntimeArray 261(Ray)
262(Rays): TypeStruct 261 263(Rays): TypeStruct 262
263: TypePointer Uniform 262(Rays) 264: TypePointer Uniform 263(Rays)
264: 263(ptr) Variable Uniform 265: 264(ptr) Variable Uniform
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
45(rayQuery): 44(ptr) Variable Function 43(ray): 25(ptr) Variable Function
51(ray): 25(ptr) Variable Function 47(rayQuery): 46(ptr) Variable Function
69(candidateType): 68(ptr) Variable Function 70(candidateType): 69(ptr) Variable Function
79(_mat4x3): 78(ptr) Variable Function 80(_mat4x3): 79(ptr) Variable Function
84(_mat3x4): 83(ptr) Variable Function 85(_mat3x4): 84(ptr) Variable Function
146(t): 35(ptr) Variable Function 147(t): 35(ptr) Variable Function
160(committedStatus): 68(ptr) Variable Function 161(committedStatus): 69(ptr) Variable Function
246(o): 29(ptr) Variable Function 247(o): 29(ptr) Variable Function
249(d): 29(ptr) Variable Function 250(d): 29(ptr) Variable Function
49: 46 Load 48(rtas) 44: 10(Ray) FunctionCall 12(makeRayDesc()
52: 29(ptr) AccessChain 51(ray) 19 Store 43(ray) 44
53: 9(fvec3) Load 52 51: 48 Load 50(rtas)
54: 35(ptr) AccessChain 51(ray) 23 53: 29(ptr) AccessChain 43(ray) 19
55: 8(float) Load 54 54: 9(fvec3) Load 53
56: 29(ptr) AccessChain 51(ray) 31 55: 35(ptr) AccessChain 43(ray) 23
57: 9(fvec3) Load 56 56: 8(float) Load 55
58: 35(ptr) AccessChain 51(ray) 37 57: 29(ptr) AccessChain 43(ray) 31
59: 8(float) Load 58 58: 9(fvec3) Load 57
RayQueryInitializeKHR 45(rayQuery) 49 20 50 53 55 57 59 59: 35(ptr) AccessChain 43(ray) 37
Branch 60 60: 8(float) Load 59
60: Label RayQueryInitializeKHR 47(rayQuery) 51 20 52 54 56 58 60
LoopMerge 62 63 None 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 Branch 64
64: Label 64: Label
65: 43 Load 45(rayQuery) Branch 61
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 63: Label
Branch 60 153: 35(ptr) AccessChain 85(_mat3x4) 19 20
62: Label 154: 8(float) Load 153
152: 35(ptr) AccessChain 84(_mat3x4) 19 20 155: 35(ptr) AccessChain 80(_mat4x3) 19 20
153: 8(float) Load 152 156: 8(float) Load 155
154: 35(ptr) AccessChain 79(_mat4x3) 19 20 157: 67(bool) FOrdEqual 154 156
155: 8(float) Load 154 SelectionMerge 159 None
156: 66(bool) FOrdEqual 153 155 BranchConditional 157 158 159
SelectionMerge 158 None
BranchConditional 156 157 158
157: Label
159: 2 FunctionCall 6(doSomething()
Branch 158
158: Label 158: Label
161: 14(int) RayQueryGetIntersectionTypeKHR 45(rayQuery) 23 160: 2 FunctionCall 6(doSomething()
Store 160(committedStatus) 161 Branch 159
162: 14(int) Load 160(committedStatus) 159: Label
SelectionMerge 166 None 162: 14(int) RayQueryGetIntersectionTypeKHR 47(rayQuery) 23
Switch 162 166 Store 161(committedStatus) 162
case 0: 163 163: 14(int) Load 161(committedStatus)
case 1: 164 SelectionMerge 167 None
case 2: 165 Switch 163 167
163: Label case 0: 164
167: 77 RayQueryGetIntersectionWorldToObjectKHR 45(rayQuery) 19 case 1: 165
Store 79(_mat4x3) 167 case 2: 166
168: 77 Load 79(_mat4x3)
169: 82 Transpose 168
Store 84(_mat3x4) 169
Branch 166
164: Label 164: Label
171: 77 RayQueryGetIntersectionWorldToObjectKHR 45(rayQuery) 23 168: 78 RayQueryGetIntersectionWorldToObjectKHR 47(rayQuery) 19
Store 79(_mat4x3) 171 Store 80(_mat4x3) 168
172: 77 Load 79(_mat4x3) 169: 78 Load 80(_mat4x3)
173: 82 Transpose 172 170: 83 Transpose 169
Store 84(_mat3x4) 173 Store 85(_mat3x4) 170
174: 66(bool) RayQueryGetIntersectionFrontFaceKHR 45(rayQuery) 23 Branch 167
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 165: Label
186: 18(int) RayQueryGetIntersectionGeometryIndexKHR 45(rayQuery) 23 172: 78 RayQueryGetIntersectionWorldToObjectKHR 47(rayQuery) 23
187: 66(bool) SGreaterThan 186 19 Store 80(_mat4x3) 172
SelectionMerge 189 None 173: 78 Load 80(_mat4x3)
BranchConditional 187 188 189 174: 83 Transpose 173
188: Label Store 85(_mat3x4) 174
190: 2 FunctionCall 6(doSomething() 175: 67(bool) RayQueryGetIntersectionFrontFaceKHR 47(rayQuery) 23
Branch 189 SelectionMerge 177 None
189: Label BranchConditional 175 176 177
191: 18(int) RayQueryGetIntersectionInstanceIdKHR 45(rayQuery) 23 176: Label
192: 66(bool) SGreaterThan 191 19 178: 2 FunctionCall 6(doSomething()
SelectionMerge 194 None Branch 177
BranchConditional 192 193 194 177: Label
193: Label 179: 94(fvec2) RayQueryGetIntersectionBarycentricsKHR 47(rayQuery) 23
195: 2 FunctionCall 6(doSomething() 181: 8(float) CompositeExtract 179 1
Branch 194 182: 67(bool) FOrdEqual 181 27
194: Label SelectionMerge 184 None
196: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 45(rayQuery) 23 BranchConditional 182 183 184
197: 66(bool) SGreaterThan 196 19 183: Label
SelectionMerge 199 None 185: 2 FunctionCall 6(doSomething()
BranchConditional 197 198 199 Branch 184
198: Label 184: Label
200: 2 FunctionCall 6(doSomething() Branch 167
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 166: Label
226: 35(ptr) AccessChain 84(_mat3x4) 19 20 187: 18(int) RayQueryGetIntersectionGeometryIndexKHR 47(rayQuery) 23
227: 8(float) Load 226 188: 67(bool) SGreaterThan 187 19
228: 35(ptr) AccessChain 79(_mat4x3) 19 20 SelectionMerge 190 None
229: 8(float) Load 228 BranchConditional 188 189 190
230: 66(bool) FOrdEqual 227 229 189: Label
SelectionMerge 232 None 191: 2 FunctionCall 6(doSomething()
BranchConditional 230 231 232 Branch 190
231: Label 190: Label
233: 2 FunctionCall 6(doSomething() 192: 18(int) RayQueryGetIntersectionInstanceIdKHR 47(rayQuery) 23
Branch 232 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 232: Label
234: 43 Load 45(rayQuery) 234: 2 FunctionCall 6(doSomething()
235: 14(int) RayQueryGetRayFlagsKHR 234 Branch 233
236: 66(bool) UGreaterThan 235 20 233: Label
SelectionMerge 238 None 235: 45 Load 47(rayQuery)
BranchConditional 236 237 238 236: 14(int) RayQueryGetRayFlagsKHR 235
237: Label 237: 67(bool) UGreaterThan 236 20
239: 2 FunctionCall 6(doSomething() SelectionMerge 239 None
Branch 238 BranchConditional 237 238 239
238: Label 238: Label
240: 43 Load 45(rayQuery) 240: 2 FunctionCall 6(doSomething()
241: 8(float) RayQueryGetRayTMinKHR 240 Branch 239
242: 66(bool) FOrdGreaterThan 241 27 239: Label
SelectionMerge 244 None 241: 45 Load 47(rayQuery)
BranchConditional 242 243 244 242: 8(float) RayQueryGetRayTMinKHR 241
243: Label 243: 67(bool) FOrdGreaterThan 242 27
245: 2 FunctionCall 6(doSomething() SelectionMerge 245 None
Branch 244 BranchConditional 243 244 245
244: Label 244: Label
247: 43 Load 45(rayQuery) 246: 2 FunctionCall 6(doSomething()
248: 9(fvec3) RayQueryGetWorldRayOriginKHR 247 Branch 245
Store 246(o) 248 245: Label
250: 43 Load 45(rayQuery) 248: 45 Load 47(rayQuery)
251: 9(fvec3) RayQueryGetWorldRayDirectionKHR 250 249: 9(fvec3) RayQueryGetWorldRayOriginKHR 248
Store 249(d) 251 Store 247(o) 249
252: 35(ptr) AccessChain 246(o) 20 251: 45 Load 47(rayQuery)
253: 8(float) Load 252 252: 9(fvec3) RayQueryGetWorldRayDirectionKHR 251
254: 35(ptr) AccessChain 249(d) 202 Store 250(d) 252
255: 8(float) Load 254 253: 35(ptr) AccessChain 247(o) 20
256: 66(bool) FOrdEqual 253 255 254: 8(float) Load 253
SelectionMerge 258 None 255: 35(ptr) AccessChain 250(d) 203
BranchConditional 256 257 258 256: 8(float) Load 255
257: Label 257: 67(bool) FOrdEqual 254 256
259: 2 FunctionCall 6(doSomething() SelectionMerge 259 None
Branch 258 BranchConditional 257 258 259
258: Label 258: Label
260: 2 FunctionCall 6(doSomething()
Branch 259
259: Label
Return Return
FunctionEnd FunctionEnd
6(doSomething(): 2 Function None 3 6(doSomething(): 2 Function None 3

View File

@@ -1,7 +1,7 @@
rayQuery-allOps.rgen rayQuery-allOps.rgen
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80008 // Generated by (magic number): 80008
// Id's are bound by 265 // Id's are bound by 266
Capability RayQueryProvisionalKHR Capability RayQueryProvisionalKHR
Capability RayTracingNV Capability RayTracingNV
@@ -26,40 +26,40 @@ rayQuery-allOps.rgen
MemberName 15(Log) 1 "y" MemberName 15(Log) 1 "y"
Name 17 "" Name 17 ""
Name 26 "ray" Name 26 "ray"
Name 45 "rayQuery" Name 43 "ray"
Name 48 "rtas" Name 47 "rayQuery"
Name 51 "ray" Name 50 "rtas"
Name 69 "candidateType" Name 70 "candidateType"
Name 79 "_mat4x3" Name 80 "_mat4x3"
Name 84 "_mat3x4" Name 85 "_mat3x4"
Name 146 "t" Name 147 "t"
Name 160 "committedStatus" Name 161 "committedStatus"
Name 246 "o" Name 247 "o"
Name 249 "d" Name 250 "d"
Name 260 "Ray" Name 261 "Ray"
MemberName 260(Ray) 0 "pos" MemberName 261(Ray) 0 "pos"
MemberName 260(Ray) 1 "tmin" MemberName 261(Ray) 1 "tmin"
MemberName 260(Ray) 2 "dir" MemberName 261(Ray) 2 "dir"
MemberName 260(Ray) 3 "tmax" MemberName 261(Ray) 3 "tmax"
Name 262 "Rays" Name 263 "Rays"
MemberName 262(Rays) 0 "rays" MemberName 263(Rays) 0 "rays"
Name 264 "" Name 265 ""
MemberDecorate 15(Log) 0 Offset 0 MemberDecorate 15(Log) 0 Offset 0
MemberDecorate 15(Log) 1 Offset 4 MemberDecorate 15(Log) 1 Offset 4
Decorate 15(Log) BufferBlock Decorate 15(Log) BufferBlock
Decorate 17 DescriptorSet 0 Decorate 17 DescriptorSet 0
Decorate 17 Binding 0 Decorate 17 Binding 0
Decorate 48(rtas) DescriptorSet 0 Decorate 50(rtas) DescriptorSet 0
Decorate 48(rtas) Binding 1 Decorate 50(rtas) Binding 1
MemberDecorate 260(Ray) 0 Offset 0 MemberDecorate 261(Ray) 0 Offset 0
MemberDecorate 260(Ray) 1 Offset 12 MemberDecorate 261(Ray) 1 Offset 12
MemberDecorate 260(Ray) 2 Offset 16 MemberDecorate 261(Ray) 2 Offset 16
MemberDecorate 260(Ray) 3 Offset 28 MemberDecorate 261(Ray) 3 Offset 28
Decorate 261 ArrayStride 32 Decorate 262 ArrayStride 32
MemberDecorate 262(Rays) 0 Offset 0 MemberDecorate 263(Rays) 0 Offset 0
Decorate 262(Rays) BufferBlock Decorate 263(Rays) BufferBlock
Decorate 264 DescriptorSet 0 Decorate 265 DescriptorSet 0
Decorate 264 Binding 2 Decorate 265 Binding 2
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
8: TypeFloat 32 8: TypeFloat 32
@@ -85,333 +85,335 @@ rayQuery-allOps.rgen
35: TypePointer Function 8(float) 35: TypePointer Function 8(float)
37: 18(int) Constant 3 37: 18(int) Constant 3
38: 8(float) Constant 1176255488 38: 8(float) Constant 1176255488
43: TypeRayQueryProvisionalKHR 45: TypeRayQueryProvisionalKHR
44: TypePointer Function 43 46: TypePointer Function 45
46: TypeAccelerationStructureKHR 48: TypeAccelerationStructureKHR
47: TypePointer UniformConstant 46 49: TypePointer UniformConstant 48
48(rtas): 47(ptr) Variable UniformConstant 50(rtas): 49(ptr) Variable UniformConstant
50: 14(int) Constant 255 52: 14(int) Constant 255
66: TypeBool 67: TypeBool
68: TypePointer Function 14(int) 69: TypePointer Function 14(int)
70: 66(bool) ConstantFalse 71: 67(bool) ConstantFalse
77: TypeMatrix 9(fvec3) 4 78: TypeMatrix 9(fvec3) 4
78: TypePointer Function 77 79: TypePointer Function 78
81: TypeVector 8(float) 4 82: TypeVector 8(float) 4
82: TypeMatrix 81(fvec4) 3 83: TypeMatrix 82(fvec4) 3
83: TypePointer Function 82 84: TypePointer Function 83
88: 66(bool) ConstantTrue 89: 67(bool) ConstantTrue
93: TypeVector 8(float) 2 94: TypeVector 8(float) 2
147: 8(float) Constant 1056964608 148: 8(float) Constant 1056964608
179: 14(int) Constant 1 180: 14(int) Constant 1
202: 14(int) Constant 2 203: 14(int) Constant 2
260(Ray): TypeStruct 9(fvec3) 8(float) 9(fvec3) 8(float) 261(Ray): TypeStruct 9(fvec3) 8(float) 9(fvec3) 8(float)
261: TypeRuntimeArray 260(Ray) 262: TypeRuntimeArray 261(Ray)
262(Rays): TypeStruct 261 263(Rays): TypeStruct 262
263: TypePointer Uniform 262(Rays) 264: TypePointer Uniform 263(Rays)
264: 263(ptr) Variable Uniform 265: 264(ptr) Variable Uniform
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
45(rayQuery): 44(ptr) Variable Function 43(ray): 25(ptr) Variable Function
51(ray): 25(ptr) Variable Function 47(rayQuery): 46(ptr) Variable Function
69(candidateType): 68(ptr) Variable Function 70(candidateType): 69(ptr) Variable Function
79(_mat4x3): 78(ptr) Variable Function 80(_mat4x3): 79(ptr) Variable Function
84(_mat3x4): 83(ptr) Variable Function 85(_mat3x4): 84(ptr) Variable Function
146(t): 35(ptr) Variable Function 147(t): 35(ptr) Variable Function
160(committedStatus): 68(ptr) Variable Function 161(committedStatus): 69(ptr) Variable Function
246(o): 29(ptr) Variable Function 247(o): 29(ptr) Variable Function
249(d): 29(ptr) Variable Function 250(d): 29(ptr) Variable Function
49: 46 Load 48(rtas) 44: 10(Ray) FunctionCall 12(makeRayDesc()
52: 29(ptr) AccessChain 51(ray) 19 Store 43(ray) 44
53: 9(fvec3) Load 52 51: 48 Load 50(rtas)
54: 35(ptr) AccessChain 51(ray) 23 53: 29(ptr) AccessChain 43(ray) 19
55: 8(float) Load 54 54: 9(fvec3) Load 53
56: 29(ptr) AccessChain 51(ray) 31 55: 35(ptr) AccessChain 43(ray) 23
57: 9(fvec3) Load 56 56: 8(float) Load 55
58: 35(ptr) AccessChain 51(ray) 37 57: 29(ptr) AccessChain 43(ray) 31
59: 8(float) Load 58 58: 9(fvec3) Load 57
RayQueryInitializeKHR 45(rayQuery) 49 20 50 53 55 57 59 59: 35(ptr) AccessChain 43(ray) 37
Branch 60 60: 8(float) Load 59
60: Label RayQueryInitializeKHR 47(rayQuery) 51 20 52 54 56 58 60
LoopMerge 62 63 None 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 Branch 64
64: Label 64: Label
65: 43 Load 45(rayQuery) Branch 61
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 63: Label
Branch 60 153: 35(ptr) AccessChain 85(_mat3x4) 19 20
62: Label 154: 8(float) Load 153
152: 35(ptr) AccessChain 84(_mat3x4) 19 20 155: 35(ptr) AccessChain 80(_mat4x3) 19 20
153: 8(float) Load 152 156: 8(float) Load 155
154: 35(ptr) AccessChain 79(_mat4x3) 19 20 157: 67(bool) FOrdEqual 154 156
155: 8(float) Load 154 SelectionMerge 159 None
156: 66(bool) FOrdEqual 153 155 BranchConditional 157 158 159
SelectionMerge 158 None
BranchConditional 156 157 158
157: Label
159: 2 FunctionCall 6(doSomething()
Branch 158
158: Label 158: Label
161: 14(int) RayQueryGetIntersectionTypeKHR 45(rayQuery) 23 160: 2 FunctionCall 6(doSomething()
Store 160(committedStatus) 161 Branch 159
162: 14(int) Load 160(committedStatus) 159: Label
SelectionMerge 166 None 162: 14(int) RayQueryGetIntersectionTypeKHR 47(rayQuery) 23
Switch 162 166 Store 161(committedStatus) 162
case 0: 163 163: 14(int) Load 161(committedStatus)
case 1: 164 SelectionMerge 167 None
case 2: 165 Switch 163 167
163: Label case 0: 164
167: 77 RayQueryGetIntersectionWorldToObjectKHR 45(rayQuery) 19 case 1: 165
Store 79(_mat4x3) 167 case 2: 166
168: 77 Load 79(_mat4x3)
169: 82 Transpose 168
Store 84(_mat3x4) 169
Branch 166
164: Label 164: Label
171: 77 RayQueryGetIntersectionWorldToObjectKHR 45(rayQuery) 23 168: 78 RayQueryGetIntersectionWorldToObjectKHR 47(rayQuery) 19
Store 79(_mat4x3) 171 Store 80(_mat4x3) 168
172: 77 Load 79(_mat4x3) 169: 78 Load 80(_mat4x3)
173: 82 Transpose 172 170: 83 Transpose 169
Store 84(_mat3x4) 173 Store 85(_mat3x4) 170
174: 66(bool) RayQueryGetIntersectionFrontFaceKHR 45(rayQuery) 23 Branch 167
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 165: Label
186: 18(int) RayQueryGetIntersectionGeometryIndexKHR 45(rayQuery) 23 172: 78 RayQueryGetIntersectionWorldToObjectKHR 47(rayQuery) 23
187: 66(bool) SGreaterThan 186 19 Store 80(_mat4x3) 172
SelectionMerge 189 None 173: 78 Load 80(_mat4x3)
BranchConditional 187 188 189 174: 83 Transpose 173
188: Label Store 85(_mat3x4) 174
190: 2 FunctionCall 6(doSomething() 175: 67(bool) RayQueryGetIntersectionFrontFaceKHR 47(rayQuery) 23
Branch 189 SelectionMerge 177 None
189: Label BranchConditional 175 176 177
191: 18(int) RayQueryGetIntersectionInstanceIdKHR 45(rayQuery) 23 176: Label
192: 66(bool) SGreaterThan 191 19 178: 2 FunctionCall 6(doSomething()
SelectionMerge 194 None Branch 177
BranchConditional 192 193 194 177: Label
193: Label 179: 94(fvec2) RayQueryGetIntersectionBarycentricsKHR 47(rayQuery) 23
195: 2 FunctionCall 6(doSomething() 181: 8(float) CompositeExtract 179 1
Branch 194 182: 67(bool) FOrdEqual 181 27
194: Label SelectionMerge 184 None
196: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 45(rayQuery) 23 BranchConditional 182 183 184
197: 66(bool) SGreaterThan 196 19 183: Label
SelectionMerge 199 None 185: 2 FunctionCall 6(doSomething()
BranchConditional 197 198 199 Branch 184
198: Label 184: Label
200: 2 FunctionCall 6(doSomething() Branch 167
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 166: Label
226: 35(ptr) AccessChain 84(_mat3x4) 19 20 187: 18(int) RayQueryGetIntersectionGeometryIndexKHR 47(rayQuery) 23
227: 8(float) Load 226 188: 67(bool) SGreaterThan 187 19
228: 35(ptr) AccessChain 79(_mat4x3) 19 20 SelectionMerge 190 None
229: 8(float) Load 228 BranchConditional 188 189 190
230: 66(bool) FOrdEqual 227 229 189: Label
SelectionMerge 232 None 191: 2 FunctionCall 6(doSomething()
BranchConditional 230 231 232 Branch 190
231: Label 190: Label
233: 2 FunctionCall 6(doSomething() 192: 18(int) RayQueryGetIntersectionInstanceIdKHR 47(rayQuery) 23
Branch 232 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 232: Label
234: 43 Load 45(rayQuery) 234: 2 FunctionCall 6(doSomething()
235: 14(int) RayQueryGetRayFlagsKHR 234 Branch 233
236: 66(bool) UGreaterThan 235 20 233: Label
SelectionMerge 238 None 235: 45 Load 47(rayQuery)
BranchConditional 236 237 238 236: 14(int) RayQueryGetRayFlagsKHR 235
237: Label 237: 67(bool) UGreaterThan 236 20
239: 2 FunctionCall 6(doSomething() SelectionMerge 239 None
Branch 238 BranchConditional 237 238 239
238: Label 238: Label
240: 43 Load 45(rayQuery) 240: 2 FunctionCall 6(doSomething()
241: 8(float) RayQueryGetRayTMinKHR 240 Branch 239
242: 66(bool) FOrdGreaterThan 241 27 239: Label
SelectionMerge 244 None 241: 45 Load 47(rayQuery)
BranchConditional 242 243 244 242: 8(float) RayQueryGetRayTMinKHR 241
243: Label 243: 67(bool) FOrdGreaterThan 242 27
245: 2 FunctionCall 6(doSomething() SelectionMerge 245 None
Branch 244 BranchConditional 243 244 245
244: Label 244: Label
247: 43 Load 45(rayQuery) 246: 2 FunctionCall 6(doSomething()
248: 9(fvec3) RayQueryGetWorldRayOriginKHR 247 Branch 245
Store 246(o) 248 245: Label
250: 43 Load 45(rayQuery) 248: 45 Load 47(rayQuery)
251: 9(fvec3) RayQueryGetWorldRayDirectionKHR 250 249: 9(fvec3) RayQueryGetWorldRayOriginKHR 248
Store 249(d) 251 Store 247(o) 249
252: 35(ptr) AccessChain 246(o) 20 251: 45 Load 47(rayQuery)
253: 8(float) Load 252 252: 9(fvec3) RayQueryGetWorldRayDirectionKHR 251
254: 35(ptr) AccessChain 249(d) 202 Store 250(d) 252
255: 8(float) Load 254 253: 35(ptr) AccessChain 247(o) 20
256: 66(bool) FOrdEqual 253 255 254: 8(float) Load 253
SelectionMerge 258 None 255: 35(ptr) AccessChain 250(d) 203
BranchConditional 256 257 258 256: 8(float) Load 255
257: Label 257: 67(bool) FOrdEqual 254 256
259: 2 FunctionCall 6(doSomething() SelectionMerge 259 None
Branch 258 BranchConditional 257 258 259
258: Label 258: Label
260: 2 FunctionCall 6(doSomething()
Branch 259
259: Label
Return Return
FunctionEnd FunctionEnd
6(doSomething(): 2 Function None 3 6(doSomething(): 2 Function None 3

View File

@@ -1,7 +1,7 @@
rayQuery-array-2d-dynamic.rgen rayQuery-array-2d-dynamic.rgen
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80008 // Generated by (magic number): 80008
// Id's are bound by 126 // Id's are bound by 128
Capability RayQueryProvisionalKHR Capability RayQueryProvisionalKHR
Capability RayTracingNV Capability RayTracingNV
@@ -26,35 +26,35 @@ rayQuery-array-2d-dynamic.rgen
Name 23 "gl_LaunchIDNV" Name 23 "gl_LaunchIDNV"
Name 28 "gl_LaunchSizeNV" Name 28 "gl_LaunchSizeNV"
Name 50 "rtas" Name 50 "rtas"
Name 68 "index" Name 69 "index"
Name 70 "ray" Name 71 "ray"
Name 71 "Ray" Name 72 "Ray"
MemberName 71(Ray) 0 "pos" MemberName 72(Ray) 0 "pos"
MemberName 71(Ray) 1 "tmin" MemberName 72(Ray) 1 "tmin"
MemberName 71(Ray) 2 "dir" MemberName 72(Ray) 2 "dir"
MemberName 71(Ray) 3 "tmax" MemberName 72(Ray) 3 "tmax"
Name 73 "Rays" Name 74 "Rays"
MemberName 73(Rays) 0 "rays" MemberName 74(Rays) 0 "rays"
Name 75 "" Name 76 ""
Name 90 "rayQuery" Name 91 "rayQuery"
Name 92 "param" Name 93 "param"
Name 95 "param" Name 96 "param"
Name 118 "C" Name 120 "C"
Name 120 "param" Name 122 "param"
Name 123 "param" Name 125 "param"
Decorate 23(gl_LaunchIDNV) BuiltIn LaunchIdKHR Decorate 23(gl_LaunchIDNV) BuiltIn LaunchIdKHR
Decorate 28(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR Decorate 28(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR
Decorate 50(rtas) DescriptorSet 0 Decorate 50(rtas) DescriptorSet 0
Decorate 50(rtas) Binding 0 Decorate 50(rtas) Binding 0
MemberDecorate 71(Ray) 0 Offset 0 MemberDecorate 72(Ray) 0 Offset 0
MemberDecorate 71(Ray) 1 Offset 12 MemberDecorate 72(Ray) 1 Offset 12
MemberDecorate 71(Ray) 2 Offset 16 MemberDecorate 72(Ray) 2 Offset 16
MemberDecorate 71(Ray) 3 Offset 28 MemberDecorate 72(Ray) 3 Offset 28
Decorate 72 ArrayStride 32 Decorate 73 ArrayStride 32
MemberDecorate 73(Rays) 0 Offset 0 MemberDecorate 74(Rays) 0 Offset 0
Decorate 73(Rays) BufferBlock Decorate 74(Rays) BufferBlock
Decorate 75 DescriptorSet 0 Decorate 76 DescriptorSet 0
Decorate 75 Binding 2 Decorate 76 Binding 2
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeInt 32 0 6: TypeInt 32 0
@@ -77,87 +77,89 @@ rayQuery-array-2d-dynamic.rgen
48: TypeAccelerationStructureKHR 48: TypeAccelerationStructureKHR
49: TypePointer UniformConstant 48 49: TypePointer UniformConstant 48
50(rtas): 49(ptr) Variable UniformConstant 50(rtas): 49(ptr) Variable UniformConstant
52: TypeInt 32 1 52: 6(int) Constant 16
53: 52(int) Constant 0 53: TypeInt 32 1
54: TypePointer Function 13(fvec3) 54: 53(int) Constant 0
57: 52(int) Constant 1 55: TypePointer Function 13(fvec3)
58: TypePointer Function 12(float) 58: 53(int) Constant 1
61: 52(int) Constant 2 59: TypePointer Function 12(float)
64: 52(int) Constant 3 62: 53(int) Constant 2
67: TypePointer Function 6(int) 65: 53(int) Constant 3
71(Ray): TypeStruct 13(fvec3) 12(float) 13(fvec3) 12(float) 68: TypePointer Function 6(int)
72: TypeRuntimeArray 71(Ray) 72(Ray): TypeStruct 13(fvec3) 12(float) 13(fvec3) 12(float)
73(Rays): TypeStruct 72 73: TypeRuntimeArray 72(Ray)
74: TypePointer Uniform 73(Rays) 74(Rays): TypeStruct 73
75: 74(ptr) Variable Uniform 75: TypePointer Uniform 74(Rays)
77: TypePointer Uniform 71(Ray) 76: 75(ptr) Variable Uniform
88: TypeArray 10 24 78: TypePointer Uniform 72(Ray)
89: TypePointer Function 88 89: TypeArray 10 24
117: TypePointer Private 52(int) 90: TypePointer Function 89
118(C): 117(ptr) Variable Private 110: 6(int) Constant 32
119: TypePointer Private 53(int)
120(C): 119(ptr) Variable Private
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
68(index): 67(ptr) Variable Function 69(index): 68(ptr) Variable Function
70(ray): 15(ptr) Variable Function 71(ray): 15(ptr) Variable Function
90(rayQuery): 89(ptr) Variable Function 91(rayQuery): 90(ptr) Variable Function
92(param): 11(ptr) Variable Function 93(param): 11(ptr) Variable Function
95(param): 15(ptr) Variable Function 96(param): 15(ptr) Variable Function
120(param): 11(ptr) Variable Function 122(param): 11(ptr) Variable Function
123(param): 15(ptr) Variable Function 125(param): 15(ptr) Variable Function
69: 6(int) FunctionCall 8(launchIndex() 70: 6(int) FunctionCall 8(launchIndex()
Store 68(index) 69 Store 69(index) 70
76: 6(int) Load 68(index) 77: 6(int) Load 69(index)
78: 77(ptr) AccessChain 75 53 76 79: 78(ptr) AccessChain 76 54 77
79: 71(Ray) Load 78 80: 72(Ray) Load 79
80: 13(fvec3) CompositeExtract 79 0 81: 13(fvec3) CompositeExtract 80 0
81: 54(ptr) AccessChain 70(ray) 53 82: 55(ptr) AccessChain 71(ray) 54
Store 81 80 Store 82 81
82: 12(float) CompositeExtract 79 1 83: 12(float) CompositeExtract 80 1
83: 58(ptr) AccessChain 70(ray) 57 84: 59(ptr) AccessChain 71(ray) 58
Store 83 82 Store 84 83
84: 13(fvec3) CompositeExtract 79 2 85: 13(fvec3) CompositeExtract 80 2
85: 54(ptr) AccessChain 70(ray) 61 86: 55(ptr) AccessChain 71(ray) 62
Store 85 84 Store 86 85
86: 12(float) CompositeExtract 79 3 87: 12(float) CompositeExtract 80 3
87: 58(ptr) AccessChain 70(ray) 64 88: 59(ptr) AccessChain 71(ray) 65
Store 87 86 Store 88 87
91: 6(int) Load 68(index) 92: 6(int) Load 69(index)
93: 11(ptr) AccessChain 90(rayQuery) 53 94: 11(ptr) AccessChain 91(rayQuery) 54
94: 10 Load 93 95: 10 Load 94
Store 92(param) 94 Store 93(param) 95
96: 77(ptr) AccessChain 75 53 91 97: 78(ptr) AccessChain 76 54 92
97: 71(Ray) Load 96 98: 72(Ray) Load 97
98: 13(fvec3) CompositeExtract 97 0 99: 13(fvec3) CompositeExtract 98 0
99: 54(ptr) AccessChain 95(param) 53 100: 55(ptr) AccessChain 96(param) 54
Store 99 98 Store 100 99
100: 12(float) CompositeExtract 97 1 101: 12(float) CompositeExtract 98 1
101: 58(ptr) AccessChain 95(param) 57 102: 59(ptr) AccessChain 96(param) 58
Store 101 100 Store 102 101
102: 13(fvec3) CompositeExtract 97 2 103: 13(fvec3) CompositeExtract 98 2
103: 54(ptr) AccessChain 95(param) 61 104: 55(ptr) AccessChain 96(param) 62
Store 103 102 Store 104 103
104: 12(float) CompositeExtract 97 3 105: 12(float) CompositeExtract 98 3
105: 58(ptr) AccessChain 95(param) 64 106: 59(ptr) AccessChain 96(param) 65
Store 105 104 Store 106 105
106: 2 FunctionCall 19(doInitialize(rq1;struct-Ray-vf3-f1-vf3-f11;) 92(param) 95(param) 107: 2 FunctionCall 19(doInitialize(rq1;struct-Ray-vf3-f1-vf3-f11;) 93(param) 96(param)
107: 11(ptr) AccessChain 90(rayQuery) 57 108: 11(ptr) AccessChain 91(rayQuery) 58
108: 48 Load 50(rtas) 109: 48 Load 50(rtas)
109: 54(ptr) AccessChain 70(ray) 53 111: 55(ptr) AccessChain 71(ray) 54
110: 13(fvec3) Load 109 112: 13(fvec3) Load 111
111: 58(ptr) AccessChain 70(ray) 57 113: 59(ptr) AccessChain 71(ray) 58
112: 12(float) Load 111 114: 12(float) Load 113
113: 54(ptr) AccessChain 70(ray) 61 115: 55(ptr) AccessChain 71(ray) 62
114: 13(fvec3) Load 113 116: 13(fvec3) Load 115
115: 58(ptr) AccessChain 70(ray) 64 117: 59(ptr) AccessChain 71(ray) 65
116: 12(float) Load 115 118: 12(float) Load 117
RayQueryInitializeKHR 107 108 33 24 110 112 114 116 RayQueryInitializeKHR 108 109 33 110 112 114 116 118
119: 52(int) Load 118(C) 121: 53(int) Load 120(C)
121: 11(ptr) AccessChain 90(rayQuery) 119 123: 11(ptr) AccessChain 91(rayQuery) 121
122: 10 Load 121 124: 10 Load 123
Store 120(param) 122 Store 122(param) 124
124: 14(Ray) Load 70(ray) 126: 14(Ray) Load 71(ray)
Store 123(param) 124 Store 125(param) 126
125: 2 FunctionCall 19(doInitialize(rq1;struct-Ray-vf3-f1-vf3-f11;) 120(param) 123(param) 127: 2 FunctionCall 19(doInitialize(rq1;struct-Ray-vf3-f1-vf3-f11;) 122(param) 125(param)
Return Return
FunctionEnd FunctionEnd
8(launchIndex(): 6(int) Function None 7 8(launchIndex(): 6(int) Function None 7
@@ -186,14 +188,14 @@ rayQuery-array-2d-dynamic.rgen
18(ray): 15(ptr) FunctionParameter 18(ray): 15(ptr) FunctionParameter
20: Label 20: Label
51: 48 Load 50(rtas) 51: 48 Load 50(rtas)
55: 54(ptr) AccessChain 18(ray) 53 56: 55(ptr) AccessChain 18(ray) 54
56: 13(fvec3) Load 55 57: 13(fvec3) Load 56
59: 58(ptr) AccessChain 18(ray) 57 60: 59(ptr) AccessChain 18(ray) 58
60: 12(float) Load 59 61: 12(float) Load 60
62: 54(ptr) AccessChain 18(ray) 61 63: 55(ptr) AccessChain 18(ray) 62
63: 13(fvec3) Load 62 64: 13(fvec3) Load 63
65: 58(ptr) AccessChain 18(ray) 64 66: 59(ptr) AccessChain 18(ray) 65
66: 12(float) Load 65 67: 12(float) Load 66
RayQueryInitializeKHR 17(rayQuery) 51 29 33 56 60 63 66 RayQueryInitializeKHR 17(rayQuery) 51 29 52 57 61 64 67
Return Return
FunctionEnd FunctionEnd

View File

@@ -1,7 +1,7 @@
rayQuery-decls.rgen rayQuery-decls.rgen
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80008 // Generated by (magic number): 80008
// Id's are bound by 127 // Id's are bound by 130
Capability RayQueryProvisionalKHR Capability RayQueryProvisionalKHR
Capability RayTracingNV Capability RayTracingNV
@@ -40,8 +40,8 @@ rayQuery-decls.rgen
Name 86 "rayQuery0a" Name 86 "rayQuery0a"
Name 89 "rayQuery0c" Name 89 "rayQuery0c"
Name 96 "rtas" Name 96 "rtas"
Name 106 "rayQuery1c" Name 107 "rayQuery1c"
Name 126 "g_rayQueryUnused" Name 129 "g_rayQueryUnused"
Decorate 12(gl_LaunchIDNV) BuiltIn LaunchIdKHR Decorate 12(gl_LaunchIDNV) BuiltIn LaunchIdKHR
Decorate 17(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR Decorate 17(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR
MemberDecorate 45(Ray) 0 Offset 0 MemberDecorate 45(Ray) 0 Offset 0
@@ -99,7 +99,10 @@ rayQuery-decls.rgen
94: TypeAccelerationStructureKHR 94: TypeAccelerationStructureKHR
95: TypePointer UniformConstant 94 95: TypePointer UniformConstant 94
96(rtas): 95(ptr) Variable UniformConstant 96(rtas): 95(ptr) Variable UniformConstant
117: 6(int) Constant 3 98: 6(int) Constant 16
109: 6(int) Constant 32
119: 6(int) Constant 3
120: 6(int) Constant 64
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
38(index): 37(ptr) Variable Function 38(index): 37(ptr) Variable Function
@@ -108,8 +111,8 @@ rayQuery-decls.rgen
81(rayQuery0b): 80(ptr) Variable Function 81(rayQuery0b): 80(ptr) Variable Function
86(rayQuery0a): 80(ptr) Variable Function 86(rayQuery0a): 80(ptr) Variable Function
89(rayQuery0c): 80(ptr) Variable Function 89(rayQuery0c): 80(ptr) Variable Function
106(rayQuery1c): 80(ptr) Variable Function 107(rayQuery1c): 80(ptr) Variable Function
126(g_rayQueryUnused): 80(ptr) Variable Function 129(g_rayQueryUnused): 80(ptr) Variable Function
39: 6(int) FunctionCall 8(launchIndex() 39: 6(int) FunctionCall 8(launchIndex()
Store 38(index) 39 Store 38(index) 39
52: 6(int) Load 38(index) 52: 6(int) Load 38(index)
@@ -143,35 +146,35 @@ rayQuery-decls.rgen
93: 69 Load 92 93: 69 Load 92
Store 89(rayQuery0c) 93 Store 89(rayQuery0c) 93
97: 94 Load 96(rtas) 97: 94 Load 96(rtas)
98: 57(ptr) AccessChain 44(ray) 51 99: 57(ptr) AccessChain 44(ray) 51
99: 41(fvec3) Load 98 100: 41(fvec3) Load 99
100: 61(ptr) AccessChain 44(ray) 60 101: 61(ptr) AccessChain 44(ray) 60
101: 40(float) Load 100 102: 40(float) Load 101
102: 57(ptr) AccessChain 44(ray) 64 103: 57(ptr) AccessChain 44(ray) 64
103: 41(fvec3) Load 102 104: 41(fvec3) Load 103
104: 61(ptr) AccessChain 44(ray) 67 105: 61(ptr) AccessChain 44(ray) 67
105: 40(float) Load 104 106: 40(float) Load 105
RayQueryInitializeKHR 89(rayQuery0c) 97 22 13 99 101 103 105 RayQueryInitializeKHR 89(rayQuery0c) 97 22 98 100 102 104 106
107: 94 Load 96(rtas) 108: 94 Load 96(rtas)
108: 57(ptr) AccessChain 44(ray) 51 110: 57(ptr) AccessChain 44(ray) 51
109: 41(fvec3) Load 108 111: 41(fvec3) Load 110
110: 61(ptr) AccessChain 44(ray) 60 112: 61(ptr) AccessChain 44(ray) 60
111: 40(float) Load 110 113: 40(float) Load 112
112: 57(ptr) AccessChain 44(ray) 64 114: 57(ptr) AccessChain 44(ray) 64
113: 41(fvec3) Load 112 115: 41(fvec3) Load 114
114: 61(ptr) AccessChain 44(ray) 67 116: 61(ptr) AccessChain 44(ray) 67
115: 40(float) Load 114 117: 40(float) Load 116
RayQueryInitializeKHR 106(rayQuery1c) 107 22 22 109 111 113 115 RayQueryInitializeKHR 107(rayQuery1c) 108 22 109 111 113 115 117
116: 94 Load 96(rtas) 118: 94 Load 96(rtas)
118: 57(ptr) AccessChain 44(ray) 51 121: 57(ptr) AccessChain 44(ray) 51
119: 41(fvec3) Load 118 122: 41(fvec3) Load 121
120: 61(ptr) AccessChain 44(ray) 60 123: 61(ptr) AccessChain 44(ray) 60
121: 40(float) Load 120 124: 40(float) Load 123
122: 57(ptr) AccessChain 44(ray) 64 125: 57(ptr) AccessChain 44(ray) 64
123: 41(fvec3) Load 122 126: 41(fvec3) Load 125
124: 61(ptr) AccessChain 44(ray) 67 127: 61(ptr) AccessChain 44(ray) 67
125: 40(float) Load 124 128: 40(float) Load 127
RayQueryInitializeKHR 106(rayQuery1c) 116 117 70 119 121 123 125 RayQueryInitializeKHR 107(rayQuery1c) 118 119 120 122 124 126 128
Return Return
FunctionEnd FunctionEnd
8(launchIndex(): 6(int) Function None 7 8(launchIndex(): 6(int) Function None 7

View File

@@ -1,7 +1,7 @@
rayQuery-initialize.rgen rayQuery-initialize.rgen
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80008 // Generated by (magic number): 80008
// Id's are bound by 103 // Id's are bound by 105
Capability RayQueryProvisionalKHR Capability RayQueryProvisionalKHR
Capability RayTracingNV Capability RayTracingNV
@@ -26,32 +26,32 @@ rayQuery-initialize.rgen
Name 23 "gl_LaunchIDNV" Name 23 "gl_LaunchIDNV"
Name 28 "gl_LaunchSizeNV" Name 28 "gl_LaunchSizeNV"
Name 50 "rtas" Name 50 "rtas"
Name 68 "index" Name 69 "index"
Name 70 "ray" Name 71 "ray"
Name 71 "Ray" Name 72 "Ray"
MemberName 71(Ray) 0 "pos" MemberName 72(Ray) 0 "pos"
MemberName 71(Ray) 1 "tmin" MemberName 72(Ray) 1 "tmin"
MemberName 71(Ray) 2 "dir" MemberName 72(Ray) 2 "dir"
MemberName 71(Ray) 3 "tmax" MemberName 72(Ray) 3 "tmax"
Name 73 "Rays" Name 74 "Rays"
MemberName 73(Rays) 0 "rays" MemberName 74(Rays) 0 "rays"
Name 75 "" Name 76 ""
Name 88 "rayQuery" Name 89 "rayQuery"
Name 89 "param" Name 90 "param"
Name 91 "param" Name 92 "param"
Decorate 23(gl_LaunchIDNV) BuiltIn LaunchIdKHR Decorate 23(gl_LaunchIDNV) BuiltIn LaunchIdKHR
Decorate 28(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR Decorate 28(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR
Decorate 50(rtas) DescriptorSet 0 Decorate 50(rtas) DescriptorSet 0
Decorate 50(rtas) Binding 0 Decorate 50(rtas) Binding 0
MemberDecorate 71(Ray) 0 Offset 0 MemberDecorate 72(Ray) 0 Offset 0
MemberDecorate 71(Ray) 1 Offset 12 MemberDecorate 72(Ray) 1 Offset 12
MemberDecorate 71(Ray) 2 Offset 16 MemberDecorate 72(Ray) 2 Offset 16
MemberDecorate 71(Ray) 3 Offset 28 MemberDecorate 72(Ray) 3 Offset 28
Decorate 72 ArrayStride 32 Decorate 73 ArrayStride 32
MemberDecorate 73(Rays) 0 Offset 0 MemberDecorate 74(Rays) 0 Offset 0
Decorate 73(Rays) BufferBlock Decorate 74(Rays) BufferBlock
Decorate 75 DescriptorSet 0 Decorate 76 DescriptorSet 0
Decorate 75 Binding 2 Decorate 76 Binding 2
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeInt 32 0 6: TypeInt 32 0
@@ -74,59 +74,61 @@ rayQuery-initialize.rgen
48: TypeAccelerationStructureKHR 48: TypeAccelerationStructureKHR
49: TypePointer UniformConstant 48 49: TypePointer UniformConstant 48
50(rtas): 49(ptr) Variable UniformConstant 50(rtas): 49(ptr) Variable UniformConstant
52: TypeInt 32 1 52: 6(int) Constant 16
53: 52(int) Constant 0 53: TypeInt 32 1
54: TypePointer Function 13(fvec3) 54: 53(int) Constant 0
57: 52(int) Constant 1 55: TypePointer Function 13(fvec3)
58: TypePointer Function 12(float) 58: 53(int) Constant 1
61: 52(int) Constant 2 59: TypePointer Function 12(float)
64: 52(int) Constant 3 62: 53(int) Constant 2
67: TypePointer Function 6(int) 65: 53(int) Constant 3
71(Ray): TypeStruct 13(fvec3) 12(float) 13(fvec3) 12(float) 68: TypePointer Function 6(int)
72: TypeRuntimeArray 71(Ray) 72(Ray): TypeStruct 13(fvec3) 12(float) 13(fvec3) 12(float)
73(Rays): TypeStruct 72 73: TypeRuntimeArray 72(Ray)
74: TypePointer Uniform 73(Rays) 74(Rays): TypeStruct 73
75: 74(ptr) Variable Uniform 75: TypePointer Uniform 74(Rays)
77: TypePointer Uniform 71(Ray) 76: 75(ptr) Variable Uniform
78: TypePointer Uniform 72(Ray)
96: 6(int) Constant 32
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
68(index): 67(ptr) Variable Function 69(index): 68(ptr) Variable Function
70(ray): 15(ptr) Variable Function 71(ray): 15(ptr) Variable Function
88(rayQuery): 11(ptr) Variable Function 89(rayQuery): 11(ptr) Variable Function
89(param): 11(ptr) Variable Function 90(param): 11(ptr) Variable Function
91(param): 15(ptr) Variable Function 92(param): 15(ptr) Variable Function
69: 6(int) FunctionCall 8(launchIndex() 70: 6(int) FunctionCall 8(launchIndex()
Store 68(index) 69 Store 69(index) 70
76: 6(int) Load 68(index) 77: 6(int) Load 69(index)
78: 77(ptr) AccessChain 75 53 76 79: 78(ptr) AccessChain 76 54 77
79: 71(Ray) Load 78 80: 72(Ray) Load 79
80: 13(fvec3) CompositeExtract 79 0 81: 13(fvec3) CompositeExtract 80 0
81: 54(ptr) AccessChain 70(ray) 53 82: 55(ptr) AccessChain 71(ray) 54
Store 81 80 Store 82 81
82: 12(float) CompositeExtract 79 1 83: 12(float) CompositeExtract 80 1
83: 58(ptr) AccessChain 70(ray) 57 84: 59(ptr) AccessChain 71(ray) 58
Store 83 82 Store 84 83
84: 13(fvec3) CompositeExtract 79 2 85: 13(fvec3) CompositeExtract 80 2
85: 54(ptr) AccessChain 70(ray) 61 86: 55(ptr) AccessChain 71(ray) 62
Store 85 84 Store 86 85
86: 12(float) CompositeExtract 79 3 87: 12(float) CompositeExtract 80 3
87: 58(ptr) AccessChain 70(ray) 64 88: 59(ptr) AccessChain 71(ray) 65
Store 87 86 Store 88 87
90: 10 Load 88(rayQuery) 91: 10 Load 89(rayQuery)
Store 89(param) 90 Store 90(param) 91
92: 14(Ray) Load 70(ray) 93: 14(Ray) Load 71(ray)
Store 91(param) 92 Store 92(param) 93
93: 2 FunctionCall 19(doInitialize(rq1;struct-Ray-vf3-f1-vf3-f11;) 89(param) 91(param) 94: 2 FunctionCall 19(doInitialize(rq1;struct-Ray-vf3-f1-vf3-f11;) 90(param) 92(param)
94: 48 Load 50(rtas) 95: 48 Load 50(rtas)
95: 54(ptr) AccessChain 70(ray) 53 97: 55(ptr) AccessChain 71(ray) 54
96: 13(fvec3) Load 95 98: 13(fvec3) Load 97
97: 58(ptr) AccessChain 70(ray) 57 99: 59(ptr) AccessChain 71(ray) 58
98: 12(float) Load 97 100: 12(float) Load 99
99: 54(ptr) AccessChain 70(ray) 61 101: 55(ptr) AccessChain 71(ray) 62
100: 13(fvec3) Load 99 102: 13(fvec3) Load 101
101: 58(ptr) AccessChain 70(ray) 64 103: 59(ptr) AccessChain 71(ray) 65
102: 12(float) Load 101 104: 12(float) Load 103
RayQueryInitializeKHR 88(rayQuery) 94 33 24 96 98 100 102 RayQueryInitializeKHR 89(rayQuery) 95 33 96 98 100 102 104
Return Return
FunctionEnd FunctionEnd
8(launchIndex(): 6(int) Function None 7 8(launchIndex(): 6(int) Function None 7
@@ -155,14 +157,14 @@ rayQuery-initialize.rgen
18(ray): 15(ptr) FunctionParameter 18(ray): 15(ptr) FunctionParameter
20: Label 20: Label
51: 48 Load 50(rtas) 51: 48 Load 50(rtas)
55: 54(ptr) AccessChain 18(ray) 53 56: 55(ptr) AccessChain 18(ray) 54
56: 13(fvec3) Load 55 57: 13(fvec3) Load 56
59: 58(ptr) AccessChain 18(ray) 57 60: 59(ptr) AccessChain 18(ray) 58
60: 12(float) Load 59 61: 12(float) Load 60
62: 54(ptr) AccessChain 18(ray) 61 63: 55(ptr) AccessChain 18(ray) 62
63: 13(fvec3) Load 62 64: 13(fvec3) Load 63
65: 58(ptr) AccessChain 18(ray) 64 66: 59(ptr) AccessChain 18(ray) 65
66: 12(float) Load 65 67: 12(float) Load 66
RayQueryInitializeKHR 17(rayQuery) 51 29 33 56 60 63 66 RayQueryInitializeKHR 17(rayQuery) 51 29 52 57 61 64 67
Return Return
FunctionEnd FunctionEnd

View File

@@ -1,7 +1,7 @@
rayQuery-no-cse.rgen rayQuery-no-cse.rgen
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80008 // Generated by (magic number): 80008
// Id's are bound by 109 // Id's are bound by 111
Capability RayQueryProvisionalKHR Capability RayQueryProvisionalKHR
Capability RayTracingNV Capability RayTracingNV
@@ -26,35 +26,35 @@ rayQuery-no-cse.rgen
Name 23 "gl_LaunchIDNV" Name 23 "gl_LaunchIDNV"
Name 28 "gl_LaunchSizeNV" Name 28 "gl_LaunchSizeNV"
Name 50 "rtas" Name 50 "rtas"
Name 68 "index" Name 69 "index"
Name 70 "ray" Name 71 "ray"
Name 71 "Ray" Name 72 "Ray"
MemberName 71(Ray) 0 "pos" MemberName 72(Ray) 0 "pos"
MemberName 71(Ray) 1 "tmin" MemberName 72(Ray) 1 "tmin"
MemberName 71(Ray) 2 "dir" MemberName 72(Ray) 2 "dir"
MemberName 71(Ray) 3 "tmax" MemberName 72(Ray) 3 "tmax"
Name 73 "Rays" Name 74 "Rays"
MemberName 73(Rays) 0 "rays" MemberName 74(Rays) 0 "rays"
Name 75 "" Name 76 ""
Name 88 "rayQuery1" Name 89 "rayQuery1"
Name 89 "param" Name 90 "param"
Name 91 "param" Name 92 "param"
Name 103 "rayQuery2" Name 105 "rayQuery2"
Name 104 "param"
Name 106 "param" Name 106 "param"
Name 108 "param"
Decorate 23(gl_LaunchIDNV) BuiltIn LaunchIdKHR Decorate 23(gl_LaunchIDNV) BuiltIn LaunchIdKHR
Decorate 28(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR Decorate 28(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR
Decorate 50(rtas) DescriptorSet 0 Decorate 50(rtas) DescriptorSet 0
Decorate 50(rtas) Binding 0 Decorate 50(rtas) Binding 0
MemberDecorate 71(Ray) 0 Offset 0 MemberDecorate 72(Ray) 0 Offset 0
MemberDecorate 71(Ray) 1 Offset 12 MemberDecorate 72(Ray) 1 Offset 12
MemberDecorate 71(Ray) 2 Offset 16 MemberDecorate 72(Ray) 2 Offset 16
MemberDecorate 71(Ray) 3 Offset 28 MemberDecorate 72(Ray) 3 Offset 28
Decorate 72 ArrayStride 32 Decorate 73 ArrayStride 32
MemberDecorate 73(Rays) 0 Offset 0 MemberDecorate 74(Rays) 0 Offset 0
Decorate 73(Rays) BufferBlock Decorate 74(Rays) BufferBlock
Decorate 75 DescriptorSet 0 Decorate 76 DescriptorSet 0
Decorate 75 Binding 2 Decorate 76 Binding 2
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeInt 32 0 6: TypeInt 32 0
@@ -77,67 +77,69 @@ rayQuery-no-cse.rgen
48: TypeAccelerationStructureKHR 48: TypeAccelerationStructureKHR
49: TypePointer UniformConstant 48 49: TypePointer UniformConstant 48
50(rtas): 49(ptr) Variable UniformConstant 50(rtas): 49(ptr) Variable UniformConstant
52: TypeInt 32 1 52: 6(int) Constant 16
53: 52(int) Constant 0 53: TypeInt 32 1
54: TypePointer Function 13(fvec3) 54: 53(int) Constant 0
57: 52(int) Constant 1 55: TypePointer Function 13(fvec3)
58: TypePointer Function 12(float) 58: 53(int) Constant 1
61: 52(int) Constant 2 59: TypePointer Function 12(float)
64: 52(int) Constant 3 62: 53(int) Constant 2
67: TypePointer Function 6(int) 65: 53(int) Constant 3
71(Ray): TypeStruct 13(fvec3) 12(float) 13(fvec3) 12(float) 68: TypePointer Function 6(int)
72: TypeRuntimeArray 71(Ray) 72(Ray): TypeStruct 13(fvec3) 12(float) 13(fvec3) 12(float)
73(Rays): TypeStruct 72 73: TypeRuntimeArray 72(Ray)
74: TypePointer Uniform 73(Rays) 74(Rays): TypeStruct 73
75: 74(ptr) Variable Uniform 75: TypePointer Uniform 74(Rays)
77: TypePointer Uniform 71(Ray) 76: 75(ptr) Variable Uniform
78: TypePointer Uniform 72(Ray)
96: 6(int) Constant 32
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
68(index): 67(ptr) Variable Function 69(index): 68(ptr) Variable Function
70(ray): 15(ptr) Variable Function 71(ray): 15(ptr) Variable Function
88(rayQuery1): 11(ptr) Variable Function 89(rayQuery1): 11(ptr) Variable Function
89(param): 11(ptr) Variable Function 90(param): 11(ptr) Variable Function
91(param): 15(ptr) Variable Function 92(param): 15(ptr) Variable Function
103(rayQuery2): 11(ptr) Variable Function 105(rayQuery2): 11(ptr) Variable Function
104(param): 11(ptr) Variable Function 106(param): 11(ptr) Variable Function
106(param): 15(ptr) Variable Function 108(param): 15(ptr) Variable Function
69: 6(int) FunctionCall 8(launchIndex() 70: 6(int) FunctionCall 8(launchIndex()
Store 68(index) 69 Store 69(index) 70
76: 6(int) Load 68(index) 77: 6(int) Load 69(index)
78: 77(ptr) AccessChain 75 53 76 79: 78(ptr) AccessChain 76 54 77
79: 71(Ray) Load 78 80: 72(Ray) Load 79
80: 13(fvec3) CompositeExtract 79 0 81: 13(fvec3) CompositeExtract 80 0
81: 54(ptr) AccessChain 70(ray) 53 82: 55(ptr) AccessChain 71(ray) 54
Store 81 80 Store 82 81
82: 12(float) CompositeExtract 79 1 83: 12(float) CompositeExtract 80 1
83: 58(ptr) AccessChain 70(ray) 57 84: 59(ptr) AccessChain 71(ray) 58
Store 83 82 Store 84 83
84: 13(fvec3) CompositeExtract 79 2 85: 13(fvec3) CompositeExtract 80 2
85: 54(ptr) AccessChain 70(ray) 61 86: 55(ptr) AccessChain 71(ray) 62
Store 85 84 Store 86 85
86: 12(float) CompositeExtract 79 3 87: 12(float) CompositeExtract 80 3
87: 58(ptr) AccessChain 70(ray) 64 88: 59(ptr) AccessChain 71(ray) 65
Store 87 86 Store 88 87
90: 10 Load 88(rayQuery1) 91: 10 Load 89(rayQuery1)
Store 89(param) 90 Store 90(param) 91
92: 14(Ray) Load 70(ray) 93: 14(Ray) Load 71(ray)
Store 91(param) 92 Store 92(param) 93
93: 2 FunctionCall 19(doInitialize(rq1;struct-Ray-vf3-f1-vf3-f11;) 89(param) 91(param) 94: 2 FunctionCall 19(doInitialize(rq1;struct-Ray-vf3-f1-vf3-f11;) 90(param) 92(param)
94: 48 Load 50(rtas) 95: 48 Load 50(rtas)
95: 54(ptr) AccessChain 70(ray) 53 97: 55(ptr) AccessChain 71(ray) 54
96: 13(fvec3) Load 95 98: 13(fvec3) Load 97
97: 58(ptr) AccessChain 70(ray) 57 99: 59(ptr) AccessChain 71(ray) 58
98: 12(float) Load 97 100: 12(float) Load 99
99: 54(ptr) AccessChain 70(ray) 61 101: 55(ptr) AccessChain 71(ray) 62
100: 13(fvec3) Load 99 102: 13(fvec3) Load 101
101: 58(ptr) AccessChain 70(ray) 64 103: 59(ptr) AccessChain 71(ray) 65
102: 12(float) Load 101 104: 12(float) Load 103
RayQueryInitializeKHR 88(rayQuery1) 94 33 24 96 98 100 102 RayQueryInitializeKHR 89(rayQuery1) 95 33 96 98 100 102 104
105: 10 Load 103(rayQuery2) 107: 10 Load 105(rayQuery2)
Store 104(param) 105
107: 14(Ray) Load 70(ray)
Store 106(param) 107 Store 106(param) 107
108: 2 FunctionCall 19(doInitialize(rq1;struct-Ray-vf3-f1-vf3-f11;) 104(param) 106(param) 109: 14(Ray) Load 71(ray)
Store 108(param) 109
110: 2 FunctionCall 19(doInitialize(rq1;struct-Ray-vf3-f1-vf3-f11;) 106(param) 108(param)
Return Return
FunctionEnd FunctionEnd
8(launchIndex(): 6(int) Function None 7 8(launchIndex(): 6(int) Function None 7
@@ -166,14 +168,14 @@ rayQuery-no-cse.rgen
18(ray): 15(ptr) FunctionParameter 18(ray): 15(ptr) FunctionParameter
20: Label 20: Label
51: 48 Load 50(rtas) 51: 48 Load 50(rtas)
55: 54(ptr) AccessChain 18(ray) 53 56: 55(ptr) AccessChain 18(ray) 54
56: 13(fvec3) Load 55 57: 13(fvec3) Load 56
59: 58(ptr) AccessChain 18(ray) 57 60: 59(ptr) AccessChain 18(ray) 58
60: 12(float) Load 59 61: 12(float) Load 60
62: 54(ptr) AccessChain 18(ray) 61 63: 55(ptr) AccessChain 18(ray) 62
63: 13(fvec3) Load 62 64: 13(fvec3) Load 63
65: 58(ptr) AccessChain 18(ray) 64 66: 59(ptr) AccessChain 18(ray) 65
66: 12(float) Load 65 67: 12(float) Load 66
RayQueryInitializeKHR 17(rayQuery) 51 29 33 56 60 63 66 RayQueryInitializeKHR 17(rayQuery) 51 29 52 57 61 64 67
Return Return
FunctionEnd FunctionEnd

View File

@@ -39,7 +39,7 @@ void main()
{ {
Ray ray = makeRayDesc(); Ray ray = makeRayDesc();
rayQueryEXT rayQuery; rayQueryEXT rayQuery;
rayQueryInitializeEXT(rayQuery, rtas, 0, 0xFF, ray.pos, ray.tmin, ray.dir, ray.tmax); rayQueryInitializeEXT(rayQuery, rtas, gl_RayFlagsNoneEXT, 0xFF, ray.pos, ray.tmin, ray.dir, ray.tmax);
mat4x3 _mat4x3; mat4x3 _mat4x3;
mat3x4 _mat3x4; mat3x4 _mat3x4;

View File

@@ -37,9 +37,9 @@ Ray makeRayDesc()
void main() void main()
{ {
Ray ray;// = makeRayDesc(); Ray ray = makeRayDesc();
rayQueryEXT rayQuery; rayQueryEXT rayQuery;
rayQueryInitializeEXT(rayQuery, rtas, 0, 0xFF, ray.pos, ray.tmin, ray.dir, ray.tmax); rayQueryInitializeEXT(rayQuery, rtas, gl_RayFlagsNoneEXT, 0xFF, ray.pos, ray.tmin, ray.dir, ray.tmax);
mat4x3 _mat4x3; mat4x3 _mat4x3;
mat3x4 _mat3x4; mat3x4 _mat3x4;

View File

@@ -37,9 +37,9 @@ Ray makeRayDesc()
void main() void main()
{ {
Ray ray;// = makeRayDesc(); Ray ray = makeRayDesc();
rayQueryEXT rayQuery; rayQueryEXT rayQuery;
rayQueryInitializeEXT(rayQuery, rtas, 0, 0xFF, ray.pos, ray.tmin, ray.dir, ray.tmax); rayQueryInitializeEXT(rayQuery, rtas, gl_RayFlagsNoneEXT, 0xFF, ray.pos, ray.tmin, ray.dir, ray.tmax);
mat4x3 _mat4x3; mat4x3 _mat4x3;
mat3x4 _mat3x4; mat3x4 _mat3x4;

View File

@@ -37,9 +37,9 @@ Ray makeRayDesc()
void main() void main()
{ {
Ray ray;// = makeRayDesc(); Ray ray = makeRayDesc();
rayQueryEXT rayQuery; rayQueryEXT rayQuery;
rayQueryInitializeEXT(rayQuery, rtas, 0, 0xFF, ray.pos, ray.tmin, ray.dir, ray.tmax); rayQueryInitializeEXT(rayQuery, rtas, gl_RayFlagsNoneEXT, 0xFF, ray.pos, ray.tmin, ray.dir, ray.tmax);
mat4x3 _mat4x3; mat4x3 _mat4x3;
mat3x4 _mat3x4; mat3x4 _mat3x4;

View File

@@ -20,7 +20,7 @@ uint launchIndex()
void doInitialize(rayQueryEXT rayQuery, Ray ray) void doInitialize(rayQueryEXT rayQuery, Ray ray)
{ {
rayQueryInitializeEXT(rayQuery, rtas, 0, 1, ray.pos, ray.tmin, ray.dir, ray.tmax); rayQueryInitializeEXT(rayQuery, rtas, gl_RayFlagsNoneEXT, gl_RayFlagsCullBackFacingTrianglesEXT, ray.pos, ray.tmin, ray.dir, ray.tmax);
} }
int C; int C;
@@ -31,6 +31,6 @@ void main()
Ray ray = rays[index]; Ray ray = rays[index];
rayQueryEXT rayQuery[2]; rayQueryEXT rayQuery[2];
doInitialize(rayQuery[0], rays[index]); doInitialize(rayQuery[0], rays[index]);
rayQueryInitializeEXT(rayQuery[1], rtas, 1, 2, ray.pos, ray.tmin, ray.dir, ray.tmax); rayQueryInitializeEXT(rayQuery[1], rtas, gl_RayFlagsOpaqueEXT, gl_RayFlagsCullFrontFacingTrianglesEXT, ray.pos, ray.tmin, ray.dir, ray.tmax);
doInitialize(rayQuery[C], ray); doInitialize(rayQuery[C], ray);
} }

View File

@@ -39,7 +39,7 @@ void main()
bool committed_true = true; bool committed_true = true;
bool committed_false = false; bool committed_false = false;
rayQueryInitializeEXT(rayQuery, rtas, 1, 2, ray.pos, ray.tmin, ray.dir, ray.tmax); rayQueryInitializeEXT(rayQuery, rtas, gl_RayFlagsOpaqueEXT, gl_RayFlagsCullBackFacingTrianglesEXT, ray.pos, ray.tmin, ray.dir, ray.tmax);
while (rayQueryProceedEXT(rayQuery)) while (rayQueryProceedEXT(rayQuery))
{ {
mat4x3 mat_o2w; mat4x3 mat_o2w;

View File

@@ -41,13 +41,13 @@ void main()
rayQueryEXT rayQuery0c = g_rayQueryArray[idx]; rayQueryEXT rayQuery0c = g_rayQueryArray[idx];
// rayQuery0a is the one actually used here // rayQuery0a is the one actually used here
rayQueryInitializeEXT(rayQuery0c, rtas, gl_RayFlagsOpaqueEXT, 2, ray.pos, ray.tmin, ray.dir, ray.tmax); rayQueryInitializeEXT(rayQuery0c, rtas, gl_RayFlagsOpaqueEXT, gl_RayFlagsCullBackFacingTrianglesEXT, ray.pos, ray.tmin, ray.dir, ray.tmax);
// AllocateRayQuery occurs here, rather than next to allocas // AllocateRayQuery occurs here, rather than next to allocas
// Should not be extray allocate, since above should allocate and copy // Should not be extray allocate, since above should allocate and copy
rayQueryEXT rayQuery1c; rayQueryEXT rayQuery1c;
// update the rayFlags as RAY_FLAG_FORCE_OPAQUE // update the rayFlags as RAY_FLAG_FORCE_OPAQUE
rayQueryInitializeEXT(rayQuery1c, rtas, gl_RayFlagsOpaqueEXT, 1, ray.pos, ray.tmin, ray.dir, ray.tmax); rayQueryInitializeEXT(rayQuery1c, rtas, gl_RayFlagsOpaqueEXT, gl_RayFlagsCullFrontFacingTrianglesEXT, ray.pos, ray.tmin, ray.dir, ray.tmax);
rayQueryInitializeEXT(rayQuery1c, rtas, 3, 4, ray.pos, ray.tmin, ray.dir, ray.tmax); rayQueryInitializeEXT(rayQuery1c, rtas, gl_RayFlagsOpaqueEXT|gl_RayFlagsNoOpaqueEXT, gl_RayFlagsCullOpaqueEXT, ray.pos, ray.tmin, ray.dir, ray.tmax);
} }

View File

@@ -20,7 +20,7 @@ uint launchIndex()
void doInitialize(rayQueryEXT rayQuery, Ray ray) void doInitialize(rayQueryEXT rayQuery, Ray ray)
{ {
rayQueryInitializeEXT(rayQuery, rtas, 0, 1, ray.pos, ray.tmin, ray.dir, ray.tmax); rayQueryInitializeEXT(rayQuery, rtas, gl_RayFlagsNoneEXT, gl_RayFlagsCullBackFacingTrianglesEXT, ray.pos, ray.tmin, ray.dir, ray.tmax);
} }
void main() void main()
@@ -29,5 +29,5 @@ void main()
Ray ray = rays[index]; Ray ray = rays[index];
rayQueryEXT rayQuery; rayQueryEXT rayQuery;
doInitialize(rayQuery, ray); doInitialize(rayQuery, ray);
rayQueryInitializeEXT(rayQuery, rtas, 1, 2, ray.pos, ray.tmin, ray.dir, ray.tmax); rayQueryInitializeEXT(rayQuery, rtas, gl_RayFlagsOpaqueEXT, gl_RayFlagsCullFrontFacingTrianglesEXT, ray.pos, ray.tmin, ray.dir, ray.tmax);
} }

View File

@@ -20,7 +20,7 @@ uint launchIndex()
void doInitialize(rayQueryEXT rayQuery, Ray ray) void doInitialize(rayQueryEXT rayQuery, Ray ray)
{ {
rayQueryInitializeEXT(rayQuery, rtas, 0, 1, ray.pos, ray.tmin, ray.dir, ray.tmax); rayQueryInitializeEXT(rayQuery, rtas, gl_RayFlagsNoneEXT, gl_RayFlagsCullBackFacingTrianglesEXT, ray.pos, ray.tmin, ray.dir, ray.tmax);
} }
void main() void main()
@@ -30,6 +30,6 @@ void main()
rayQueryEXT rayQuery1; rayQueryEXT rayQuery1;
rayQueryEXT rayQuery2; rayQueryEXT rayQuery2;
doInitialize(rayQuery1, ray); doInitialize(rayQuery1, ray);
rayQueryInitializeEXT(rayQuery1, rtas, 1, 2, ray.pos, ray.tmin, ray.dir, ray.tmax); rayQueryInitializeEXT(rayQuery1, rtas, gl_RayFlagsOpaqueEXT, gl_RayFlagsCullFrontFacingTrianglesEXT, ray.pos, ray.tmin, ray.dir, ray.tmax);
doInitialize(rayQuery2, ray); doInitialize(rayQuery2, ray);
} }

View File

@@ -5573,24 +5573,14 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
commonBuiltins.append(constRayQueryIntersection); commonBuiltins.append(constRayQueryIntersection);
commonBuiltins.append(constRayFlags);
stageBuiltins[EShLangRayGen].append(rayGenDecls); stageBuiltins[EShLangRayGen].append(rayGenDecls);
stageBuiltins[EShLangRayGen].append(constRayFlags);
stageBuiltins[EShLangIntersect].append(intersectDecls); stageBuiltins[EShLangIntersect].append(intersectDecls);
stageBuiltins[EShLangIntersect].append(constRayFlags);
stageBuiltins[EShLangAnyHit].append(hitDecls); stageBuiltins[EShLangAnyHit].append(hitDecls);
stageBuiltins[EShLangAnyHit].append(constRayFlags);
stageBuiltins[EShLangClosestHit].append(hitDecls); stageBuiltins[EShLangClosestHit].append(hitDecls);
stageBuiltins[EShLangClosestHit].append(constRayFlags);
stageBuiltins[EShLangMiss].append(missDecls); stageBuiltins[EShLangMiss].append(missDecls);
stageBuiltins[EShLangMiss].append(constRayFlags);
stageBuiltins[EShLangCallable].append(callableDecls); stageBuiltins[EShLangCallable].append(callableDecls);
stageBuiltins[EShLangCallable].append(constRayFlags);
} }
if ((profile != EEsProfile && version >= 140)) { if ((profile != EEsProfile && version >= 140)) {