rayQuery-allOps.frag // Module Version 10000 // Generated by (magic number): 80008 // Id's are bound by 265 Capability Shader Capability RayQueryProvisionalKHR Extension "SPV_KHR_ray_query" 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" ExecutionMode 4 OriginUpperLeft Source GLSL 460 SourceExtension "GL_EXT_ray_query" SourceExtension "GL_NV_ray_tracing" Name 4 "main" Name 6 "doSomething(" Name 10 "Ray" MemberName 10(Ray) 0 "pos" MemberName 10(Ray) 1 "tmin" MemberName 10(Ray) 2 "dir" MemberName 10(Ray) 3 "tmax" Name 12 "makeRayDesc(" Name 15 "Log" MemberName 15(Log) 0 "x" 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 "" 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 2: TypeVoid 3: TypeFunction 2 8: TypeFloat 32 9: TypeVector 8(float) 3 10(Ray): TypeStruct 9(fvec3) 8(float) 9(fvec3) 8(float) 11: TypeFunction 10(Ray) 14: TypeInt 32 0 15(Log): TypeStruct 14(int) 14(int) 16: TypePointer Uniform 15(Log) 17: 16(ptr) Variable Uniform 18: TypeInt 32 1 19: 18(int) Constant 0 20: 14(int) Constant 0 21: TypePointer Uniform 14(int) 23: 18(int) Constant 1 25: TypePointer Function 10(Ray) 27: 8(float) Constant 0 28: 9(fvec3) ConstantComposite 27 27 27 29: TypePointer Function 9(fvec3) 31: 18(int) Constant 2 32: 8(float) Constant 1065353216 33: 9(fvec3) ConstantComposite 32 27 27 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 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 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 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 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 Return FunctionEnd 6(doSomething(): 2 Function None 3 7: Label 22: 21(ptr) AccessChain 17 19 Store 22 20 24: 21(ptr) AccessChain 17 23 Store 24 20 Return FunctionEnd 12(makeRayDesc(): 10(Ray) Function None 11 13: Label 26(ray): 25(ptr) Variable Function 30: 29(ptr) AccessChain 26(ray) 19 Store 30 28 34: 29(ptr) AccessChain 26(ray) 31 Store 34 33 36: 35(ptr) AccessChain 26(ray) 23 Store 36 27 39: 35(ptr) AccessChain 26(ray) 37 Store 39 38 40: 10(Ray) Load 26(ray) ReturnValue 40 FunctionEnd