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