Commit 7f689beb by Neslisah Torosdagli

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

parent 65c81bf2
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 ...@@ -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 ...@@ -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
64: Label
65: 43 Load 45(rayQuery)
67: 66(bool) RayQueryProceedKHR 65
BranchConditional 67 61 62
61: Label 61: Label
71: 14(int) RayQueryGetIntersectionTypeKHR 45(rayQuery) 19 LoopMerge 63 64 None
Store 69(candidateType) 71 Branch 65
72: 14(int) Load 69(candidateType) 65: Label
SelectionMerge 75 None 66: 45 Load 47(rayQuery)
Switch 72 75 68: 67(bool) RayQueryProceedKHR 66
case 0: 73 BranchConditional 68 62 63
case 1: 74 62: Label
73: Label 72: 14(int) RayQueryGetIntersectionTypeKHR 47(rayQuery) 19
76: 43 Load 45(rayQuery) Store 70(candidateType) 72
RayQueryTerminateKHR 76 73: 14(int) Load 70(candidateType)
80: 77 RayQueryGetIntersectionObjectToWorldKHR 45(rayQuery) 19 SelectionMerge 76 None
Store 79(_mat4x3) 80 Switch 73 76
85: 77 Load 79(_mat4x3) case 0: 74
86: 82 Transpose 85 case 1: 75
Store 84(_mat3x4) 86 74: Label
87: 43 Load 45(rayQuery) 77: 45 Load 47(rayQuery)
RayQueryConfirmIntersectionKHR 87 RayQueryTerminateKHR 77
89: 66(bool) RayQueryGetIntersectionFrontFaceKHR 45(rayQuery) 23 81: 78 RayQueryGetIntersectionObjectToWorldKHR 47(rayQuery) 19
SelectionMerge 91 None Store 80(_mat4x3) 81
BranchConditional 89 90 91 86: 78 Load 80(_mat4x3)
90: Label 87: 83 Transpose 86
92: 2 FunctionCall 6(doSomething() Store 85(_mat3x4) 87
Branch 91 88: 45 Load 47(rayQuery)
RayQueryConfirmIntersectionKHR 88
90: 67(bool) RayQueryGetIntersectionFrontFaceKHR 47(rayQuery) 23
SelectionMerge 92 None
BranchConditional 90 91 92
91: Label 91: Label
94: 93(fvec2) RayQueryGetIntersectionBarycentricsKHR 45(rayQuery) 23 93: 2 FunctionCall 6(doSomething()
95: 8(float) CompositeExtract 94 0 Branch 92
96: 66(bool) FOrdEqual 95 27 92: Label
SelectionMerge 98 None 95: 94(fvec2) RayQueryGetIntersectionBarycentricsKHR 47(rayQuery) 23
BranchConditional 96 97 98 96: 8(float) CompositeExtract 95 0
97: Label 97: 67(bool) FOrdEqual 96 27
99: 2 FunctionCall 6(doSomething() SelectionMerge 99 None
Branch 98 BranchConditional 97 98 99
98: Label 98: Label
100: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 45(rayQuery) 23 100: 2 FunctionCall 6(doSomething()
101: 66(bool) SGreaterThan 100 19 Branch 99
SelectionMerge 103 None 99: Label
BranchConditional 101 102 103 101: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 47(rayQuery) 23
102: Label 102: 67(bool) SGreaterThan 101 19
104: 2 FunctionCall 6(doSomething() SelectionMerge 104 None
Branch 103 BranchConditional 102 103 104
103: Label 103: Label
105: 18(int) RayQueryGetIntersectionInstanceIdKHR 45(rayQuery) 23 105: 2 FunctionCall 6(doSomething()
106: 66(bool) SGreaterThan 105 19 Branch 104
SelectionMerge 108 None 104: Label
BranchConditional 106 107 108 106: 18(int) RayQueryGetIntersectionInstanceIdKHR 47(rayQuery) 23
107: Label 107: 67(bool) SGreaterThan 106 19
109: 2 FunctionCall 6(doSomething() SelectionMerge 109 None
Branch 108 BranchConditional 107 108 109
108: Label 108: Label
110: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 45(rayQuery) 23 110: 2 FunctionCall 6(doSomething()
111: 8(float) CompositeExtract 110 0 Branch 109
112: 66(bool) FOrdGreaterThan 111 27 109: Label
SelectionMerge 114 None 111: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 47(rayQuery) 23
BranchConditional 112 113 114 112: 8(float) CompositeExtract 111 0
113: Label 113: 67(bool) FOrdGreaterThan 112 27
115: 2 FunctionCall 6(doSomething() SelectionMerge 115 None
Branch 114 BranchConditional 113 114 115
114: Label 114: Label
116: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 45(rayQuery) 23 116: 2 FunctionCall 6(doSomething()
117: 8(float) CompositeExtract 116 0 Branch 115
118: 66(bool) FOrdGreaterThan 117 27 115: Label
SelectionMerge 120 None 117: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 47(rayQuery) 23
BranchConditional 118 119 120 118: 8(float) CompositeExtract 117 0
119: Label 119: 67(bool) FOrdGreaterThan 118 27
121: 2 FunctionCall 6(doSomething() SelectionMerge 121 None
Branch 120 BranchConditional 119 120 121
120: Label 120: Label
122: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 45(rayQuery) 23 122: 2 FunctionCall 6(doSomething()
123: 66(bool) SGreaterThan 122 19 Branch 121
SelectionMerge 125 None 121: Label
BranchConditional 123 124 125 123: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 47(rayQuery) 23
124: Label 124: 67(bool) SGreaterThan 123 19
126: 2 FunctionCall 6(doSomething() SelectionMerge 126 None
Branch 125 BranchConditional 124 125 126
125: Label 125: Label
127: 8(float) RayQueryGetIntersectionTKHR 45(rayQuery) 23 127: 2 FunctionCall 6(doSomething()
128: 66(bool) FOrdGreaterThan 127 27 Branch 126
SelectionMerge 130 None 126: Label
BranchConditional 128 129 130 128: 8(float) RayQueryGetIntersectionTKHR 47(rayQuery) 23
129: Label 129: 67(bool) FOrdGreaterThan 128 27
131: 2 FunctionCall 6(doSomething() SelectionMerge 131 None
Branch 130 BranchConditional 129 130 131
130: Label 130: Label
132: 18(int) RayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR 45(rayQuery) 23 132: 2 FunctionCall 6(doSomething()
133: 66(bool) UGreaterThan 132 20 Branch 131
SelectionMerge 135 None 131: Label
BranchConditional 133 134 135 133: 18(int) RayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR 47(rayQuery) 23
134: Label 134: 67(bool) UGreaterThan 133 20
136: 2 FunctionCall 6(doSomething() SelectionMerge 136 None
Branch 135 BranchConditional 134 135 136
135: Label 135: Label
Branch 75 137: 2 FunctionCall 6(doSomething()
74: Label Branch 136
138: 77 RayQueryGetIntersectionObjectToWorldKHR 45(rayQuery) 19 136: Label
Store 79(_mat4x3) 138 Branch 76
139: 77 Load 79(_mat4x3)
140: 82 Transpose 139
Store 84(_mat3x4) 140
141: 43 Load 45(rayQuery)
142: 66(bool) RayQueryGetIntersectionCandidateAABBOpaqueKHR 141
SelectionMerge 144 None
BranchConditional 142 143 144
143: Label
145: 2 FunctionCall 6(doSomething()
Branch 144
144: Label
Store 146(t) 147
148: 8(float) Load 146(t)
RayQueryGenerateIntersectionKHR 45(rayQuery) 148
149: 43 Load 45(rayQuery)
RayQueryTerminateKHR 149
Branch 75
75: Label 75: Label
Branch 63 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 63: Label
Branch 60 153: 35(ptr) AccessChain 85(_mat3x4) 19 20
62: Label 154: 8(float) Load 153
152: 35(ptr) AccessChain 84(_mat3x4) 19 20 155: 35(ptr) AccessChain 80(_mat4x3) 19 20
153: 8(float) Load 152 156: 8(float) Load 155
154: 35(ptr) AccessChain 79(_mat4x3) 19 20 157: 67(bool) FOrdEqual 154 156
155: 8(float) Load 154 SelectionMerge 159 None
156: 66(bool) FOrdEqual 153 155 BranchConditional 157 158 159
SelectionMerge 158 None
BranchConditional 156 157 158
157: Label
159: 2 FunctionCall 6(doSomething()
Branch 158
158: Label 158: Label
161: 14(int) RayQueryGetIntersectionTypeKHR 45(rayQuery) 23 160: 2 FunctionCall 6(doSomething()
Store 160(committedStatus) 161 Branch 159
162: 14(int) Load 160(committedStatus) 159: Label
SelectionMerge 166 None 162: 14(int) RayQueryGetIntersectionTypeKHR 47(rayQuery) 23
Switch 162 166 Store 161(committedStatus) 162
case 0: 163 163: 14(int) Load 161(committedStatus)
case 1: 164 SelectionMerge 167 None
case 2: 165 Switch 163 167
163: Label case 0: 164
167: 77 RayQueryGetIntersectionWorldToObjectKHR 45(rayQuery) 19 case 1: 165
Store 79(_mat4x3) 167 case 2: 166
168: 77 Load 79(_mat4x3)
169: 82 Transpose 168
Store 84(_mat3x4) 169
Branch 166
164: Label 164: Label
171: 77 RayQueryGetIntersectionWorldToObjectKHR 45(rayQuery) 23 168: 78 RayQueryGetIntersectionWorldToObjectKHR 47(rayQuery) 19
Store 79(_mat4x3) 171 Store 80(_mat4x3) 168
172: 77 Load 79(_mat4x3) 169: 78 Load 80(_mat4x3)
173: 82 Transpose 172 170: 83 Transpose 169
Store 84(_mat3x4) 173 Store 85(_mat3x4) 170
174: 66(bool) RayQueryGetIntersectionFrontFaceKHR 45(rayQuery) 23 Branch 167
SelectionMerge 176 None 165: Label
BranchConditional 174 175 176 172: 78 RayQueryGetIntersectionWorldToObjectKHR 47(rayQuery) 23
175: Label Store 80(_mat4x3) 172
177: 2 FunctionCall 6(doSomething() 173: 78 Load 80(_mat4x3)
Branch 176 174: 83 Transpose 173
Store 85(_mat3x4) 174
175: 67(bool) RayQueryGetIntersectionFrontFaceKHR 47(rayQuery) 23
SelectionMerge 177 None
BranchConditional 175 176 177
176: Label 176: Label
178: 93(fvec2) RayQueryGetIntersectionBarycentricsKHR 45(rayQuery) 23 178: 2 FunctionCall 6(doSomething()
180: 8(float) CompositeExtract 178 1 Branch 177
181: 66(bool) FOrdEqual 180 27 177: Label
SelectionMerge 183 None 179: 94(fvec2) RayQueryGetIntersectionBarycentricsKHR 47(rayQuery) 23
BranchConditional 181 182 183 181: 8(float) CompositeExtract 179 1
182: Label 182: 67(bool) FOrdEqual 181 27
184: 2 FunctionCall 6(doSomething() SelectionMerge 184 None
Branch 183 BranchConditional 182 183 184
183: Label 183: Label
Branch 166 185: 2 FunctionCall 6(doSomething()
165: Label Branch 184
186: 18(int) RayQueryGetIntersectionGeometryIndexKHR 45(rayQuery) 23 184: Label
187: 66(bool) SGreaterThan 186 19 Branch 167
SelectionMerge 189 None 166: Label
BranchConditional 187 188 189 187: 18(int) RayQueryGetIntersectionGeometryIndexKHR 47(rayQuery) 23
188: Label 188: 67(bool) SGreaterThan 187 19
190: 2 FunctionCall 6(doSomething() SelectionMerge 190 None
Branch 189 BranchConditional 188 189 190
189: Label 189: Label
191: 18(int) RayQueryGetIntersectionInstanceIdKHR 45(rayQuery) 23 191: 2 FunctionCall 6(doSomething()
192: 66(bool) SGreaterThan 191 19 Branch 190
SelectionMerge 194 None 190: Label
BranchConditional 192 193 194 192: 18(int) RayQueryGetIntersectionInstanceIdKHR 47(rayQuery) 23
193: Label 193: 67(bool) SGreaterThan 192 19
195: 2 FunctionCall 6(doSomething() SelectionMerge 195 None
Branch 194 BranchConditional 193 194 195
194: Label 194: Label
196: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 45(rayQuery) 23 196: 2 FunctionCall 6(doSomething()
197: 66(bool) SGreaterThan 196 19 Branch 195
SelectionMerge 199 None 195: Label
BranchConditional 197 198 199 197: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 47(rayQuery) 23
198: Label 198: 67(bool) SGreaterThan 197 19
200: 2 FunctionCall 6(doSomething() SelectionMerge 200 None
Branch 199 BranchConditional 198 199 200
199: Label 199: Label
201: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 45(rayQuery) 23 201: 2 FunctionCall 6(doSomething()
203: 8(float) CompositeExtract 201 2 Branch 200
204: 66(bool) FOrdGreaterThan 203 27 200: Label
SelectionMerge 206 None 202: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 47(rayQuery) 23
BranchConditional 204 205 206 204: 8(float) CompositeExtract 202 2
205: Label 205: 67(bool) FOrdGreaterThan 204 27
207: 2 FunctionCall 6(doSomething() SelectionMerge 207 None
Branch 206 BranchConditional 205 206 207
206: Label 206: Label
208: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 45(rayQuery) 23 208: 2 FunctionCall 6(doSomething()
209: 8(float) CompositeExtract 208 0 Branch 207
210: 66(bool) FOrdGreaterThan 209 27 207: Label
SelectionMerge 212 None 209: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 47(rayQuery) 23
BranchConditional 210 211 212 210: 8(float) CompositeExtract 209 0
211: Label 211: 67(bool) FOrdGreaterThan 210 27
213: 2 FunctionCall 6(doSomething() SelectionMerge 213 None
Branch 212 BranchConditional 211 212 213
212: Label 212: Label
214: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 45(rayQuery) 23 214: 2 FunctionCall 6(doSomething()
215: 66(bool) SGreaterThan 214 19 Branch 213
SelectionMerge 217 None 213: Label
BranchConditional 215 216 217 215: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 47(rayQuery) 23
216: Label 216: 67(bool) SGreaterThan 215 19
218: 2 FunctionCall 6(doSomething() SelectionMerge 218 None
Branch 217 BranchConditional 216 217 218
217: Label 217: Label
219: 8(float) RayQueryGetIntersectionTKHR 45(rayQuery) 23 219: 2 FunctionCall 6(doSomething()
220: 66(bool) FOrdGreaterThan 219 27 Branch 218
SelectionMerge 222 None 218: Label
BranchConditional 220 221 222 220: 8(float) RayQueryGetIntersectionTKHR 47(rayQuery) 23
221: Label 221: 67(bool) FOrdGreaterThan 220 27
223: 2 FunctionCall 6(doSomething() SelectionMerge 223 None
Branch 222 BranchConditional 221 222 223
222: Label 222: Label
Branch 166 224: 2 FunctionCall 6(doSomething()
166: Label Branch 223
226: 35(ptr) AccessChain 84(_mat3x4) 19 20 223: Label
227: 8(float) Load 226 Branch 167
228: 35(ptr) AccessChain 79(_mat4x3) 19 20 167: Label
229: 8(float) Load 228 227: 35(ptr) AccessChain 85(_mat3x4) 19 20
230: 66(bool) FOrdEqual 227 229 228: 8(float) Load 227
SelectionMerge 232 None 229: 35(ptr) AccessChain 80(_mat4x3) 19 20
BranchConditional 230 231 232 230: 8(float) Load 229
231: Label 231: 67(bool) FOrdEqual 228 230
233: 2 FunctionCall 6(doSomething() SelectionMerge 233 None
Branch 232 BranchConditional 231 232 233
232: Label 232: Label
234: 43 Load 45(rayQuery) 234: 2 FunctionCall 6(doSomething()
235: 14(int) RayQueryGetRayFlagsKHR 234 Branch 233
236: 66(bool) UGreaterThan 235 20 233: Label
SelectionMerge 238 None 235: 45 Load 47(rayQuery)
BranchConditional 236 237 238 236: 14(int) RayQueryGetRayFlagsKHR 235
237: Label 237: 67(bool) UGreaterThan 236 20
239: 2 FunctionCall 6(doSomething() SelectionMerge 239 None
Branch 238 BranchConditional 237 238 239
238: Label 238: Label
240: 43 Load 45(rayQuery) 240: 2 FunctionCall 6(doSomething()
241: 8(float) RayQueryGetRayTMinKHR 240 Branch 239
242: 66(bool) FOrdGreaterThan 241 27 239: Label
SelectionMerge 244 None 241: 45 Load 47(rayQuery)
BranchConditional 242 243 244 242: 8(float) RayQueryGetRayTMinKHR 241
243: Label 243: 67(bool) FOrdGreaterThan 242 27
245: 2 FunctionCall 6(doSomething() SelectionMerge 245 None
Branch 244 BranchConditional 243 244 245
244: Label 244: Label
247: 43 Load 45(rayQuery) 246: 2 FunctionCall 6(doSomething()
248: 9(fvec3) RayQueryGetWorldRayOriginKHR 247 Branch 245
Store 246(o) 248 245: Label
250: 43 Load 45(rayQuery) 248: 45 Load 47(rayQuery)
251: 9(fvec3) RayQueryGetWorldRayDirectionKHR 250 249: 9(fvec3) RayQueryGetWorldRayOriginKHR 248
Store 249(d) 251 Store 247(o) 249
252: 35(ptr) AccessChain 246(o) 20 251: 45 Load 47(rayQuery)
253: 8(float) Load 252 252: 9(fvec3) RayQueryGetWorldRayDirectionKHR 251
254: 35(ptr) AccessChain 249(d) 202 Store 250(d) 252
255: 8(float) Load 254 253: 35(ptr) AccessChain 247(o) 20
256: 66(bool) FOrdEqual 253 255 254: 8(float) Load 253
SelectionMerge 258 None 255: 35(ptr) AccessChain 250(d) 203
BranchConditional 256 257 258 256: 8(float) Load 255
257: Label 257: 67(bool) FOrdEqual 254 256
259: 2 FunctionCall 6(doSomething() SelectionMerge 259 None
Branch 258 BranchConditional 257 258 259
258: Label 258: Label
260: 2 FunctionCall 6(doSomething()
Branch 259
259: Label
Return Return
FunctionEnd FunctionEnd
6(doSomething(): 2 Function None 3 6(doSomething(): 2 Function None 3
......
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 ...@@ -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 ...@@ -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
64: Label
65: 43 Load 45(rayQuery)
67: 66(bool) RayQueryProceedKHR 65
BranchConditional 67 61 62
61: Label 61: Label
71: 14(int) RayQueryGetIntersectionTypeKHR 45(rayQuery) 19 LoopMerge 63 64 None
Store 69(candidateType) 71 Branch 65
72: 14(int) Load 69(candidateType) 65: Label
SelectionMerge 75 None 66: 45 Load 47(rayQuery)
Switch 72 75 68: 67(bool) RayQueryProceedKHR 66
case 0: 73 BranchConditional 68 62 63
case 1: 74 62: Label
73: Label 72: 14(int) RayQueryGetIntersectionTypeKHR 47(rayQuery) 19
76: 43 Load 45(rayQuery) Store 70(candidateType) 72
RayQueryTerminateKHR 76 73: 14(int) Load 70(candidateType)
80: 77 RayQueryGetIntersectionObjectToWorldKHR 45(rayQuery) 19 SelectionMerge 76 None
Store 79(_mat4x3) 80 Switch 73 76
85: 77 Load 79(_mat4x3) case 0: 74
86: 82 Transpose 85 case 1: 75
Store 84(_mat3x4) 86 74: Label
87: 43 Load 45(rayQuery) 77: 45 Load 47(rayQuery)
RayQueryConfirmIntersectionKHR 87 RayQueryTerminateKHR 77
89: 66(bool) RayQueryGetIntersectionFrontFaceKHR 45(rayQuery) 23 81: 78 RayQueryGetIntersectionObjectToWorldKHR 47(rayQuery) 19
SelectionMerge 91 None Store 80(_mat4x3) 81
BranchConditional 89 90 91 86: 78 Load 80(_mat4x3)
90: Label 87: 83 Transpose 86
92: 2 FunctionCall 6(doSomething() Store 85(_mat3x4) 87
Branch 91 88: 45 Load 47(rayQuery)
RayQueryConfirmIntersectionKHR 88
90: 67(bool) RayQueryGetIntersectionFrontFaceKHR 47(rayQuery) 23
SelectionMerge 92 None
BranchConditional 90 91 92
91: Label 91: Label
94: 93(fvec2) RayQueryGetIntersectionBarycentricsKHR 45(rayQuery) 23 93: 2 FunctionCall 6(doSomething()
95: 8(float) CompositeExtract 94 0 Branch 92
96: 66(bool) FOrdEqual 95 27 92: Label
SelectionMerge 98 None 95: 94(fvec2) RayQueryGetIntersectionBarycentricsKHR 47(rayQuery) 23
BranchConditional 96 97 98 96: 8(float) CompositeExtract 95 0
97: Label 97: 67(bool) FOrdEqual 96 27
99: 2 FunctionCall 6(doSomething() SelectionMerge 99 None
Branch 98 BranchConditional 97 98 99
98: Label 98: Label
100: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 45(rayQuery) 23 100: 2 FunctionCall 6(doSomething()
101: 66(bool) SGreaterThan 100 19 Branch 99
SelectionMerge 103 None 99: Label
BranchConditional 101 102 103 101: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 47(rayQuery) 23
102: Label 102: 67(bool) SGreaterThan 101 19
104: 2 FunctionCall 6(doSomething() SelectionMerge 104 None
Branch 103 BranchConditional 102 103 104
103: Label 103: Label
105: 18(int) RayQueryGetIntersectionInstanceIdKHR 45(rayQuery) 23 105: 2 FunctionCall 6(doSomething()
106: 66(bool) SGreaterThan 105 19 Branch 104
SelectionMerge 108 None 104: Label
BranchConditional 106 107 108 106: 18(int) RayQueryGetIntersectionInstanceIdKHR 47(rayQuery) 23
107: Label 107: 67(bool) SGreaterThan 106 19
109: 2 FunctionCall 6(doSomething() SelectionMerge 109 None
Branch 108 BranchConditional 107 108 109
108: Label 108: Label
110: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 45(rayQuery) 23 110: 2 FunctionCall 6(doSomething()
111: 8(float) CompositeExtract 110 0 Branch 109
112: 66(bool) FOrdGreaterThan 111 27 109: Label
SelectionMerge 114 None 111: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 47(rayQuery) 23
BranchConditional 112 113 114 112: 8(float) CompositeExtract 111 0
113: Label 113: 67(bool) FOrdGreaterThan 112 27
115: 2 FunctionCall 6(doSomething() SelectionMerge 115 None
Branch 114 BranchConditional 113 114 115
114: Label 114: Label
116: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 45(rayQuery) 23 116: 2 FunctionCall 6(doSomething()
117: 8(float) CompositeExtract 116 0 Branch 115
118: 66(bool) FOrdGreaterThan 117 27 115: Label
SelectionMerge 120 None 117: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 47(rayQuery) 23
BranchConditional 118 119 120 118: 8(float) CompositeExtract 117 0
119: Label 119: 67(bool) FOrdGreaterThan 118 27
121: 2 FunctionCall 6(doSomething() SelectionMerge 121 None
Branch 120 BranchConditional 119 120 121
120: Label 120: Label
122: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 45(rayQuery) 23 122: 2 FunctionCall 6(doSomething()
123: 66(bool) SGreaterThan 122 19 Branch 121
SelectionMerge 125 None 121: Label
BranchConditional 123 124 125 123: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 47(rayQuery) 23
124: Label 124: 67(bool) SGreaterThan 123 19
126: 2 FunctionCall 6(doSomething() SelectionMerge 126 None
Branch 125 BranchConditional 124 125 126
125: Label 125: Label
127: 8(float) RayQueryGetIntersectionTKHR 45(rayQuery) 23 127: 2 FunctionCall 6(doSomething()
128: 66(bool) FOrdGreaterThan 127 27 Branch 126
SelectionMerge 130 None 126: Label
BranchConditional 128 129 130 128: 8(float) RayQueryGetIntersectionTKHR 47(rayQuery) 23
129: Label 129: 67(bool) FOrdGreaterThan 128 27
131: 2 FunctionCall 6(doSomething() SelectionMerge 131 None
Branch 130 BranchConditional 129 130 131
130: Label 130: Label
132: 18(int) RayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR 45(rayQuery) 23 132: 2 FunctionCall 6(doSomething()
133: 66(bool) UGreaterThan 132 20 Branch 131
SelectionMerge 135 None 131: Label
BranchConditional 133 134 135 133: 18(int) RayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR 47(rayQuery) 23
134: Label 134: 67(bool) UGreaterThan 133 20
136: 2 FunctionCall 6(doSomething() SelectionMerge 136 None
Branch 135 BranchConditional 134 135 136
135: Label 135: Label
Branch 75 137: 2 FunctionCall 6(doSomething()
74: Label Branch 136
138: 77 RayQueryGetIntersectionObjectToWorldKHR 45(rayQuery) 19 136: Label
Store 79(_mat4x3) 138 Branch 76
139: 77 Load 79(_mat4x3)
140: 82 Transpose 139
Store 84(_mat3x4) 140
141: 43 Load 45(rayQuery)
142: 66(bool) RayQueryGetIntersectionCandidateAABBOpaqueKHR 141
SelectionMerge 144 None
BranchConditional 142 143 144
143: Label
145: 2 FunctionCall 6(doSomething()
Branch 144
144: Label
Store 146(t) 147
148: 8(float) Load 146(t)
RayQueryGenerateIntersectionKHR 45(rayQuery) 148
149: 43 Load 45(rayQuery)
RayQueryTerminateKHR 149
Branch 75
75: Label 75: Label
Branch 63 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 63: Label
Branch 60 153: 35(ptr) AccessChain 85(_mat3x4) 19 20
62: Label 154: 8(float) Load 153
152: 35(ptr) AccessChain 84(_mat3x4) 19 20 155: 35(ptr) AccessChain 80(_mat4x3) 19 20
153: 8(float) Load 152 156: 8(float) Load 155
154: 35(ptr) AccessChain 79(_mat4x3) 19 20 157: 67(bool) FOrdEqual 154 156
155: 8(float) Load 154 SelectionMerge 159 None
156: 66(bool) FOrdEqual 153 155 BranchConditional 157 158 159
SelectionMerge 158 None
BranchConditional 156 157 158
157: Label
159: 2 FunctionCall 6(doSomething()
Branch 158
158: Label 158: Label
161: 14(int) RayQueryGetIntersectionTypeKHR 45(rayQuery) 23 160: 2 FunctionCall 6(doSomething()
Store 160(committedStatus) 161 Branch 159
162: 14(int) Load 160(committedStatus) 159: Label
SelectionMerge 166 None 162: 14(int) RayQueryGetIntersectionTypeKHR 47(rayQuery) 23
Switch 162 166 Store 161(committedStatus) 162
case 0: 163 163: 14(int) Load 161(committedStatus)
case 1: 164 SelectionMerge 167 None
case 2: 165 Switch 163 167
163: Label case 0: 164
167: 77 RayQueryGetIntersectionWorldToObjectKHR 45(rayQuery) 19 case 1: 165
Store 79(_mat4x3) 167 case 2: 166
168: 77 Load 79(_mat4x3)
169: 82 Transpose 168
Store 84(_mat3x4) 169
Branch 166
164: Label 164: Label
171: 77 RayQueryGetIntersectionWorldToObjectKHR 45(rayQuery) 23 168: 78 RayQueryGetIntersectionWorldToObjectKHR 47(rayQuery) 19
Store 79(_mat4x3) 171 Store 80(_mat4x3) 168
172: 77 Load 79(_mat4x3) 169: 78 Load 80(_mat4x3)
173: 82 Transpose 172 170: 83 Transpose 169
Store 84(_mat3x4) 173 Store 85(_mat3x4) 170
174: 66(bool) RayQueryGetIntersectionFrontFaceKHR 45(rayQuery) 23 Branch 167
SelectionMerge 176 None 165: Label
BranchConditional 174 175 176 172: 78 RayQueryGetIntersectionWorldToObjectKHR 47(rayQuery) 23
175: Label Store 80(_mat4x3) 172
177: 2 FunctionCall 6(doSomething() 173: 78 Load 80(_mat4x3)
Branch 176 174: 83 Transpose 173
Store 85(_mat3x4) 174
175: 67(bool) RayQueryGetIntersectionFrontFaceKHR 47(rayQuery) 23
SelectionMerge 177 None
BranchConditional 175 176 177
176: Label 176: Label
178: 93(fvec2) RayQueryGetIntersectionBarycentricsKHR 45(rayQuery) 23 178: 2 FunctionCall 6(doSomething()
180: 8(float) CompositeExtract 178 1 Branch 177
181: 66(bool) FOrdEqual 180 27 177: Label
SelectionMerge 183 None 179: 94(fvec2) RayQueryGetIntersectionBarycentricsKHR 47(rayQuery) 23
BranchConditional 181 182 183 181: 8(float) CompositeExtract 179 1
182: Label 182: 67(bool) FOrdEqual 181 27
184: 2 FunctionCall 6(doSomething() SelectionMerge 184 None
Branch 183 BranchConditional 182 183 184
183: Label 183: Label
Branch 166 185: 2 FunctionCall 6(doSomething()
165: Label Branch 184
186: 18(int) RayQueryGetIntersectionGeometryIndexKHR 45(rayQuery) 23 184: Label
187: 66(bool) SGreaterThan 186 19 Branch 167
SelectionMerge 189 None 166: Label
BranchConditional 187 188 189 187: 18(int) RayQueryGetIntersectionGeometryIndexKHR 47(rayQuery) 23
188: Label 188: 67(bool) SGreaterThan 187 19
190: 2 FunctionCall 6(doSomething() SelectionMerge 190 None
Branch 189 BranchConditional 188 189 190
189: Label 189: Label
191: 18(int) RayQueryGetIntersectionInstanceIdKHR 45(rayQuery) 23 191: 2 FunctionCall 6(doSomething()
192: 66(bool) SGreaterThan 191 19 Branch 190
SelectionMerge 194 None 190: Label
BranchConditional 192 193 194 192: 18(int) RayQueryGetIntersectionInstanceIdKHR 47(rayQuery) 23
193: Label 193: 67(bool) SGreaterThan 192 19
195: 2 FunctionCall 6(doSomething() SelectionMerge 195 None
Branch 194 BranchConditional 193 194 195
194: Label 194: Label
196: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 45(rayQuery) 23 196: 2 FunctionCall 6(doSomething()
197: 66(bool) SGreaterThan 196 19 Branch 195
SelectionMerge 199 None 195: Label
BranchConditional 197 198 199 197: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 47(rayQuery) 23
198: Label 198: 67(bool) SGreaterThan 197 19
200: 2 FunctionCall 6(doSomething() SelectionMerge 200 None
Branch 199 BranchConditional 198 199 200
199: Label 199: Label
201: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 45(rayQuery) 23 201: 2 FunctionCall 6(doSomething()
203: 8(float) CompositeExtract 201 2 Branch 200
204: 66(bool) FOrdGreaterThan 203 27 200: Label
SelectionMerge 206 None 202: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 47(rayQuery) 23
BranchConditional 204 205 206 204: 8(float) CompositeExtract 202 2
205: Label 205: 67(bool) FOrdGreaterThan 204 27
207: 2 FunctionCall 6(doSomething() SelectionMerge 207 None
Branch 206 BranchConditional 205 206 207
206: Label 206: Label
208: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 45(rayQuery) 23 208: 2 FunctionCall 6(doSomething()
209: 8(float) CompositeExtract 208 0 Branch 207
210: 66(bool) FOrdGreaterThan 209 27 207: Label
SelectionMerge 212 None 209: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 47(rayQuery) 23
BranchConditional 210 211 212 210: 8(float) CompositeExtract 209 0
211: Label 211: 67(bool) FOrdGreaterThan 210 27
213: 2 FunctionCall 6(doSomething() SelectionMerge 213 None
Branch 212 BranchConditional 211 212 213
212: Label 212: Label
214: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 45(rayQuery) 23 214: 2 FunctionCall 6(doSomething()
215: 66(bool) SGreaterThan 214 19 Branch 213
SelectionMerge 217 None 213: Label
BranchConditional 215 216 217 215: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 47(rayQuery) 23
216: Label 216: 67(bool) SGreaterThan 215 19
218: 2 FunctionCall 6(doSomething() SelectionMerge 218 None
Branch 217 BranchConditional 216 217 218
217: Label 217: Label
219: 8(float) RayQueryGetIntersectionTKHR 45(rayQuery) 23 219: 2 FunctionCall 6(doSomething()
220: 66(bool) FOrdGreaterThan 219 27 Branch 218
SelectionMerge 222 None 218: Label
BranchConditional 220 221 222 220: 8(float) RayQueryGetIntersectionTKHR 47(rayQuery) 23
221: Label 221: 67(bool) FOrdGreaterThan 220 27
223: 2 FunctionCall 6(doSomething() SelectionMerge 223 None
Branch 222 BranchConditional 221 222 223
222: Label 222: Label
Branch 166 224: 2 FunctionCall 6(doSomething()
166: Label Branch 223
226: 35(ptr) AccessChain 84(_mat3x4) 19 20 223: Label
227: 8(float) Load 226 Branch 167
228: 35(ptr) AccessChain 79(_mat4x3) 19 20 167: Label
229: 8(float) Load 228 227: 35(ptr) AccessChain 85(_mat3x4) 19 20
230: 66(bool) FOrdEqual 227 229 228: 8(float) Load 227
SelectionMerge 232 None 229: 35(ptr) AccessChain 80(_mat4x3) 19 20
BranchConditional 230 231 232 230: 8(float) Load 229
231: Label 231: 67(bool) FOrdEqual 228 230
233: 2 FunctionCall 6(doSomething() SelectionMerge 233 None
Branch 232 BranchConditional 231 232 233
232: Label 232: Label
234: 43 Load 45(rayQuery) 234: 2 FunctionCall 6(doSomething()
235: 14(int) RayQueryGetRayFlagsKHR 234 Branch 233
236: 66(bool) UGreaterThan 235 20 233: Label
SelectionMerge 238 None 235: 45 Load 47(rayQuery)
BranchConditional 236 237 238 236: 14(int) RayQueryGetRayFlagsKHR 235
237: Label 237: 67(bool) UGreaterThan 236 20
239: 2 FunctionCall 6(doSomething() SelectionMerge 239 None
Branch 238 BranchConditional 237 238 239
238: Label 238: Label
240: 43 Load 45(rayQuery) 240: 2 FunctionCall 6(doSomething()
241: 8(float) RayQueryGetRayTMinKHR 240 Branch 239
242: 66(bool) FOrdGreaterThan 241 27 239: Label
SelectionMerge 244 None 241: 45 Load 47(rayQuery)
BranchConditional 242 243 244 242: 8(float) RayQueryGetRayTMinKHR 241
243: Label 243: 67(bool) FOrdGreaterThan 242 27
245: 2 FunctionCall 6(doSomething() SelectionMerge 245 None
Branch 244 BranchConditional 243 244 245
244: Label 244: Label
247: 43 Load 45(rayQuery) 246: 2 FunctionCall 6(doSomething()
248: 9(fvec3) RayQueryGetWorldRayOriginKHR 247 Branch 245
Store 246(o) 248 245: Label
250: 43 Load 45(rayQuery) 248: 45 Load 47(rayQuery)
251: 9(fvec3) RayQueryGetWorldRayDirectionKHR 250 249: 9(fvec3) RayQueryGetWorldRayOriginKHR 248
Store 249(d) 251 Store 247(o) 249
252: 35(ptr) AccessChain 246(o) 20 251: 45 Load 47(rayQuery)
253: 8(float) Load 252 252: 9(fvec3) RayQueryGetWorldRayDirectionKHR 251
254: 35(ptr) AccessChain 249(d) 202 Store 250(d) 252
255: 8(float) Load 254 253: 35(ptr) AccessChain 247(o) 20
256: 66(bool) FOrdEqual 253 255 254: 8(float) Load 253
SelectionMerge 258 None 255: 35(ptr) AccessChain 250(d) 203
BranchConditional 256 257 258 256: 8(float) Load 255
257: Label 257: 67(bool) FOrdEqual 254 256
259: 2 FunctionCall 6(doSomething() SelectionMerge 259 None
Branch 258 BranchConditional 257 258 259
258: Label 258: Label
260: 2 FunctionCall 6(doSomething()
Branch 259
259: Label
Return Return
FunctionEnd FunctionEnd
6(doSomething(): 2 Function None 3 6(doSomething(): 2 Function None 3
......
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 ...@@ -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 ...@@ -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
64: Label
65: 43 Load 45(rayQuery)
67: 66(bool) RayQueryProceedKHR 65
BranchConditional 67 61 62
61: Label 61: Label
71: 14(int) RayQueryGetIntersectionTypeKHR 45(rayQuery) 19 LoopMerge 63 64 None
Store 69(candidateType) 71 Branch 65
72: 14(int) Load 69(candidateType) 65: Label
SelectionMerge 75 None 66: 45 Load 47(rayQuery)
Switch 72 75 68: 67(bool) RayQueryProceedKHR 66
case 0: 73 BranchConditional 68 62 63
case 1: 74 62: Label
73: Label 72: 14(int) RayQueryGetIntersectionTypeKHR 47(rayQuery) 19
76: 43 Load 45(rayQuery) Store 70(candidateType) 72
RayQueryTerminateKHR 76 73: 14(int) Load 70(candidateType)
80: 77 RayQueryGetIntersectionObjectToWorldKHR 45(rayQuery) 19 SelectionMerge 76 None
Store 79(_mat4x3) 80 Switch 73 76
85: 77 Load 79(_mat4x3) case 0: 74
86: 82 Transpose 85 case 1: 75
Store 84(_mat3x4) 86 74: Label
87: 43 Load 45(rayQuery) 77: 45 Load 47(rayQuery)
RayQueryConfirmIntersectionKHR 87 RayQueryTerminateKHR 77
89: 66(bool) RayQueryGetIntersectionFrontFaceKHR 45(rayQuery) 23 81: 78 RayQueryGetIntersectionObjectToWorldKHR 47(rayQuery) 19
SelectionMerge 91 None Store 80(_mat4x3) 81
BranchConditional 89 90 91 86: 78 Load 80(_mat4x3)
90: Label 87: 83 Transpose 86
92: 2 FunctionCall 6(doSomething() Store 85(_mat3x4) 87
Branch 91 88: 45 Load 47(rayQuery)
RayQueryConfirmIntersectionKHR 88
90: 67(bool) RayQueryGetIntersectionFrontFaceKHR 47(rayQuery) 23
SelectionMerge 92 None
BranchConditional 90 91 92
91: Label 91: Label
94: 93(fvec2) RayQueryGetIntersectionBarycentricsKHR 45(rayQuery) 23 93: 2 FunctionCall 6(doSomething()
95: 8(float) CompositeExtract 94 0 Branch 92
96: 66(bool) FOrdEqual 95 27 92: Label
SelectionMerge 98 None 95: 94(fvec2) RayQueryGetIntersectionBarycentricsKHR 47(rayQuery) 23
BranchConditional 96 97 98 96: 8(float) CompositeExtract 95 0
97: Label 97: 67(bool) FOrdEqual 96 27
99: 2 FunctionCall 6(doSomething() SelectionMerge 99 None
Branch 98 BranchConditional 97 98 99
98: Label 98: Label
100: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 45(rayQuery) 23 100: 2 FunctionCall 6(doSomething()
101: 66(bool) SGreaterThan 100 19 Branch 99
SelectionMerge 103 None 99: Label
BranchConditional 101 102 103 101: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 47(rayQuery) 23
102: Label 102: 67(bool) SGreaterThan 101 19
104: 2 FunctionCall 6(doSomething() SelectionMerge 104 None
Branch 103 BranchConditional 102 103 104
103: Label 103: Label
105: 18(int) RayQueryGetIntersectionInstanceIdKHR 45(rayQuery) 23 105: 2 FunctionCall 6(doSomething()
106: 66(bool) SGreaterThan 105 19 Branch 104
SelectionMerge 108 None 104: Label
BranchConditional 106 107 108 106: 18(int) RayQueryGetIntersectionInstanceIdKHR 47(rayQuery) 23
107: Label 107: 67(bool) SGreaterThan 106 19
109: 2 FunctionCall 6(doSomething() SelectionMerge 109 None
Branch 108 BranchConditional 107 108 109
108: Label 108: Label
110: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 45(rayQuery) 23 110: 2 FunctionCall 6(doSomething()
111: 8(float) CompositeExtract 110 0 Branch 109
112: 66(bool) FOrdGreaterThan 111 27 109: Label
SelectionMerge 114 None 111: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 47(rayQuery) 23
BranchConditional 112 113 114 112: 8(float) CompositeExtract 111 0
113: Label 113: 67(bool) FOrdGreaterThan 112 27
115: 2 FunctionCall 6(doSomething() SelectionMerge 115 None
Branch 114 BranchConditional 113 114 115
114: Label 114: Label
116: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 45(rayQuery) 23 116: 2 FunctionCall 6(doSomething()
117: 8(float) CompositeExtract 116 0 Branch 115
118: 66(bool) FOrdGreaterThan 117 27 115: Label
SelectionMerge 120 None 117: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 47(rayQuery) 23
BranchConditional 118 119 120 118: 8(float) CompositeExtract 117 0
119: Label 119: 67(bool) FOrdGreaterThan 118 27
121: 2 FunctionCall 6(doSomething() SelectionMerge 121 None
Branch 120 BranchConditional 119 120 121
120: Label 120: Label
122: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 45(rayQuery) 23 122: 2 FunctionCall 6(doSomething()
123: 66(bool) SGreaterThan 122 19 Branch 121
SelectionMerge 125 None 121: Label
BranchConditional 123 124 125 123: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 47(rayQuery) 23
124: Label 124: 67(bool) SGreaterThan 123 19
126: 2 FunctionCall 6(doSomething() SelectionMerge 126 None
Branch 125 BranchConditional 124 125 126
125: Label 125: Label
127: 8(float) RayQueryGetIntersectionTKHR 45(rayQuery) 23 127: 2 FunctionCall 6(doSomething()
128: 66(bool) FOrdGreaterThan 127 27 Branch 126
SelectionMerge 130 None 126: Label
BranchConditional 128 129 130 128: 8(float) RayQueryGetIntersectionTKHR 47(rayQuery) 23
129: Label 129: 67(bool) FOrdGreaterThan 128 27
131: 2 FunctionCall 6(doSomething() SelectionMerge 131 None
Branch 130 BranchConditional 129 130 131
130: Label 130: Label
132: 18(int) RayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR 45(rayQuery) 23 132: 2 FunctionCall 6(doSomething()
133: 66(bool) UGreaterThan 132 20 Branch 131
SelectionMerge 135 None 131: Label
BranchConditional 133 134 135 133: 18(int) RayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR 47(rayQuery) 23
134: Label 134: 67(bool) UGreaterThan 133 20
136: 2 FunctionCall 6(doSomething() SelectionMerge 136 None
Branch 135 BranchConditional 134 135 136
135: Label 135: Label
Branch 75 137: 2 FunctionCall 6(doSomething()
74: Label Branch 136
138: 77 RayQueryGetIntersectionObjectToWorldKHR 45(rayQuery) 19 136: Label
Store 79(_mat4x3) 138 Branch 76
139: 77 Load 79(_mat4x3)
140: 82 Transpose 139
Store 84(_mat3x4) 140
141: 43 Load 45(rayQuery)
142: 66(bool) RayQueryGetIntersectionCandidateAABBOpaqueKHR 141
SelectionMerge 144 None
BranchConditional 142 143 144
143: Label
145: 2 FunctionCall 6(doSomething()
Branch 144
144: Label
Store 146(t) 147
148: 8(float) Load 146(t)
RayQueryGenerateIntersectionKHR 45(rayQuery) 148
149: 43 Load 45(rayQuery)
RayQueryTerminateKHR 149
Branch 75
75: Label 75: Label
Branch 63 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 63: Label
Branch 60 153: 35(ptr) AccessChain 85(_mat3x4) 19 20
62: Label 154: 8(float) Load 153
152: 35(ptr) AccessChain 84(_mat3x4) 19 20 155: 35(ptr) AccessChain 80(_mat4x3) 19 20
153: 8(float) Load 152 156: 8(float) Load 155
154: 35(ptr) AccessChain 79(_mat4x3) 19 20 157: 67(bool) FOrdEqual 154 156
155: 8(float) Load 154 SelectionMerge 159 None
156: 66(bool) FOrdEqual 153 155 BranchConditional 157 158 159
SelectionMerge 158 None
BranchConditional 156 157 158
157: Label
159: 2 FunctionCall 6(doSomething()
Branch 158
158: Label 158: Label
161: 14(int) RayQueryGetIntersectionTypeKHR 45(rayQuery) 23 160: 2 FunctionCall 6(doSomething()
Store 160(committedStatus) 161 Branch 159
162: 14(int) Load 160(committedStatus) 159: Label
SelectionMerge 166 None 162: 14(int) RayQueryGetIntersectionTypeKHR 47(rayQuery) 23
Switch 162 166 Store 161(committedStatus) 162
case 0: 163 163: 14(int) Load 161(committedStatus)
case 1: 164 SelectionMerge 167 None
case 2: 165 Switch 163 167
163: Label case 0: 164
167: 77 RayQueryGetIntersectionWorldToObjectKHR 45(rayQuery) 19 case 1: 165
Store 79(_mat4x3) 167 case 2: 166
168: 77 Load 79(_mat4x3)
169: 82 Transpose 168
Store 84(_mat3x4) 169
Branch 166
164: Label 164: Label
171: 77 RayQueryGetIntersectionWorldToObjectKHR 45(rayQuery) 23 168: 78 RayQueryGetIntersectionWorldToObjectKHR 47(rayQuery) 19
Store 79(_mat4x3) 171 Store 80(_mat4x3) 168
172: 77 Load 79(_mat4x3) 169: 78 Load 80(_mat4x3)
173: 82 Transpose 172 170: 83 Transpose 169
Store 84(_mat3x4) 173 Store 85(_mat3x4) 170
174: 66(bool) RayQueryGetIntersectionFrontFaceKHR 45(rayQuery) 23 Branch 167
SelectionMerge 176 None 165: Label
BranchConditional 174 175 176 172: 78 RayQueryGetIntersectionWorldToObjectKHR 47(rayQuery) 23
175: Label Store 80(_mat4x3) 172
177: 2 FunctionCall 6(doSomething() 173: 78 Load 80(_mat4x3)
Branch 176 174: 83 Transpose 173
Store 85(_mat3x4) 174
175: 67(bool) RayQueryGetIntersectionFrontFaceKHR 47(rayQuery) 23
SelectionMerge 177 None
BranchConditional 175 176 177
176: Label 176: Label
178: 93(fvec2) RayQueryGetIntersectionBarycentricsKHR 45(rayQuery) 23 178: 2 FunctionCall 6(doSomething()
180: 8(float) CompositeExtract 178 1 Branch 177
181: 66(bool) FOrdEqual 180 27 177: Label
SelectionMerge 183 None 179: 94(fvec2) RayQueryGetIntersectionBarycentricsKHR 47(rayQuery) 23
BranchConditional 181 182 183 181: 8(float) CompositeExtract 179 1
182: Label 182: 67(bool) FOrdEqual 181 27
184: 2 FunctionCall 6(doSomething() SelectionMerge 184 None
Branch 183 BranchConditional 182 183 184
183: Label 183: Label
Branch 166 185: 2 FunctionCall 6(doSomething()
165: Label Branch 184
186: 18(int) RayQueryGetIntersectionGeometryIndexKHR 45(rayQuery) 23 184: Label
187: 66(bool) SGreaterThan 186 19 Branch 167
SelectionMerge 189 None 166: Label
BranchConditional 187 188 189 187: 18(int) RayQueryGetIntersectionGeometryIndexKHR 47(rayQuery) 23
188: Label 188: 67(bool) SGreaterThan 187 19
190: 2 FunctionCall 6(doSomething() SelectionMerge 190 None
Branch 189 BranchConditional 188 189 190
189: Label 189: Label
191: 18(int) RayQueryGetIntersectionInstanceIdKHR 45(rayQuery) 23 191: 2 FunctionCall 6(doSomething()
192: 66(bool) SGreaterThan 191 19 Branch 190
SelectionMerge 194 None 190: Label
BranchConditional 192 193 194 192: 18(int) RayQueryGetIntersectionInstanceIdKHR 47(rayQuery) 23
193: Label 193: 67(bool) SGreaterThan 192 19
195: 2 FunctionCall 6(doSomething() SelectionMerge 195 None
Branch 194 BranchConditional 193 194 195
194: Label 194: Label
196: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 45(rayQuery) 23 196: 2 FunctionCall 6(doSomething()
197: 66(bool) SGreaterThan 196 19 Branch 195
SelectionMerge 199 None 195: Label
BranchConditional 197 198 199 197: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 47(rayQuery) 23
198: Label 198: 67(bool) SGreaterThan 197 19
200: 2 FunctionCall 6(doSomething() SelectionMerge 200 None
Branch 199 BranchConditional 198 199 200
199: Label 199: Label
201: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 45(rayQuery) 23 201: 2 FunctionCall 6(doSomething()
203: 8(float) CompositeExtract 201 2 Branch 200
204: 66(bool) FOrdGreaterThan 203 27 200: Label
SelectionMerge 206 None 202: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 47(rayQuery) 23
BranchConditional 204 205 206 204: 8(float) CompositeExtract 202 2
205: Label 205: 67(bool) FOrdGreaterThan 204 27
207: 2 FunctionCall 6(doSomething() SelectionMerge 207 None
Branch 206 BranchConditional 205 206 207
206: Label 206: Label
208: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 45(rayQuery) 23 208: 2 FunctionCall 6(doSomething()
209: 8(float) CompositeExtract 208 0 Branch 207
210: 66(bool) FOrdGreaterThan 209 27 207: Label
SelectionMerge 212 None 209: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 47(rayQuery) 23
BranchConditional 210 211 212 210: 8(float) CompositeExtract 209 0
211: Label 211: 67(bool) FOrdGreaterThan 210 27
213: 2 FunctionCall 6(doSomething() SelectionMerge 213 None
Branch 212 BranchConditional 211 212 213
212: Label 212: Label
214: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 45(rayQuery) 23 214: 2 FunctionCall 6(doSomething()
215: 66(bool) SGreaterThan 214 19 Branch 213
SelectionMerge 217 None 213: Label
BranchConditional 215 216 217 215: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 47(rayQuery) 23
216: Label 216: 67(bool) SGreaterThan 215 19
218: 2 FunctionCall 6(doSomething() SelectionMerge 218 None
Branch 217 BranchConditional 216 217 218
217: Label 217: Label
219: 8(float) RayQueryGetIntersectionTKHR 45(rayQuery) 23 219: 2 FunctionCall 6(doSomething()
220: 66(bool) FOrdGreaterThan 219 27 Branch 218
SelectionMerge 222 None 218: Label
BranchConditional 220 221 222 220: 8(float) RayQueryGetIntersectionTKHR 47(rayQuery) 23
221: Label 221: 67(bool) FOrdGreaterThan 220 27
223: 2 FunctionCall 6(doSomething() SelectionMerge 223 None
Branch 222 BranchConditional 221 222 223
222: Label 222: Label
Branch 166 224: 2 FunctionCall 6(doSomething()
166: Label Branch 223
226: 35(ptr) AccessChain 84(_mat3x4) 19 20 223: Label
227: 8(float) Load 226 Branch 167
228: 35(ptr) AccessChain 79(_mat4x3) 19 20 167: Label
229: 8(float) Load 228 227: 35(ptr) AccessChain 85(_mat3x4) 19 20
230: 66(bool) FOrdEqual 227 229 228: 8(float) Load 227
SelectionMerge 232 None 229: 35(ptr) AccessChain 80(_mat4x3) 19 20
BranchConditional 230 231 232 230: 8(float) Load 229
231: Label 231: 67(bool) FOrdEqual 228 230
233: 2 FunctionCall 6(doSomething() SelectionMerge 233 None
Branch 232 BranchConditional 231 232 233
232: Label 232: Label
234: 43 Load 45(rayQuery) 234: 2 FunctionCall 6(doSomething()
235: 14(int) RayQueryGetRayFlagsKHR 234 Branch 233
236: 66(bool) UGreaterThan 235 20 233: Label
SelectionMerge 238 None 235: 45 Load 47(rayQuery)
BranchConditional 236 237 238 236: 14(int) RayQueryGetRayFlagsKHR 235
237: Label 237: 67(bool) UGreaterThan 236 20
239: 2 FunctionCall 6(doSomething() SelectionMerge 239 None
Branch 238 BranchConditional 237 238 239
238: Label 238: Label
240: 43 Load 45(rayQuery) 240: 2 FunctionCall 6(doSomething()
241: 8(float) RayQueryGetRayTMinKHR 240 Branch 239
242: 66(bool) FOrdGreaterThan 241 27 239: Label
SelectionMerge 244 None 241: 45 Load 47(rayQuery)
BranchConditional 242 243 244 242: 8(float) RayQueryGetRayTMinKHR 241
243: Label 243: 67(bool) FOrdGreaterThan 242 27
245: 2 FunctionCall 6(doSomething() SelectionMerge 245 None
Branch 244 BranchConditional 243 244 245
244: Label 244: Label
247: 43 Load 45(rayQuery) 246: 2 FunctionCall 6(doSomething()
248: 9(fvec3) RayQueryGetWorldRayOriginKHR 247 Branch 245
Store 246(o) 248 245: Label
250: 43 Load 45(rayQuery) 248: 45 Load 47(rayQuery)
251: 9(fvec3) RayQueryGetWorldRayDirectionKHR 250 249: 9(fvec3) RayQueryGetWorldRayOriginKHR 248
Store 249(d) 251 Store 247(o) 249
252: 35(ptr) AccessChain 246(o) 20 251: 45 Load 47(rayQuery)
253: 8(float) Load 252 252: 9(fvec3) RayQueryGetWorldRayDirectionKHR 251
254: 35(ptr) AccessChain 249(d) 202 Store 250(d) 252
255: 8(float) Load 254 253: 35(ptr) AccessChain 247(o) 20
256: 66(bool) FOrdEqual 253 255 254: 8(float) Load 253
SelectionMerge 258 None 255: 35(ptr) AccessChain 250(d) 203
BranchConditional 256 257 258 256: 8(float) Load 255
257: Label 257: 67(bool) FOrdEqual 254 256
259: 2 FunctionCall 6(doSomething() SelectionMerge 259 None
Branch 258 BranchConditional 257 258 259
258: Label 258: Label
260: 2 FunctionCall 6(doSomething()
Branch 259
259: Label
Return Return
FunctionEnd FunctionEnd
6(doSomething(): 2 Function None 3 6(doSomething(): 2 Function None 3
......
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 ...@@ -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 ...@@ -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 ...@@ -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
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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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
......
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 ...@@ -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 ...@@ -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 ...@@ -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
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 ...@@ -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 ...@@ -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 ...@@ -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
...@@ -39,7 +39,7 @@ void main() ...@@ -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;
......
...@@ -37,9 +37,9 @@ Ray makeRayDesc() ...@@ -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;
......
...@@ -37,9 +37,9 @@ Ray makeRayDesc() ...@@ -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;
......
...@@ -37,9 +37,9 @@ Ray makeRayDesc() ...@@ -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;
......
...@@ -20,7 +20,7 @@ uint launchIndex() ...@@ -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() ...@@ -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);
} }
...@@ -39,7 +39,7 @@ void main() ...@@ -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;
......
...@@ -41,13 +41,13 @@ void main() ...@@ -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);
} }
...@@ -20,7 +20,7 @@ uint launchIndex() ...@@ -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() ...@@ -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);
} }
...@@ -20,7 +20,7 @@ uint launchIndex() ...@@ -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() ...@@ -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);
} }
...@@ -5573,24 +5573,14 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV ...@@ -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)) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment