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