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
Branch 64 61: Label
64: Label LoopMerge 63 64 None
65: 43 Load 45(rayQuery) Branch 65
67: 66(bool) RayQueryProceedKHR 65 65: Label
BranchConditional 67 61 62 66: 45 Load 47(rayQuery)
61: Label 68: 67(bool) RayQueryProceedKHR 66
71: 14(int) RayQueryGetIntersectionTypeKHR 45(rayQuery) 19 BranchConditional 68 62 63
Store 69(candidateType) 71 62: Label
72: 14(int) Load 69(candidateType) 72: 14(int) RayQueryGetIntersectionTypeKHR 47(rayQuery) 19
SelectionMerge 75 None Store 70(candidateType) 72
Switch 72 75 73: 14(int) Load 70(candidateType)
case 0: 73 SelectionMerge 76 None
case 1: 74 Switch 73 76
73: Label case 0: 74
76: 43 Load 45(rayQuery) case 1: 75
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 74: Label
138: 77 RayQueryGetIntersectionObjectToWorldKHR 45(rayQuery) 19 77: 45 Load 47(rayQuery)
Store 79(_mat4x3) 138 RayQueryTerminateKHR 77
139: 77 Load 79(_mat4x3) 81: 78 RayQueryGetIntersectionObjectToWorldKHR 47(rayQuery) 19
140: 82 Transpose 139 Store 80(_mat4x3) 81
Store 84(_mat3x4) 140 86: 78 Load 80(_mat4x3)
141: 43 Load 45(rayQuery) 87: 83 Transpose 86
142: 66(bool) RayQueryGetIntersectionCandidateAABBOpaqueKHR 141 Store 85(_mat3x4) 87
SelectionMerge 144 None 88: 45 Load 47(rayQuery)
BranchConditional 142 143 144 RayQueryConfirmIntersectionKHR 88
143: Label 90: 67(bool) RayQueryGetIntersectionFrontFaceKHR 47(rayQuery) 23
145: 2 FunctionCall 6(doSomething() SelectionMerge 92 None
Branch 144 BranchConditional 90 91 92
144: Label 91: Label
Store 146(t) 147 93: 2 FunctionCall 6(doSomething()
148: 8(float) Load 146(t) Branch 92
RayQueryGenerateIntersectionKHR 45(rayQuery) 148 92: Label
149: 43 Load 45(rayQuery) 95: 94(fvec2) RayQueryGetIntersectionBarycentricsKHR 47(rayQuery) 23
RayQueryTerminateKHR 149 96: 8(float) CompositeExtract 95 0
Branch 75 97: 67(bool) FOrdEqual 96 27
75: Label SelectionMerge 99 None
Branch 63 BranchConditional 97 98 99
63: Label 98: Label
Branch 60 100: 2 FunctionCall 6(doSomething()
62: Label Branch 99
152: 35(ptr) AccessChain 84(_mat3x4) 19 20 99: Label
153: 8(float) Load 152 101: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 47(rayQuery) 23
154: 35(ptr) AccessChain 79(_mat4x3) 19 20 102: 67(bool) SGreaterThan 101 19
155: 8(float) Load 154 SelectionMerge 104 None
156: 66(bool) FOrdEqual 153 155 BranchConditional 102 103 104
SelectionMerge 158 None 103: Label
BranchConditional 156 157 158 105: 2 FunctionCall 6(doSomething()
157: Label Branch 104
159: 2 FunctionCall 6(doSomething() 104: Label
Branch 158 106: 18(int) RayQueryGetIntersectionInstanceIdKHR 47(rayQuery) 23
158: Label 107: 67(bool) SGreaterThan 106 19
161: 14(int) RayQueryGetIntersectionTypeKHR 45(rayQuery) 23 SelectionMerge 109 None
Store 160(committedStatus) 161 BranchConditional 107 108 109
162: 14(int) Load 160(committedStatus) 108: Label
SelectionMerge 166 None 110: 2 FunctionCall 6(doSomething()
Switch 162 166 Branch 109
case 0: 163 109: Label
case 1: 164 111: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 47(rayQuery) 23
case 2: 165 112: 8(float) CompositeExtract 111 0
163: Label 113: 67(bool) FOrdGreaterThan 112 27
167: 77 RayQueryGetIntersectionWorldToObjectKHR 45(rayQuery) 19 SelectionMerge 115 None
Store 79(_mat4x3) 167 BranchConditional 113 114 115
168: 77 Load 79(_mat4x3) 114: Label
169: 82 Transpose 168 116: 2 FunctionCall 6(doSomething()
Store 84(_mat3x4) 169 Branch 115
Branch 166 115: Label
117: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 47(rayQuery) 23
118: 8(float) CompositeExtract 117 0
119: 67(bool) FOrdGreaterThan 118 27
SelectionMerge 121 None
BranchConditional 119 120 121
120: Label
122: 2 FunctionCall 6(doSomething()
Branch 121
121: Label
123: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 47(rayQuery) 23
124: 67(bool) SGreaterThan 123 19
SelectionMerge 126 None
BranchConditional 124 125 126
125: Label
127: 2 FunctionCall 6(doSomething()
Branch 126
126: Label
128: 8(float) RayQueryGetIntersectionTKHR 47(rayQuery) 23
129: 67(bool) FOrdGreaterThan 128 27
SelectionMerge 131 None
BranchConditional 129 130 131
130: Label
132: 2 FunctionCall 6(doSomething()
Branch 131
131: Label
133: 18(int) RayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR 47(rayQuery) 23
134: 67(bool) UGreaterThan 133 20
SelectionMerge 136 None
BranchConditional 134 135 136
135: Label
137: 2 FunctionCall 6(doSomething()
Branch 136
136: Label
Branch 76
75: Label
139: 78 RayQueryGetIntersectionObjectToWorldKHR 47(rayQuery) 19
Store 80(_mat4x3) 139
140: 78 Load 80(_mat4x3)
141: 83 Transpose 140
Store 85(_mat3x4) 141
142: 45 Load 47(rayQuery)
143: 67(bool) RayQueryGetIntersectionCandidateAABBOpaqueKHR 142
SelectionMerge 145 None
BranchConditional 143 144 145
144: Label
146: 2 FunctionCall 6(doSomething()
Branch 145
145: Label
Store 147(t) 148
149: 8(float) Load 147(t)
RayQueryGenerateIntersectionKHR 47(rayQuery) 149
150: 45 Load 47(rayQuery)
RayQueryTerminateKHR 150
Branch 76
76: Label
Branch 64
64: Label
Branch 61
63: Label
153: 35(ptr) AccessChain 85(_mat3x4) 19 20
154: 8(float) Load 153
155: 35(ptr) AccessChain 80(_mat4x3) 19 20
156: 8(float) Load 155
157: 67(bool) FOrdEqual 154 156
SelectionMerge 159 None
BranchConditional 157 158 159
158: Label
160: 2 FunctionCall 6(doSomething()
Branch 159
159: Label
162: 14(int) RayQueryGetIntersectionTypeKHR 47(rayQuery) 23
Store 161(committedStatus) 162
163: 14(int) Load 161(committedStatus)
SelectionMerge 167 None
Switch 163 167
case 0: 164
case 1: 165
case 2: 166
164: Label 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 166: Label
199: Label 187: 18(int) RayQueryGetIntersectionGeometryIndexKHR 47(rayQuery) 23
201: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 45(rayQuery) 23 188: 67(bool) SGreaterThan 187 19
203: 8(float) CompositeExtract 201 2 SelectionMerge 190 None
204: 66(bool) FOrdGreaterThan 203 27 BranchConditional 188 189 190
SelectionMerge 206 None 189: Label
BranchConditional 204 205 206 191: 2 FunctionCall 6(doSomething()
205: Label Branch 190
207: 2 FunctionCall 6(doSomething() 190: Label
Branch 206 192: 18(int) RayQueryGetIntersectionInstanceIdKHR 47(rayQuery) 23
206: Label 193: 67(bool) SGreaterThan 192 19
208: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 45(rayQuery) 23 SelectionMerge 195 None
209: 8(float) CompositeExtract 208 0 BranchConditional 193 194 195
210: 66(bool) FOrdGreaterThan 209 27 194: Label
SelectionMerge 212 None 196: 2 FunctionCall 6(doSomething()
BranchConditional 210 211 212 Branch 195
211: Label 195: Label
213: 2 FunctionCall 6(doSomething() 197: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 47(rayQuery) 23
Branch 212 198: 67(bool) SGreaterThan 197 19
212: Label SelectionMerge 200 None
214: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 45(rayQuery) 23 BranchConditional 198 199 200
215: 66(bool) SGreaterThan 214 19 199: Label
SelectionMerge 217 None 201: 2 FunctionCall 6(doSomething()
BranchConditional 215 216 217 Branch 200
216: Label 200: Label
218: 2 FunctionCall 6(doSomething() 202: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 47(rayQuery) 23
Branch 217 204: 8(float) CompositeExtract 202 2
217: Label 205: 67(bool) FOrdGreaterThan 204 27
219: 8(float) RayQueryGetIntersectionTKHR 45(rayQuery) 23 SelectionMerge 207 None
220: 66(bool) FOrdGreaterThan 219 27 BranchConditional 205 206 207
SelectionMerge 222 None 206: Label
BranchConditional 220 221 222 208: 2 FunctionCall 6(doSomething()
221: Label Branch 207
223: 2 FunctionCall 6(doSomething() 207: Label
Branch 222 209: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 47(rayQuery) 23
222: Label 210: 8(float) CompositeExtract 209 0
Branch 166 211: 67(bool) FOrdGreaterThan 210 27
166: Label SelectionMerge 213 None
226: 35(ptr) AccessChain 84(_mat3x4) 19 20 BranchConditional 211 212 213
227: 8(float) Load 226 212: Label
228: 35(ptr) AccessChain 79(_mat4x3) 19 20 214: 2 FunctionCall 6(doSomething()
229: 8(float) Load 228 Branch 213
230: 66(bool) FOrdEqual 227 229 213: Label
SelectionMerge 232 None 215: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 47(rayQuery) 23
BranchConditional 230 231 232 216: 67(bool) SGreaterThan 215 19
231: Label SelectionMerge 218 None
233: 2 FunctionCall 6(doSomething() BranchConditional 216 217 218
Branch 232 217: Label
232: Label 219: 2 FunctionCall 6(doSomething()
234: 43 Load 45(rayQuery) Branch 218
235: 14(int) RayQueryGetRayFlagsKHR 234 218: Label
236: 66(bool) UGreaterThan 235 20 220: 8(float) RayQueryGetIntersectionTKHR 47(rayQuery) 23
SelectionMerge 238 None 221: 67(bool) FOrdGreaterThan 220 27
BranchConditional 236 237 238 SelectionMerge 223 None
237: Label BranchConditional 221 222 223
239: 2 FunctionCall 6(doSomething() 222: Label
Branch 238 224: 2 FunctionCall 6(doSomething()
238: Label Branch 223
240: 43 Load 45(rayQuery) 223: Label
241: 8(float) RayQueryGetRayTMinKHR 240 Branch 167
242: 66(bool) FOrdGreaterThan 241 27 167: Label
SelectionMerge 244 None 227: 35(ptr) AccessChain 85(_mat3x4) 19 20
BranchConditional 242 243 244 228: 8(float) Load 227
243: Label 229: 35(ptr) AccessChain 80(_mat4x3) 19 20
245: 2 FunctionCall 6(doSomething() 230: 8(float) Load 229
Branch 244 231: 67(bool) FOrdEqual 228 230
244: Label SelectionMerge 233 None
247: 43 Load 45(rayQuery) BranchConditional 231 232 233
248: 9(fvec3) RayQueryGetWorldRayOriginKHR 247 232: Label
Store 246(o) 248 234: 2 FunctionCall 6(doSomething()
250: 43 Load 45(rayQuery) Branch 233
251: 9(fvec3) RayQueryGetWorldRayDirectionKHR 250 233: Label
Store 249(d) 251 235: 45 Load 47(rayQuery)
252: 35(ptr) AccessChain 246(o) 20 236: 14(int) RayQueryGetRayFlagsKHR 235
253: 8(float) Load 252 237: 67(bool) UGreaterThan 236 20
254: 35(ptr) AccessChain 249(d) 202 SelectionMerge 239 None
255: 8(float) Load 254 BranchConditional 237 238 239
256: 66(bool) FOrdEqual 253 255 238: Label
SelectionMerge 258 None 240: 2 FunctionCall 6(doSomething()
BranchConditional 256 257 258 Branch 239
257: Label 239: Label
259: 2 FunctionCall 6(doSomething() 241: 45 Load 47(rayQuery)
Branch 258 242: 8(float) RayQueryGetRayTMinKHR 241
258: Label 243: 67(bool) FOrdGreaterThan 242 27
SelectionMerge 245 None
BranchConditional 243 244 245
244: Label
246: 2 FunctionCall 6(doSomething()
Branch 245
245: Label
248: 45 Load 47(rayQuery)
249: 9(fvec3) RayQueryGetWorldRayOriginKHR 248
Store 247(o) 249
251: 45 Load 47(rayQuery)
252: 9(fvec3) RayQueryGetWorldRayDirectionKHR 251
Store 250(d) 252
253: 35(ptr) AccessChain 247(o) 20
254: 8(float) Load 253
255: 35(ptr) AccessChain 250(d) 203
256: 8(float) Load 255
257: 67(bool) FOrdEqual 254 256
SelectionMerge 259 None
BranchConditional 257 258 259
258: Label
260: 2 FunctionCall 6(doSomething()
Branch 259
259: Label
Return 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
Branch 64 61: Label
64: Label LoopMerge 63 64 None
65: 43 Load 45(rayQuery) Branch 65
67: 66(bool) RayQueryProceedKHR 65 65: Label
BranchConditional 67 61 62 66: 45 Load 47(rayQuery)
61: Label 68: 67(bool) RayQueryProceedKHR 66
71: 14(int) RayQueryGetIntersectionTypeKHR 45(rayQuery) 19 BranchConditional 68 62 63
Store 69(candidateType) 71 62: Label
72: 14(int) Load 69(candidateType) 72: 14(int) RayQueryGetIntersectionTypeKHR 47(rayQuery) 19
SelectionMerge 75 None Store 70(candidateType) 72
Switch 72 75 73: 14(int) Load 70(candidateType)
case 0: 73 SelectionMerge 76 None
case 1: 74 Switch 73 76
73: Label case 0: 74
76: 43 Load 45(rayQuery) case 1: 75
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 74: Label
138: 77 RayQueryGetIntersectionObjectToWorldKHR 45(rayQuery) 19 77: 45 Load 47(rayQuery)
Store 79(_mat4x3) 138 RayQueryTerminateKHR 77
139: 77 Load 79(_mat4x3) 81: 78 RayQueryGetIntersectionObjectToWorldKHR 47(rayQuery) 19
140: 82 Transpose 139 Store 80(_mat4x3) 81
Store 84(_mat3x4) 140 86: 78 Load 80(_mat4x3)
141: 43 Load 45(rayQuery) 87: 83 Transpose 86
142: 66(bool) RayQueryGetIntersectionCandidateAABBOpaqueKHR 141 Store 85(_mat3x4) 87
SelectionMerge 144 None 88: 45 Load 47(rayQuery)
BranchConditional 142 143 144 RayQueryConfirmIntersectionKHR 88
143: Label 90: 67(bool) RayQueryGetIntersectionFrontFaceKHR 47(rayQuery) 23
145: 2 FunctionCall 6(doSomething() SelectionMerge 92 None
Branch 144 BranchConditional 90 91 92
144: Label 91: Label
Store 146(t) 147 93: 2 FunctionCall 6(doSomething()
148: 8(float) Load 146(t) Branch 92
RayQueryGenerateIntersectionKHR 45(rayQuery) 148 92: Label
149: 43 Load 45(rayQuery) 95: 94(fvec2) RayQueryGetIntersectionBarycentricsKHR 47(rayQuery) 23
RayQueryTerminateKHR 149 96: 8(float) CompositeExtract 95 0
Branch 75 97: 67(bool) FOrdEqual 96 27
75: Label SelectionMerge 99 None
Branch 63 BranchConditional 97 98 99
63: Label 98: Label
Branch 60 100: 2 FunctionCall 6(doSomething()
62: Label Branch 99
152: 35(ptr) AccessChain 84(_mat3x4) 19 20 99: Label
153: 8(float) Load 152 101: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 47(rayQuery) 23
154: 35(ptr) AccessChain 79(_mat4x3) 19 20 102: 67(bool) SGreaterThan 101 19
155: 8(float) Load 154 SelectionMerge 104 None
156: 66(bool) FOrdEqual 153 155 BranchConditional 102 103 104
SelectionMerge 158 None 103: Label
BranchConditional 156 157 158 105: 2 FunctionCall 6(doSomething()
157: Label Branch 104
159: 2 FunctionCall 6(doSomething() 104: Label
Branch 158 106: 18(int) RayQueryGetIntersectionInstanceIdKHR 47(rayQuery) 23
158: Label 107: 67(bool) SGreaterThan 106 19
161: 14(int) RayQueryGetIntersectionTypeKHR 45(rayQuery) 23 SelectionMerge 109 None
Store 160(committedStatus) 161 BranchConditional 107 108 109
162: 14(int) Load 160(committedStatus) 108: Label
SelectionMerge 166 None 110: 2 FunctionCall 6(doSomething()
Switch 162 166 Branch 109
case 0: 163 109: Label
case 1: 164 111: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 47(rayQuery) 23
case 2: 165 112: 8(float) CompositeExtract 111 0
163: Label 113: 67(bool) FOrdGreaterThan 112 27
167: 77 RayQueryGetIntersectionWorldToObjectKHR 45(rayQuery) 19 SelectionMerge 115 None
Store 79(_mat4x3) 167 BranchConditional 113 114 115
168: 77 Load 79(_mat4x3) 114: Label
169: 82 Transpose 168 116: 2 FunctionCall 6(doSomething()
Store 84(_mat3x4) 169 Branch 115
Branch 166 115: Label
117: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 47(rayQuery) 23
118: 8(float) CompositeExtract 117 0
119: 67(bool) FOrdGreaterThan 118 27
SelectionMerge 121 None
BranchConditional 119 120 121
120: Label
122: 2 FunctionCall 6(doSomething()
Branch 121
121: Label
123: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 47(rayQuery) 23
124: 67(bool) SGreaterThan 123 19
SelectionMerge 126 None
BranchConditional 124 125 126
125: Label
127: 2 FunctionCall 6(doSomething()
Branch 126
126: Label
128: 8(float) RayQueryGetIntersectionTKHR 47(rayQuery) 23
129: 67(bool) FOrdGreaterThan 128 27
SelectionMerge 131 None
BranchConditional 129 130 131
130: Label
132: 2 FunctionCall 6(doSomething()
Branch 131
131: Label
133: 18(int) RayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR 47(rayQuery) 23
134: 67(bool) UGreaterThan 133 20
SelectionMerge 136 None
BranchConditional 134 135 136
135: Label
137: 2 FunctionCall 6(doSomething()
Branch 136
136: Label
Branch 76
75: Label
139: 78 RayQueryGetIntersectionObjectToWorldKHR 47(rayQuery) 19
Store 80(_mat4x3) 139
140: 78 Load 80(_mat4x3)
141: 83 Transpose 140
Store 85(_mat3x4) 141
142: 45 Load 47(rayQuery)
143: 67(bool) RayQueryGetIntersectionCandidateAABBOpaqueKHR 142
SelectionMerge 145 None
BranchConditional 143 144 145
144: Label
146: 2 FunctionCall 6(doSomething()
Branch 145
145: Label
Store 147(t) 148
149: 8(float) Load 147(t)
RayQueryGenerateIntersectionKHR 47(rayQuery) 149
150: 45 Load 47(rayQuery)
RayQueryTerminateKHR 150
Branch 76
76: Label
Branch 64
64: Label
Branch 61
63: Label
153: 35(ptr) AccessChain 85(_mat3x4) 19 20
154: 8(float) Load 153
155: 35(ptr) AccessChain 80(_mat4x3) 19 20
156: 8(float) Load 155
157: 67(bool) FOrdEqual 154 156
SelectionMerge 159 None
BranchConditional 157 158 159
158: Label
160: 2 FunctionCall 6(doSomething()
Branch 159
159: Label
162: 14(int) RayQueryGetIntersectionTypeKHR 47(rayQuery) 23
Store 161(committedStatus) 162
163: 14(int) Load 161(committedStatus)
SelectionMerge 167 None
Switch 163 167
case 0: 164
case 1: 165
case 2: 166
164: Label 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 166: Label
199: Label 187: 18(int) RayQueryGetIntersectionGeometryIndexKHR 47(rayQuery) 23
201: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 45(rayQuery) 23 188: 67(bool) SGreaterThan 187 19
203: 8(float) CompositeExtract 201 2 SelectionMerge 190 None
204: 66(bool) FOrdGreaterThan 203 27 BranchConditional 188 189 190
SelectionMerge 206 None 189: Label
BranchConditional 204 205 206 191: 2 FunctionCall 6(doSomething()
205: Label Branch 190
207: 2 FunctionCall 6(doSomething() 190: Label
Branch 206 192: 18(int) RayQueryGetIntersectionInstanceIdKHR 47(rayQuery) 23
206: Label 193: 67(bool) SGreaterThan 192 19
208: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 45(rayQuery) 23 SelectionMerge 195 None
209: 8(float) CompositeExtract 208 0 BranchConditional 193 194 195
210: 66(bool) FOrdGreaterThan 209 27 194: Label
SelectionMerge 212 None 196: 2 FunctionCall 6(doSomething()
BranchConditional 210 211 212 Branch 195
211: Label 195: Label
213: 2 FunctionCall 6(doSomething() 197: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 47(rayQuery) 23
Branch 212 198: 67(bool) SGreaterThan 197 19
212: Label SelectionMerge 200 None
214: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 45(rayQuery) 23 BranchConditional 198 199 200
215: 66(bool) SGreaterThan 214 19 199: Label
SelectionMerge 217 None 201: 2 FunctionCall 6(doSomething()
BranchConditional 215 216 217 Branch 200
216: Label 200: Label
218: 2 FunctionCall 6(doSomething() 202: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 47(rayQuery) 23
Branch 217 204: 8(float) CompositeExtract 202 2
217: Label 205: 67(bool) FOrdGreaterThan 204 27
219: 8(float) RayQueryGetIntersectionTKHR 45(rayQuery) 23 SelectionMerge 207 None
220: 66(bool) FOrdGreaterThan 219 27 BranchConditional 205 206 207
SelectionMerge 222 None 206: Label
BranchConditional 220 221 222 208: 2 FunctionCall 6(doSomething()
221: Label Branch 207
223: 2 FunctionCall 6(doSomething() 207: Label
Branch 222 209: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 47(rayQuery) 23
222: Label 210: 8(float) CompositeExtract 209 0
Branch 166 211: 67(bool) FOrdGreaterThan 210 27
166: Label SelectionMerge 213 None
226: 35(ptr) AccessChain 84(_mat3x4) 19 20 BranchConditional 211 212 213
227: 8(float) Load 226 212: Label
228: 35(ptr) AccessChain 79(_mat4x3) 19 20 214: 2 FunctionCall 6(doSomething()
229: 8(float) Load 228 Branch 213
230: 66(bool) FOrdEqual 227 229 213: Label
SelectionMerge 232 None 215: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 47(rayQuery) 23
BranchConditional 230 231 232 216: 67(bool) SGreaterThan 215 19
231: Label SelectionMerge 218 None
233: 2 FunctionCall 6(doSomething() BranchConditional 216 217 218
Branch 232 217: Label
232: Label 219: 2 FunctionCall 6(doSomething()
234: 43 Load 45(rayQuery) Branch 218
235: 14(int) RayQueryGetRayFlagsKHR 234 218: Label
236: 66(bool) UGreaterThan 235 20 220: 8(float) RayQueryGetIntersectionTKHR 47(rayQuery) 23
SelectionMerge 238 None 221: 67(bool) FOrdGreaterThan 220 27
BranchConditional 236 237 238 SelectionMerge 223 None
237: Label BranchConditional 221 222 223
239: 2 FunctionCall 6(doSomething() 222: Label
Branch 238 224: 2 FunctionCall 6(doSomething()
238: Label Branch 223
240: 43 Load 45(rayQuery) 223: Label
241: 8(float) RayQueryGetRayTMinKHR 240 Branch 167
242: 66(bool) FOrdGreaterThan 241 27 167: Label
SelectionMerge 244 None 227: 35(ptr) AccessChain 85(_mat3x4) 19 20
BranchConditional 242 243 244 228: 8(float) Load 227
243: Label 229: 35(ptr) AccessChain 80(_mat4x3) 19 20
245: 2 FunctionCall 6(doSomething() 230: 8(float) Load 229
Branch 244 231: 67(bool) FOrdEqual 228 230
244: Label SelectionMerge 233 None
247: 43 Load 45(rayQuery) BranchConditional 231 232 233
248: 9(fvec3) RayQueryGetWorldRayOriginKHR 247 232: Label
Store 246(o) 248 234: 2 FunctionCall 6(doSomething()
250: 43 Load 45(rayQuery) Branch 233
251: 9(fvec3) RayQueryGetWorldRayDirectionKHR 250 233: Label
Store 249(d) 251 235: 45 Load 47(rayQuery)
252: 35(ptr) AccessChain 246(o) 20 236: 14(int) RayQueryGetRayFlagsKHR 235
253: 8(float) Load 252 237: 67(bool) UGreaterThan 236 20
254: 35(ptr) AccessChain 249(d) 202 SelectionMerge 239 None
255: 8(float) Load 254 BranchConditional 237 238 239
256: 66(bool) FOrdEqual 253 255 238: Label
SelectionMerge 258 None 240: 2 FunctionCall 6(doSomething()
BranchConditional 256 257 258 Branch 239
257: Label 239: Label
259: 2 FunctionCall 6(doSomething() 241: 45 Load 47(rayQuery)
Branch 258 242: 8(float) RayQueryGetRayTMinKHR 241
258: Label 243: 67(bool) FOrdGreaterThan 242 27
SelectionMerge 245 None
BranchConditional 243 244 245
244: Label
246: 2 FunctionCall 6(doSomething()
Branch 245
245: Label
248: 45 Load 47(rayQuery)
249: 9(fvec3) RayQueryGetWorldRayOriginKHR 248
Store 247(o) 249
251: 45 Load 47(rayQuery)
252: 9(fvec3) RayQueryGetWorldRayDirectionKHR 251
Store 250(d) 252
253: 35(ptr) AccessChain 247(o) 20
254: 8(float) Load 253
255: 35(ptr) AccessChain 250(d) 203
256: 8(float) Load 255
257: 67(bool) FOrdEqual 254 256
SelectionMerge 259 None
BranchConditional 257 258 259
258: Label
260: 2 FunctionCall 6(doSomething()
Branch 259
259: Label
Return 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
Branch 64 61: Label
64: Label LoopMerge 63 64 None
65: 43 Load 45(rayQuery) Branch 65
67: 66(bool) RayQueryProceedKHR 65 65: Label
BranchConditional 67 61 62 66: 45 Load 47(rayQuery)
61: Label 68: 67(bool) RayQueryProceedKHR 66
71: 14(int) RayQueryGetIntersectionTypeKHR 45(rayQuery) 19 BranchConditional 68 62 63
Store 69(candidateType) 71 62: Label
72: 14(int) Load 69(candidateType) 72: 14(int) RayQueryGetIntersectionTypeKHR 47(rayQuery) 19
SelectionMerge 75 None Store 70(candidateType) 72
Switch 72 75 73: 14(int) Load 70(candidateType)
case 0: 73 SelectionMerge 76 None
case 1: 74 Switch 73 76
73: Label case 0: 74
76: 43 Load 45(rayQuery) case 1: 75
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 74: Label
138: 77 RayQueryGetIntersectionObjectToWorldKHR 45(rayQuery) 19 77: 45 Load 47(rayQuery)
Store 79(_mat4x3) 138 RayQueryTerminateKHR 77
139: 77 Load 79(_mat4x3) 81: 78 RayQueryGetIntersectionObjectToWorldKHR 47(rayQuery) 19
140: 82 Transpose 139 Store 80(_mat4x3) 81
Store 84(_mat3x4) 140 86: 78 Load 80(_mat4x3)
141: 43 Load 45(rayQuery) 87: 83 Transpose 86
142: 66(bool) RayQueryGetIntersectionCandidateAABBOpaqueKHR 141 Store 85(_mat3x4) 87
SelectionMerge 144 None 88: 45 Load 47(rayQuery)
BranchConditional 142 143 144 RayQueryConfirmIntersectionKHR 88
143: Label 90: 67(bool) RayQueryGetIntersectionFrontFaceKHR 47(rayQuery) 23
145: 2 FunctionCall 6(doSomething() SelectionMerge 92 None
Branch 144 BranchConditional 90 91 92
144: Label 91: Label
Store 146(t) 147 93: 2 FunctionCall 6(doSomething()
148: 8(float) Load 146(t) Branch 92
RayQueryGenerateIntersectionKHR 45(rayQuery) 148 92: Label
149: 43 Load 45(rayQuery) 95: 94(fvec2) RayQueryGetIntersectionBarycentricsKHR 47(rayQuery) 23
RayQueryTerminateKHR 149 96: 8(float) CompositeExtract 95 0
Branch 75 97: 67(bool) FOrdEqual 96 27
75: Label SelectionMerge 99 None
Branch 63 BranchConditional 97 98 99
63: Label 98: Label
Branch 60 100: 2 FunctionCall 6(doSomething()
62: Label Branch 99
152: 35(ptr) AccessChain 84(_mat3x4) 19 20 99: Label
153: 8(float) Load 152 101: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 47(rayQuery) 23
154: 35(ptr) AccessChain 79(_mat4x3) 19 20 102: 67(bool) SGreaterThan 101 19
155: 8(float) Load 154 SelectionMerge 104 None
156: 66(bool) FOrdEqual 153 155 BranchConditional 102 103 104
SelectionMerge 158 None 103: Label
BranchConditional 156 157 158 105: 2 FunctionCall 6(doSomething()
157: Label Branch 104
159: 2 FunctionCall 6(doSomething() 104: Label
Branch 158 106: 18(int) RayQueryGetIntersectionInstanceIdKHR 47(rayQuery) 23
158: Label 107: 67(bool) SGreaterThan 106 19
161: 14(int) RayQueryGetIntersectionTypeKHR 45(rayQuery) 23 SelectionMerge 109 None
Store 160(committedStatus) 161 BranchConditional 107 108 109
162: 14(int) Load 160(committedStatus) 108: Label
SelectionMerge 166 None 110: 2 FunctionCall 6(doSomething()
Switch 162 166 Branch 109
case 0: 163 109: Label
case 1: 164 111: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 47(rayQuery) 23
case 2: 165 112: 8(float) CompositeExtract 111 0
163: Label 113: 67(bool) FOrdGreaterThan 112 27
167: 77 RayQueryGetIntersectionWorldToObjectKHR 45(rayQuery) 19 SelectionMerge 115 None
Store 79(_mat4x3) 167 BranchConditional 113 114 115
168: 77 Load 79(_mat4x3) 114: Label
169: 82 Transpose 168 116: 2 FunctionCall 6(doSomething()
Store 84(_mat3x4) 169 Branch 115
Branch 166 115: Label
117: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 47(rayQuery) 23
118: 8(float) CompositeExtract 117 0
119: 67(bool) FOrdGreaterThan 118 27
SelectionMerge 121 None
BranchConditional 119 120 121
120: Label
122: 2 FunctionCall 6(doSomething()
Branch 121
121: Label
123: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 47(rayQuery) 23
124: 67(bool) SGreaterThan 123 19
SelectionMerge 126 None
BranchConditional 124 125 126
125: Label
127: 2 FunctionCall 6(doSomething()
Branch 126
126: Label
128: 8(float) RayQueryGetIntersectionTKHR 47(rayQuery) 23
129: 67(bool) FOrdGreaterThan 128 27
SelectionMerge 131 None
BranchConditional 129 130 131
130: Label
132: 2 FunctionCall 6(doSomething()
Branch 131
131: Label
133: 18(int) RayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR 47(rayQuery) 23
134: 67(bool) UGreaterThan 133 20
SelectionMerge 136 None
BranchConditional 134 135 136
135: Label
137: 2 FunctionCall 6(doSomething()
Branch 136
136: Label
Branch 76
75: Label
139: 78 RayQueryGetIntersectionObjectToWorldKHR 47(rayQuery) 19
Store 80(_mat4x3) 139
140: 78 Load 80(_mat4x3)
141: 83 Transpose 140
Store 85(_mat3x4) 141
142: 45 Load 47(rayQuery)
143: 67(bool) RayQueryGetIntersectionCandidateAABBOpaqueKHR 142
SelectionMerge 145 None
BranchConditional 143 144 145
144: Label
146: 2 FunctionCall 6(doSomething()
Branch 145
145: Label
Store 147(t) 148
149: 8(float) Load 147(t)
RayQueryGenerateIntersectionKHR 47(rayQuery) 149
150: 45 Load 47(rayQuery)
RayQueryTerminateKHR 150
Branch 76
76: Label
Branch 64
64: Label
Branch 61
63: Label
153: 35(ptr) AccessChain 85(_mat3x4) 19 20
154: 8(float) Load 153
155: 35(ptr) AccessChain 80(_mat4x3) 19 20
156: 8(float) Load 155
157: 67(bool) FOrdEqual 154 156
SelectionMerge 159 None
BranchConditional 157 158 159
158: Label
160: 2 FunctionCall 6(doSomething()
Branch 159
159: Label
162: 14(int) RayQueryGetIntersectionTypeKHR 47(rayQuery) 23
Store 161(committedStatus) 162
163: 14(int) Load 161(committedStatus)
SelectionMerge 167 None
Switch 163 167
case 0: 164
case 1: 165
case 2: 166
164: Label 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 166: Label
199: Label 187: 18(int) RayQueryGetIntersectionGeometryIndexKHR 47(rayQuery) 23
201: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 45(rayQuery) 23 188: 67(bool) SGreaterThan 187 19
203: 8(float) CompositeExtract 201 2 SelectionMerge 190 None
204: 66(bool) FOrdGreaterThan 203 27 BranchConditional 188 189 190
SelectionMerge 206 None 189: Label
BranchConditional 204 205 206 191: 2 FunctionCall 6(doSomething()
205: Label Branch 190
207: 2 FunctionCall 6(doSomething() 190: Label
Branch 206 192: 18(int) RayQueryGetIntersectionInstanceIdKHR 47(rayQuery) 23
206: Label 193: 67(bool) SGreaterThan 192 19
208: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 45(rayQuery) 23 SelectionMerge 195 None
209: 8(float) CompositeExtract 208 0 BranchConditional 193 194 195
210: 66(bool) FOrdGreaterThan 209 27 194: Label
SelectionMerge 212 None 196: 2 FunctionCall 6(doSomething()
BranchConditional 210 211 212 Branch 195
211: Label 195: Label
213: 2 FunctionCall 6(doSomething() 197: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 47(rayQuery) 23
Branch 212 198: 67(bool) SGreaterThan 197 19
212: Label SelectionMerge 200 None
214: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 45(rayQuery) 23 BranchConditional 198 199 200
215: 66(bool) SGreaterThan 214 19 199: Label
SelectionMerge 217 None 201: 2 FunctionCall 6(doSomething()
BranchConditional 215 216 217 Branch 200
216: Label 200: Label
218: 2 FunctionCall 6(doSomething() 202: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 47(rayQuery) 23
Branch 217 204: 8(float) CompositeExtract 202 2
217: Label 205: 67(bool) FOrdGreaterThan 204 27
219: 8(float) RayQueryGetIntersectionTKHR 45(rayQuery) 23 SelectionMerge 207 None
220: 66(bool) FOrdGreaterThan 219 27 BranchConditional 205 206 207
SelectionMerge 222 None 206: Label
BranchConditional 220 221 222 208: 2 FunctionCall 6(doSomething()
221: Label Branch 207
223: 2 FunctionCall 6(doSomething() 207: Label
Branch 222 209: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 47(rayQuery) 23
222: Label 210: 8(float) CompositeExtract 209 0
Branch 166 211: 67(bool) FOrdGreaterThan 210 27
166: Label SelectionMerge 213 None
226: 35(ptr) AccessChain 84(_mat3x4) 19 20 BranchConditional 211 212 213
227: 8(float) Load 226 212: Label
228: 35(ptr) AccessChain 79(_mat4x3) 19 20 214: 2 FunctionCall 6(doSomething()
229: 8(float) Load 228 Branch 213
230: 66(bool) FOrdEqual 227 229 213: Label
SelectionMerge 232 None 215: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 47(rayQuery) 23
BranchConditional 230 231 232 216: 67(bool) SGreaterThan 215 19
231: Label SelectionMerge 218 None
233: 2 FunctionCall 6(doSomething() BranchConditional 216 217 218
Branch 232 217: Label
232: Label 219: 2 FunctionCall 6(doSomething()
234: 43 Load 45(rayQuery) Branch 218
235: 14(int) RayQueryGetRayFlagsKHR 234 218: Label
236: 66(bool) UGreaterThan 235 20 220: 8(float) RayQueryGetIntersectionTKHR 47(rayQuery) 23
SelectionMerge 238 None 221: 67(bool) FOrdGreaterThan 220 27
BranchConditional 236 237 238 SelectionMerge 223 None
237: Label BranchConditional 221 222 223
239: 2 FunctionCall 6(doSomething() 222: Label
Branch 238 224: 2 FunctionCall 6(doSomething()
238: Label Branch 223
240: 43 Load 45(rayQuery) 223: Label
241: 8(float) RayQueryGetRayTMinKHR 240 Branch 167
242: 66(bool) FOrdGreaterThan 241 27 167: Label
SelectionMerge 244 None 227: 35(ptr) AccessChain 85(_mat3x4) 19 20
BranchConditional 242 243 244 228: 8(float) Load 227
243: Label 229: 35(ptr) AccessChain 80(_mat4x3) 19 20
245: 2 FunctionCall 6(doSomething() 230: 8(float) Load 229
Branch 244 231: 67(bool) FOrdEqual 228 230
244: Label SelectionMerge 233 None
247: 43 Load 45(rayQuery) BranchConditional 231 232 233
248: 9(fvec3) RayQueryGetWorldRayOriginKHR 247 232: Label
Store 246(o) 248 234: 2 FunctionCall 6(doSomething()
250: 43 Load 45(rayQuery) Branch 233
251: 9(fvec3) RayQueryGetWorldRayDirectionKHR 250 233: Label
Store 249(d) 251 235: 45 Load 47(rayQuery)
252: 35(ptr) AccessChain 246(o) 20 236: 14(int) RayQueryGetRayFlagsKHR 235
253: 8(float) Load 252 237: 67(bool) UGreaterThan 236 20
254: 35(ptr) AccessChain 249(d) 202 SelectionMerge 239 None
255: 8(float) Load 254 BranchConditional 237 238 239
256: 66(bool) FOrdEqual 253 255 238: Label
SelectionMerge 258 None 240: 2 FunctionCall 6(doSomething()
BranchConditional 256 257 258 Branch 239
257: Label 239: Label
259: 2 FunctionCall 6(doSomething() 241: 45 Load 47(rayQuery)
Branch 258 242: 8(float) RayQueryGetRayTMinKHR 241
258: Label 243: 67(bool) FOrdGreaterThan 242 27
SelectionMerge 245 None
BranchConditional 243 244 245
244: Label
246: 2 FunctionCall 6(doSomething()
Branch 245
245: Label
248: 45 Load 47(rayQuery)
249: 9(fvec3) RayQueryGetWorldRayOriginKHR 248
Store 247(o) 249
251: 45 Load 47(rayQuery)
252: 9(fvec3) RayQueryGetWorldRayDirectionKHR 251
Store 250(d) 252
253: 35(ptr) AccessChain 247(o) 20
254: 8(float) Load 253
255: 35(ptr) AccessChain 250(d) 203
256: 8(float) Load 255
257: 67(bool) FOrdEqual 254 256
SelectionMerge 259 None
BranchConditional 257 258 259
258: Label
260: 2 FunctionCall 6(doSomething()
Branch 259
259: Label
Return 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)) {