rayQuery-allOps.comp
// Module Version 10000
// Generated by (magic number): 80008
-// Id's are bound by 265
+// Id's are bound by 266
Capability Shader
Capability RayQueryProvisionalKHR
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
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
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
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
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
rayQuery-allOps.rgen
// Module Version 10000
// Generated by (magic number): 80008
-// Id's are bound by 265
+// Id's are bound by 266
Capability RayQueryProvisionalKHR
Capability RayTracingNV
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
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
rayQuery-array-2d-dynamic.rgen
// Module Version 10000
// Generated by (magic number): 80008
-// Id's are bound by 126
+// Id's are bound by 128
Capability RayQueryProvisionalKHR
Capability RayTracingNV
Name 23 "gl_LaunchIDNV"
Name 28 "gl_LaunchSizeNV"
Name 50 "rtas"
- Name 68 "index"
- Name 70 "ray"
- Name 71 "Ray"
- MemberName 71(Ray) 0 "pos"
- MemberName 71(Ray) 1 "tmin"
- MemberName 71(Ray) 2 "dir"
- MemberName 71(Ray) 3 "tmax"
- Name 73 "Rays"
- MemberName 73(Rays) 0 "rays"
- Name 75 ""
- Name 90 "rayQuery"
- Name 92 "param"
- Name 95 "param"
- Name 118 "C"
- Name 120 "param"
- Name 123 "param"
+ Name 69 "index"
+ Name 71 "ray"
+ Name 72 "Ray"
+ MemberName 72(Ray) 0 "pos"
+ MemberName 72(Ray) 1 "tmin"
+ MemberName 72(Ray) 2 "dir"
+ MemberName 72(Ray) 3 "tmax"
+ Name 74 "Rays"
+ MemberName 74(Rays) 0 "rays"
+ Name 76 ""
+ Name 91 "rayQuery"
+ Name 93 "param"
+ Name 96 "param"
+ Name 120 "C"
+ Name 122 "param"
+ Name 125 "param"
Decorate 23(gl_LaunchIDNV) BuiltIn LaunchIdKHR
Decorate 28(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR
Decorate 50(rtas) DescriptorSet 0
Decorate 50(rtas) Binding 0
- MemberDecorate 71(Ray) 0 Offset 0
- MemberDecorate 71(Ray) 1 Offset 12
- MemberDecorate 71(Ray) 2 Offset 16
- MemberDecorate 71(Ray) 3 Offset 28
- Decorate 72 ArrayStride 32
- MemberDecorate 73(Rays) 0 Offset 0
- Decorate 73(Rays) BufferBlock
- Decorate 75 DescriptorSet 0
- Decorate 75 Binding 2
+ MemberDecorate 72(Ray) 0 Offset 0
+ MemberDecorate 72(Ray) 1 Offset 12
+ MemberDecorate 72(Ray) 2 Offset 16
+ MemberDecorate 72(Ray) 3 Offset 28
+ Decorate 73 ArrayStride 32
+ MemberDecorate 74(Rays) 0 Offset 0
+ Decorate 74(Rays) BufferBlock
+ Decorate 76 DescriptorSet 0
+ Decorate 76 Binding 2
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
48: TypeAccelerationStructureKHR
49: TypePointer UniformConstant 48
50(rtas): 49(ptr) Variable UniformConstant
- 52: TypeInt 32 1
- 53: 52(int) Constant 0
- 54: TypePointer Function 13(fvec3)
- 57: 52(int) Constant 1
- 58: TypePointer Function 12(float)
- 61: 52(int) Constant 2
- 64: 52(int) Constant 3
- 67: TypePointer Function 6(int)
- 71(Ray): TypeStruct 13(fvec3) 12(float) 13(fvec3) 12(float)
- 72: TypeRuntimeArray 71(Ray)
- 73(Rays): TypeStruct 72
- 74: TypePointer Uniform 73(Rays)
- 75: 74(ptr) Variable Uniform
- 77: TypePointer Uniform 71(Ray)
- 88: TypeArray 10 24
- 89: TypePointer Function 88
- 117: TypePointer Private 52(int)
- 118(C): 117(ptr) Variable Private
+ 52: 6(int) Constant 16
+ 53: TypeInt 32 1
+ 54: 53(int) Constant 0
+ 55: TypePointer Function 13(fvec3)
+ 58: 53(int) Constant 1
+ 59: TypePointer Function 12(float)
+ 62: 53(int) Constant 2
+ 65: 53(int) Constant 3
+ 68: TypePointer Function 6(int)
+ 72(Ray): TypeStruct 13(fvec3) 12(float) 13(fvec3) 12(float)
+ 73: TypeRuntimeArray 72(Ray)
+ 74(Rays): TypeStruct 73
+ 75: TypePointer Uniform 74(Rays)
+ 76: 75(ptr) Variable Uniform
+ 78: TypePointer Uniform 72(Ray)
+ 89: TypeArray 10 24
+ 90: TypePointer Function 89
+ 110: 6(int) Constant 32
+ 119: TypePointer Private 53(int)
+ 120(C): 119(ptr) Variable Private
4(main): 2 Function None 3
5: Label
- 68(index): 67(ptr) Variable Function
- 70(ray): 15(ptr) Variable Function
- 90(rayQuery): 89(ptr) Variable Function
- 92(param): 11(ptr) Variable Function
- 95(param): 15(ptr) Variable Function
- 120(param): 11(ptr) Variable Function
- 123(param): 15(ptr) Variable Function
- 69: 6(int) FunctionCall 8(launchIndex()
- Store 68(index) 69
- 76: 6(int) Load 68(index)
- 78: 77(ptr) AccessChain 75 53 76
- 79: 71(Ray) Load 78
- 80: 13(fvec3) CompositeExtract 79 0
- 81: 54(ptr) AccessChain 70(ray) 53
- Store 81 80
- 82: 12(float) CompositeExtract 79 1
- 83: 58(ptr) AccessChain 70(ray) 57
- Store 83 82
- 84: 13(fvec3) CompositeExtract 79 2
- 85: 54(ptr) AccessChain 70(ray) 61
- Store 85 84
- 86: 12(float) CompositeExtract 79 3
- 87: 58(ptr) AccessChain 70(ray) 64
- Store 87 86
- 91: 6(int) Load 68(index)
- 93: 11(ptr) AccessChain 90(rayQuery) 53
- 94: 10 Load 93
- Store 92(param) 94
- 96: 77(ptr) AccessChain 75 53 91
- 97: 71(Ray) Load 96
- 98: 13(fvec3) CompositeExtract 97 0
- 99: 54(ptr) AccessChain 95(param) 53
- Store 99 98
- 100: 12(float) CompositeExtract 97 1
- 101: 58(ptr) AccessChain 95(param) 57
- Store 101 100
- 102: 13(fvec3) CompositeExtract 97 2
- 103: 54(ptr) AccessChain 95(param) 61
- Store 103 102
- 104: 12(float) CompositeExtract 97 3
- 105: 58(ptr) AccessChain 95(param) 64
- Store 105 104
- 106: 2 FunctionCall 19(doInitialize(rq1;struct-Ray-vf3-f1-vf3-f11;) 92(param) 95(param)
- 107: 11(ptr) AccessChain 90(rayQuery) 57
- 108: 48 Load 50(rtas)
- 109: 54(ptr) AccessChain 70(ray) 53
- 110: 13(fvec3) Load 109
- 111: 58(ptr) AccessChain 70(ray) 57
- 112: 12(float) Load 111
- 113: 54(ptr) AccessChain 70(ray) 61
- 114: 13(fvec3) Load 113
- 115: 58(ptr) AccessChain 70(ray) 64
- 116: 12(float) Load 115
- RayQueryInitializeKHR 107 108 33 24 110 112 114 116
- 119: 52(int) Load 118(C)
- 121: 11(ptr) AccessChain 90(rayQuery) 119
- 122: 10 Load 121
- Store 120(param) 122
- 124: 14(Ray) Load 70(ray)
- Store 123(param) 124
- 125: 2 FunctionCall 19(doInitialize(rq1;struct-Ray-vf3-f1-vf3-f11;) 120(param) 123(param)
+ 69(index): 68(ptr) Variable Function
+ 71(ray): 15(ptr) Variable Function
+ 91(rayQuery): 90(ptr) Variable Function
+ 93(param): 11(ptr) Variable Function
+ 96(param): 15(ptr) Variable Function
+ 122(param): 11(ptr) Variable Function
+ 125(param): 15(ptr) Variable Function
+ 70: 6(int) FunctionCall 8(launchIndex()
+ Store 69(index) 70
+ 77: 6(int) Load 69(index)
+ 79: 78(ptr) AccessChain 76 54 77
+ 80: 72(Ray) Load 79
+ 81: 13(fvec3) CompositeExtract 80 0
+ 82: 55(ptr) AccessChain 71(ray) 54
+ Store 82 81
+ 83: 12(float) CompositeExtract 80 1
+ 84: 59(ptr) AccessChain 71(ray) 58
+ Store 84 83
+ 85: 13(fvec3) CompositeExtract 80 2
+ 86: 55(ptr) AccessChain 71(ray) 62
+ Store 86 85
+ 87: 12(float) CompositeExtract 80 3
+ 88: 59(ptr) AccessChain 71(ray) 65
+ Store 88 87
+ 92: 6(int) Load 69(index)
+ 94: 11(ptr) AccessChain 91(rayQuery) 54
+ 95: 10 Load 94
+ Store 93(param) 95
+ 97: 78(ptr) AccessChain 76 54 92
+ 98: 72(Ray) Load 97
+ 99: 13(fvec3) CompositeExtract 98 0
+ 100: 55(ptr) AccessChain 96(param) 54
+ Store 100 99
+ 101: 12(float) CompositeExtract 98 1
+ 102: 59(ptr) AccessChain 96(param) 58
+ Store 102 101
+ 103: 13(fvec3) CompositeExtract 98 2
+ 104: 55(ptr) AccessChain 96(param) 62
+ Store 104 103
+ 105: 12(float) CompositeExtract 98 3
+ 106: 59(ptr) AccessChain 96(param) 65
+ Store 106 105
+ 107: 2 FunctionCall 19(doInitialize(rq1;struct-Ray-vf3-f1-vf3-f11;) 93(param) 96(param)
+ 108: 11(ptr) AccessChain 91(rayQuery) 58
+ 109: 48 Load 50(rtas)
+ 111: 55(ptr) AccessChain 71(ray) 54
+ 112: 13(fvec3) Load 111
+ 113: 59(ptr) AccessChain 71(ray) 58
+ 114: 12(float) Load 113
+ 115: 55(ptr) AccessChain 71(ray) 62
+ 116: 13(fvec3) Load 115
+ 117: 59(ptr) AccessChain 71(ray) 65
+ 118: 12(float) Load 117
+ RayQueryInitializeKHR 108 109 33 110 112 114 116 118
+ 121: 53(int) Load 120(C)
+ 123: 11(ptr) AccessChain 91(rayQuery) 121
+ 124: 10 Load 123
+ Store 122(param) 124
+ 126: 14(Ray) Load 71(ray)
+ Store 125(param) 126
+ 127: 2 FunctionCall 19(doInitialize(rq1;struct-Ray-vf3-f1-vf3-f11;) 122(param) 125(param)
Return
FunctionEnd
8(launchIndex(): 6(int) Function None 7
18(ray): 15(ptr) FunctionParameter
20: Label
51: 48 Load 50(rtas)
- 55: 54(ptr) AccessChain 18(ray) 53
- 56: 13(fvec3) Load 55
- 59: 58(ptr) AccessChain 18(ray) 57
- 60: 12(float) Load 59
- 62: 54(ptr) AccessChain 18(ray) 61
- 63: 13(fvec3) Load 62
- 65: 58(ptr) AccessChain 18(ray) 64
- 66: 12(float) Load 65
- RayQueryInitializeKHR 17(rayQuery) 51 29 33 56 60 63 66
+ 56: 55(ptr) AccessChain 18(ray) 54
+ 57: 13(fvec3) Load 56
+ 60: 59(ptr) AccessChain 18(ray) 58
+ 61: 12(float) Load 60
+ 63: 55(ptr) AccessChain 18(ray) 62
+ 64: 13(fvec3) Load 63
+ 66: 59(ptr) AccessChain 18(ray) 65
+ 67: 12(float) Load 66
+ RayQueryInitializeKHR 17(rayQuery) 51 29 52 57 61 64 67
Return
FunctionEnd
rayQuery-decls.rgen
// Module Version 10000
// Generated by (magic number): 80008
-// Id's are bound by 127
+// Id's are bound by 130
Capability RayQueryProvisionalKHR
Capability RayTracingNV
Name 86 "rayQuery0a"
Name 89 "rayQuery0c"
Name 96 "rtas"
- Name 106 "rayQuery1c"
- Name 126 "g_rayQueryUnused"
+ Name 107 "rayQuery1c"
+ Name 129 "g_rayQueryUnused"
Decorate 12(gl_LaunchIDNV) BuiltIn LaunchIdKHR
Decorate 17(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR
MemberDecorate 45(Ray) 0 Offset 0
94: TypeAccelerationStructureKHR
95: TypePointer UniformConstant 94
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
5: Label
38(index): 37(ptr) Variable Function
81(rayQuery0b): 80(ptr) Variable Function
86(rayQuery0a): 80(ptr) Variable Function
89(rayQuery0c): 80(ptr) Variable Function
- 106(rayQuery1c): 80(ptr) Variable Function
-126(g_rayQueryUnused): 80(ptr) Variable Function
+ 107(rayQuery1c): 80(ptr) Variable Function
+129(g_rayQueryUnused): 80(ptr) Variable Function
39: 6(int) FunctionCall 8(launchIndex()
Store 38(index) 39
52: 6(int) Load 38(index)
93: 69 Load 92
Store 89(rayQuery0c) 93
97: 94 Load 96(rtas)
- 98: 57(ptr) AccessChain 44(ray) 51
- 99: 41(fvec3) Load 98
- 100: 61(ptr) AccessChain 44(ray) 60
- 101: 40(float) Load 100
- 102: 57(ptr) AccessChain 44(ray) 64
- 103: 41(fvec3) Load 102
- 104: 61(ptr) AccessChain 44(ray) 67
- 105: 40(float) Load 104
- RayQueryInitializeKHR 89(rayQuery0c) 97 22 13 99 101 103 105
- 107: 94 Load 96(rtas)
- 108: 57(ptr) AccessChain 44(ray) 51
- 109: 41(fvec3) Load 108
- 110: 61(ptr) AccessChain 44(ray) 60
- 111: 40(float) Load 110
- 112: 57(ptr) AccessChain 44(ray) 64
- 113: 41(fvec3) Load 112
- 114: 61(ptr) AccessChain 44(ray) 67
- 115: 40(float) Load 114
- RayQueryInitializeKHR 106(rayQuery1c) 107 22 22 109 111 113 115
- 116: 94 Load 96(rtas)
- 118: 57(ptr) AccessChain 44(ray) 51
- 119: 41(fvec3) Load 118
- 120: 61(ptr) AccessChain 44(ray) 60
- 121: 40(float) Load 120
- 122: 57(ptr) AccessChain 44(ray) 64
- 123: 41(fvec3) Load 122
- 124: 61(ptr) AccessChain 44(ray) 67
- 125: 40(float) Load 124
- RayQueryInitializeKHR 106(rayQuery1c) 116 117 70 119 121 123 125
+ 99: 57(ptr) AccessChain 44(ray) 51
+ 100: 41(fvec3) Load 99
+ 101: 61(ptr) AccessChain 44(ray) 60
+ 102: 40(float) Load 101
+ 103: 57(ptr) AccessChain 44(ray) 64
+ 104: 41(fvec3) Load 103
+ 105: 61(ptr) AccessChain 44(ray) 67
+ 106: 40(float) Load 105
+ RayQueryInitializeKHR 89(rayQuery0c) 97 22 98 100 102 104 106
+ 108: 94 Load 96(rtas)
+ 110: 57(ptr) AccessChain 44(ray) 51
+ 111: 41(fvec3) Load 110
+ 112: 61(ptr) AccessChain 44(ray) 60
+ 113: 40(float) Load 112
+ 114: 57(ptr) AccessChain 44(ray) 64
+ 115: 41(fvec3) Load 114
+ 116: 61(ptr) AccessChain 44(ray) 67
+ 117: 40(float) Load 116
+ RayQueryInitializeKHR 107(rayQuery1c) 108 22 109 111 113 115 117
+ 118: 94 Load 96(rtas)
+ 121: 57(ptr) AccessChain 44(ray) 51
+ 122: 41(fvec3) Load 121
+ 123: 61(ptr) AccessChain 44(ray) 60
+ 124: 40(float) Load 123
+ 125: 57(ptr) AccessChain 44(ray) 64
+ 126: 41(fvec3) Load 125
+ 127: 61(ptr) AccessChain 44(ray) 67
+ 128: 40(float) Load 127
+ RayQueryInitializeKHR 107(rayQuery1c) 118 119 120 122 124 126 128
Return
FunctionEnd
8(launchIndex(): 6(int) Function None 7
rayQuery-initialize.rgen
// Module Version 10000
// Generated by (magic number): 80008
-// Id's are bound by 103
+// Id's are bound by 105
Capability RayQueryProvisionalKHR
Capability RayTracingNV
Name 23 "gl_LaunchIDNV"
Name 28 "gl_LaunchSizeNV"
Name 50 "rtas"
- Name 68 "index"
- Name 70 "ray"
- Name 71 "Ray"
- MemberName 71(Ray) 0 "pos"
- MemberName 71(Ray) 1 "tmin"
- MemberName 71(Ray) 2 "dir"
- MemberName 71(Ray) 3 "tmax"
- Name 73 "Rays"
- MemberName 73(Rays) 0 "rays"
- Name 75 ""
- Name 88 "rayQuery"
- Name 89 "param"
- Name 91 "param"
+ Name 69 "index"
+ Name 71 "ray"
+ Name 72 "Ray"
+ MemberName 72(Ray) 0 "pos"
+ MemberName 72(Ray) 1 "tmin"
+ MemberName 72(Ray) 2 "dir"
+ MemberName 72(Ray) 3 "tmax"
+ Name 74 "Rays"
+ MemberName 74(Rays) 0 "rays"
+ Name 76 ""
+ Name 89 "rayQuery"
+ Name 90 "param"
+ Name 92 "param"
Decorate 23(gl_LaunchIDNV) BuiltIn LaunchIdKHR
Decorate 28(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR
Decorate 50(rtas) DescriptorSet 0
Decorate 50(rtas) Binding 0
- MemberDecorate 71(Ray) 0 Offset 0
- MemberDecorate 71(Ray) 1 Offset 12
- MemberDecorate 71(Ray) 2 Offset 16
- MemberDecorate 71(Ray) 3 Offset 28
- Decorate 72 ArrayStride 32
- MemberDecorate 73(Rays) 0 Offset 0
- Decorate 73(Rays) BufferBlock
- Decorate 75 DescriptorSet 0
- Decorate 75 Binding 2
+ MemberDecorate 72(Ray) 0 Offset 0
+ MemberDecorate 72(Ray) 1 Offset 12
+ MemberDecorate 72(Ray) 2 Offset 16
+ MemberDecorate 72(Ray) 3 Offset 28
+ Decorate 73 ArrayStride 32
+ MemberDecorate 74(Rays) 0 Offset 0
+ Decorate 74(Rays) BufferBlock
+ Decorate 76 DescriptorSet 0
+ Decorate 76 Binding 2
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
48: TypeAccelerationStructureKHR
49: TypePointer UniformConstant 48
50(rtas): 49(ptr) Variable UniformConstant
- 52: TypeInt 32 1
- 53: 52(int) Constant 0
- 54: TypePointer Function 13(fvec3)
- 57: 52(int) Constant 1
- 58: TypePointer Function 12(float)
- 61: 52(int) Constant 2
- 64: 52(int) Constant 3
- 67: TypePointer Function 6(int)
- 71(Ray): TypeStruct 13(fvec3) 12(float) 13(fvec3) 12(float)
- 72: TypeRuntimeArray 71(Ray)
- 73(Rays): TypeStruct 72
- 74: TypePointer Uniform 73(Rays)
- 75: 74(ptr) Variable Uniform
- 77: TypePointer Uniform 71(Ray)
+ 52: 6(int) Constant 16
+ 53: TypeInt 32 1
+ 54: 53(int) Constant 0
+ 55: TypePointer Function 13(fvec3)
+ 58: 53(int) Constant 1
+ 59: TypePointer Function 12(float)
+ 62: 53(int) Constant 2
+ 65: 53(int) Constant 3
+ 68: TypePointer Function 6(int)
+ 72(Ray): TypeStruct 13(fvec3) 12(float) 13(fvec3) 12(float)
+ 73: TypeRuntimeArray 72(Ray)
+ 74(Rays): TypeStruct 73
+ 75: TypePointer Uniform 74(Rays)
+ 76: 75(ptr) Variable Uniform
+ 78: TypePointer Uniform 72(Ray)
+ 96: 6(int) Constant 32
4(main): 2 Function None 3
5: Label
- 68(index): 67(ptr) Variable Function
- 70(ray): 15(ptr) Variable Function
- 88(rayQuery): 11(ptr) Variable Function
- 89(param): 11(ptr) Variable Function
- 91(param): 15(ptr) Variable Function
- 69: 6(int) FunctionCall 8(launchIndex()
- Store 68(index) 69
- 76: 6(int) Load 68(index)
- 78: 77(ptr) AccessChain 75 53 76
- 79: 71(Ray) Load 78
- 80: 13(fvec3) CompositeExtract 79 0
- 81: 54(ptr) AccessChain 70(ray) 53
- Store 81 80
- 82: 12(float) CompositeExtract 79 1
- 83: 58(ptr) AccessChain 70(ray) 57
- Store 83 82
- 84: 13(fvec3) CompositeExtract 79 2
- 85: 54(ptr) AccessChain 70(ray) 61
- Store 85 84
- 86: 12(float) CompositeExtract 79 3
- 87: 58(ptr) AccessChain 70(ray) 64
- Store 87 86
- 90: 10 Load 88(rayQuery)
- Store 89(param) 90
- 92: 14(Ray) Load 70(ray)
- Store 91(param) 92
- 93: 2 FunctionCall 19(doInitialize(rq1;struct-Ray-vf3-f1-vf3-f11;) 89(param) 91(param)
- 94: 48 Load 50(rtas)
- 95: 54(ptr) AccessChain 70(ray) 53
- 96: 13(fvec3) Load 95
- 97: 58(ptr) AccessChain 70(ray) 57
- 98: 12(float) Load 97
- 99: 54(ptr) AccessChain 70(ray) 61
- 100: 13(fvec3) Load 99
- 101: 58(ptr) AccessChain 70(ray) 64
- 102: 12(float) Load 101
- RayQueryInitializeKHR 88(rayQuery) 94 33 24 96 98 100 102
+ 69(index): 68(ptr) Variable Function
+ 71(ray): 15(ptr) Variable Function
+ 89(rayQuery): 11(ptr) Variable Function
+ 90(param): 11(ptr) Variable Function
+ 92(param): 15(ptr) Variable Function
+ 70: 6(int) FunctionCall 8(launchIndex()
+ Store 69(index) 70
+ 77: 6(int) Load 69(index)
+ 79: 78(ptr) AccessChain 76 54 77
+ 80: 72(Ray) Load 79
+ 81: 13(fvec3) CompositeExtract 80 0
+ 82: 55(ptr) AccessChain 71(ray) 54
+ Store 82 81
+ 83: 12(float) CompositeExtract 80 1
+ 84: 59(ptr) AccessChain 71(ray) 58
+ Store 84 83
+ 85: 13(fvec3) CompositeExtract 80 2
+ 86: 55(ptr) AccessChain 71(ray) 62
+ Store 86 85
+ 87: 12(float) CompositeExtract 80 3
+ 88: 59(ptr) AccessChain 71(ray) 65
+ Store 88 87
+ 91: 10 Load 89(rayQuery)
+ Store 90(param) 91
+ 93: 14(Ray) Load 71(ray)
+ Store 92(param) 93
+ 94: 2 FunctionCall 19(doInitialize(rq1;struct-Ray-vf3-f1-vf3-f11;) 90(param) 92(param)
+ 95: 48 Load 50(rtas)
+ 97: 55(ptr) AccessChain 71(ray) 54
+ 98: 13(fvec3) Load 97
+ 99: 59(ptr) AccessChain 71(ray) 58
+ 100: 12(float) Load 99
+ 101: 55(ptr) AccessChain 71(ray) 62
+ 102: 13(fvec3) Load 101
+ 103: 59(ptr) AccessChain 71(ray) 65
+ 104: 12(float) Load 103
+ RayQueryInitializeKHR 89(rayQuery) 95 33 96 98 100 102 104
Return
FunctionEnd
8(launchIndex(): 6(int) Function None 7
18(ray): 15(ptr) FunctionParameter
20: Label
51: 48 Load 50(rtas)
- 55: 54(ptr) AccessChain 18(ray) 53
- 56: 13(fvec3) Load 55
- 59: 58(ptr) AccessChain 18(ray) 57
- 60: 12(float) Load 59
- 62: 54(ptr) AccessChain 18(ray) 61
- 63: 13(fvec3) Load 62
- 65: 58(ptr) AccessChain 18(ray) 64
- 66: 12(float) Load 65
- RayQueryInitializeKHR 17(rayQuery) 51 29 33 56 60 63 66
+ 56: 55(ptr) AccessChain 18(ray) 54
+ 57: 13(fvec3) Load 56
+ 60: 59(ptr) AccessChain 18(ray) 58
+ 61: 12(float) Load 60
+ 63: 55(ptr) AccessChain 18(ray) 62
+ 64: 13(fvec3) Load 63
+ 66: 59(ptr) AccessChain 18(ray) 65
+ 67: 12(float) Load 66
+ RayQueryInitializeKHR 17(rayQuery) 51 29 52 57 61 64 67
Return
FunctionEnd
rayQuery-no-cse.rgen
// Module Version 10000
// Generated by (magic number): 80008
-// Id's are bound by 109
+// Id's are bound by 111
Capability RayQueryProvisionalKHR
Capability RayTracingNV
Name 23 "gl_LaunchIDNV"
Name 28 "gl_LaunchSizeNV"
Name 50 "rtas"
- Name 68 "index"
- Name 70 "ray"
- Name 71 "Ray"
- MemberName 71(Ray) 0 "pos"
- MemberName 71(Ray) 1 "tmin"
- MemberName 71(Ray) 2 "dir"
- MemberName 71(Ray) 3 "tmax"
- Name 73 "Rays"
- MemberName 73(Rays) 0 "rays"
- Name 75 ""
- Name 88 "rayQuery1"
- Name 89 "param"
- Name 91 "param"
- Name 103 "rayQuery2"
- Name 104 "param"
+ Name 69 "index"
+ Name 71 "ray"
+ Name 72 "Ray"
+ MemberName 72(Ray) 0 "pos"
+ MemberName 72(Ray) 1 "tmin"
+ MemberName 72(Ray) 2 "dir"
+ MemberName 72(Ray) 3 "tmax"
+ Name 74 "Rays"
+ MemberName 74(Rays) 0 "rays"
+ Name 76 ""
+ Name 89 "rayQuery1"
+ Name 90 "param"
+ Name 92 "param"
+ Name 105 "rayQuery2"
Name 106 "param"
+ Name 108 "param"
Decorate 23(gl_LaunchIDNV) BuiltIn LaunchIdKHR
Decorate 28(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR
Decorate 50(rtas) DescriptorSet 0
Decorate 50(rtas) Binding 0
- MemberDecorate 71(Ray) 0 Offset 0
- MemberDecorate 71(Ray) 1 Offset 12
- MemberDecorate 71(Ray) 2 Offset 16
- MemberDecorate 71(Ray) 3 Offset 28
- Decorate 72 ArrayStride 32
- MemberDecorate 73(Rays) 0 Offset 0
- Decorate 73(Rays) BufferBlock
- Decorate 75 DescriptorSet 0
- Decorate 75 Binding 2
+ MemberDecorate 72(Ray) 0 Offset 0
+ MemberDecorate 72(Ray) 1 Offset 12
+ MemberDecorate 72(Ray) 2 Offset 16
+ MemberDecorate 72(Ray) 3 Offset 28
+ Decorate 73 ArrayStride 32
+ MemberDecorate 74(Rays) 0 Offset 0
+ Decorate 74(Rays) BufferBlock
+ Decorate 76 DescriptorSet 0
+ Decorate 76 Binding 2
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
48: TypeAccelerationStructureKHR
49: TypePointer UniformConstant 48
50(rtas): 49(ptr) Variable UniformConstant
- 52: TypeInt 32 1
- 53: 52(int) Constant 0
- 54: TypePointer Function 13(fvec3)
- 57: 52(int) Constant 1
- 58: TypePointer Function 12(float)
- 61: 52(int) Constant 2
- 64: 52(int) Constant 3
- 67: TypePointer Function 6(int)
- 71(Ray): TypeStruct 13(fvec3) 12(float) 13(fvec3) 12(float)
- 72: TypeRuntimeArray 71(Ray)
- 73(Rays): TypeStruct 72
- 74: TypePointer Uniform 73(Rays)
- 75: 74(ptr) Variable Uniform
- 77: TypePointer Uniform 71(Ray)
+ 52: 6(int) Constant 16
+ 53: TypeInt 32 1
+ 54: 53(int) Constant 0
+ 55: TypePointer Function 13(fvec3)
+ 58: 53(int) Constant 1
+ 59: TypePointer Function 12(float)
+ 62: 53(int) Constant 2
+ 65: 53(int) Constant 3
+ 68: TypePointer Function 6(int)
+ 72(Ray): TypeStruct 13(fvec3) 12(float) 13(fvec3) 12(float)
+ 73: TypeRuntimeArray 72(Ray)
+ 74(Rays): TypeStruct 73
+ 75: TypePointer Uniform 74(Rays)
+ 76: 75(ptr) Variable Uniform
+ 78: TypePointer Uniform 72(Ray)
+ 96: 6(int) Constant 32
4(main): 2 Function None 3
5: Label
- 68(index): 67(ptr) Variable Function
- 70(ray): 15(ptr) Variable Function
- 88(rayQuery1): 11(ptr) Variable Function
- 89(param): 11(ptr) Variable Function
- 91(param): 15(ptr) Variable Function
- 103(rayQuery2): 11(ptr) Variable Function
- 104(param): 11(ptr) Variable Function
- 106(param): 15(ptr) Variable Function
- 69: 6(int) FunctionCall 8(launchIndex()
- Store 68(index) 69
- 76: 6(int) Load 68(index)
- 78: 77(ptr) AccessChain 75 53 76
- 79: 71(Ray) Load 78
- 80: 13(fvec3) CompositeExtract 79 0
- 81: 54(ptr) AccessChain 70(ray) 53
- Store 81 80
- 82: 12(float) CompositeExtract 79 1
- 83: 58(ptr) AccessChain 70(ray) 57
- Store 83 82
- 84: 13(fvec3) CompositeExtract 79 2
- 85: 54(ptr) AccessChain 70(ray) 61
- Store 85 84
- 86: 12(float) CompositeExtract 79 3
- 87: 58(ptr) AccessChain 70(ray) 64
- Store 87 86
- 90: 10 Load 88(rayQuery1)
- Store 89(param) 90
- 92: 14(Ray) Load 70(ray)
- Store 91(param) 92
- 93: 2 FunctionCall 19(doInitialize(rq1;struct-Ray-vf3-f1-vf3-f11;) 89(param) 91(param)
- 94: 48 Load 50(rtas)
- 95: 54(ptr) AccessChain 70(ray) 53
- 96: 13(fvec3) Load 95
- 97: 58(ptr) AccessChain 70(ray) 57
- 98: 12(float) Load 97
- 99: 54(ptr) AccessChain 70(ray) 61
- 100: 13(fvec3) Load 99
- 101: 58(ptr) AccessChain 70(ray) 64
- 102: 12(float) Load 101
- RayQueryInitializeKHR 88(rayQuery1) 94 33 24 96 98 100 102
- 105: 10 Load 103(rayQuery2)
- Store 104(param) 105
- 107: 14(Ray) Load 70(ray)
+ 69(index): 68(ptr) Variable Function
+ 71(ray): 15(ptr) Variable Function
+ 89(rayQuery1): 11(ptr) Variable Function
+ 90(param): 11(ptr) Variable Function
+ 92(param): 15(ptr) Variable Function
+ 105(rayQuery2): 11(ptr) Variable Function
+ 106(param): 11(ptr) Variable Function
+ 108(param): 15(ptr) Variable Function
+ 70: 6(int) FunctionCall 8(launchIndex()
+ Store 69(index) 70
+ 77: 6(int) Load 69(index)
+ 79: 78(ptr) AccessChain 76 54 77
+ 80: 72(Ray) Load 79
+ 81: 13(fvec3) CompositeExtract 80 0
+ 82: 55(ptr) AccessChain 71(ray) 54
+ Store 82 81
+ 83: 12(float) CompositeExtract 80 1
+ 84: 59(ptr) AccessChain 71(ray) 58
+ Store 84 83
+ 85: 13(fvec3) CompositeExtract 80 2
+ 86: 55(ptr) AccessChain 71(ray) 62
+ Store 86 85
+ 87: 12(float) CompositeExtract 80 3
+ 88: 59(ptr) AccessChain 71(ray) 65
+ Store 88 87
+ 91: 10 Load 89(rayQuery1)
+ Store 90(param) 91
+ 93: 14(Ray) Load 71(ray)
+ Store 92(param) 93
+ 94: 2 FunctionCall 19(doInitialize(rq1;struct-Ray-vf3-f1-vf3-f11;) 90(param) 92(param)
+ 95: 48 Load 50(rtas)
+ 97: 55(ptr) AccessChain 71(ray) 54
+ 98: 13(fvec3) Load 97
+ 99: 59(ptr) AccessChain 71(ray) 58
+ 100: 12(float) Load 99
+ 101: 55(ptr) AccessChain 71(ray) 62
+ 102: 13(fvec3) Load 101
+ 103: 59(ptr) AccessChain 71(ray) 65
+ 104: 12(float) Load 103
+ RayQueryInitializeKHR 89(rayQuery1) 95 33 96 98 100 102 104
+ 107: 10 Load 105(rayQuery2)
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
FunctionEnd
8(launchIndex(): 6(int) Function None 7
18(ray): 15(ptr) FunctionParameter
20: Label
51: 48 Load 50(rtas)
- 55: 54(ptr) AccessChain 18(ray) 53
- 56: 13(fvec3) Load 55
- 59: 58(ptr) AccessChain 18(ray) 57
- 60: 12(float) Load 59
- 62: 54(ptr) AccessChain 18(ray) 61
- 63: 13(fvec3) Load 62
- 65: 58(ptr) AccessChain 18(ray) 64
- 66: 12(float) Load 65
- RayQueryInitializeKHR 17(rayQuery) 51 29 33 56 60 63 66
+ 56: 55(ptr) AccessChain 18(ray) 54
+ 57: 13(fvec3) Load 56
+ 60: 59(ptr) AccessChain 18(ray) 58
+ 61: 12(float) Load 60
+ 63: 55(ptr) AccessChain 18(ray) 62
+ 64: 13(fvec3) Load 63
+ 66: 59(ptr) AccessChain 18(ray) 65
+ 67: 12(float) Load 66
+ RayQueryInitializeKHR 17(rayQuery) 51 29 52 57 61 64 67
Return
FunctionEnd
{
Ray ray = makeRayDesc();
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;
mat3x4 _mat3x4;
void main()
{
- Ray ray;// = makeRayDesc();
+ Ray ray = makeRayDesc();
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;
mat3x4 _mat3x4;
void main()
{
- Ray ray;// = makeRayDesc();
+ Ray ray = makeRayDesc();
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;
mat3x4 _mat3x4;
void main()
{
- Ray ray;// = makeRayDesc();
+ Ray ray = makeRayDesc();
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;
mat3x4 _mat3x4;
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;
Ray ray = rays[index];
rayQueryEXT rayQuery[2];
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);
}
bool committed_true = true;
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))
{
mat4x3 mat_o2w;
rayQueryEXT rayQuery0c = g_rayQueryArray[idx];
// 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
// Should not be extray allocate, since above should allocate and copy
rayQueryEXT rayQuery1c;
// 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);
}
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()
Ray ray = rays[index];
rayQueryEXT rayQuery;
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);
}
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()
rayQueryEXT rayQuery1;
rayQueryEXT rayQuery2;
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);
}
commonBuiltins.append(constRayQueryIntersection);
+ commonBuiltins.append(constRayFlags);
stageBuiltins[EShLangRayGen].append(rayGenDecls);
- stageBuiltins[EShLangRayGen].append(constRayFlags);
-
stageBuiltins[EShLangIntersect].append(intersectDecls);
- stageBuiltins[EShLangIntersect].append(constRayFlags);
-
stageBuiltins[EShLangAnyHit].append(hitDecls);
- stageBuiltins[EShLangAnyHit].append(constRayFlags);
-
stageBuiltins[EShLangClosestHit].append(hitDecls);
- stageBuiltins[EShLangClosestHit].append(constRayFlags);
-
stageBuiltins[EShLangMiss].append(missDecls);
- stageBuiltins[EShLangMiss].append(constRayFlags);
-
stageBuiltins[EShLangCallable].append(callableDecls);
- stageBuiltins[EShLangCallable].append(constRayFlags);
}
if ((profile != EEsProfile && version >= 140)) {