rayQuery-allOps.frag // Module Version 10000 // Generated by (magic number): 8000a // Id's are bound by 257 Capability Shader Capability RayQueryKHR 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 43 "ray" Name 47 "rayQuery" Name 50 "rtas" Name 69 "candidateType" Name 78 "_mat4x3" Name 83 "_mat3x4" Name 143 "t" Name 156 "committedStatus" Name 240 "o" Name 242 "d" Name 252 "Ray" MemberName 252(Ray) 0 "pos" MemberName 252(Ray) 1 "tmin" MemberName 252(Ray) 2 "dir" MemberName 252(Ray) 3 "tmax" Name 254 "Rays" MemberName 254(Rays) 0 "rays" Name 256 "" 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 50(rtas) DescriptorSet 0 Decorate 50(rtas) Binding 1 MemberDecorate 252(Ray) 0 Offset 0 MemberDecorate 252(Ray) 1 Offset 12 MemberDecorate 252(Ray) 2 Offset 16 MemberDecorate 252(Ray) 3 Offset 28 Decorate 253 ArrayStride 32 MemberDecorate 254(Rays) 0 Offset 0 Decorate 254(Rays) BufferBlock Decorate 256 DescriptorSet 0 Decorate 256 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 45: TypeRayQueryKHR 46: TypePointer Private 45 47(rayQuery): 46(ptr) Variable Private 48: TypeAccelerationStructureKHR 49: TypePointer UniformConstant 48 50(rtas): 49(ptr) Variable UniformConstant 52: 14(int) Constant 255 66: TypeBool 68: TypePointer Function 14(int) 70: 66(bool) ConstantFalse 76: TypeMatrix 9(fvec3) 4 77: TypePointer Function 76 80: TypeVector 8(float) 4 81: TypeMatrix 80(fvec4) 3 82: TypePointer Function 81 86: 66(bool) ConstantTrue 91: TypeVector 8(float) 2 144: 8(float) Constant 1056964608 175: 14(int) Constant 1 198: 14(int) Constant 2 252(Ray): TypeStruct 9(fvec3) 8(float) 9(fvec3) 8(float) 253: TypeRuntimeArray 252(Ray) 254(Rays): TypeStruct 253 255: TypePointer Uniform 254(Rays) 256: 255(ptr) Variable Uniform 4(main): 2 Function None 3 5: Label 43(ray): 25(ptr) Variable Function 69(candidateType): 68(ptr) Variable Function 78(_mat4x3): 77(ptr) Variable Function 83(_mat3x4): 82(ptr) Variable Function 143(t): 35(ptr) Variable Function 156(committedStatus): 68(ptr) Variable Function 240(o): 29(ptr) Variable Function 242(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 67: 66(bool) RayQueryProceedKHR 47(rayQuery) BranchConditional 67 62 63 62: Label 71: 14(int) RayQueryGetIntersectionTypeKHR 47(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 RayQueryTerminateKHR 47(rayQuery) 79: 76 RayQueryGetIntersectionObjectToWorldKHR 47(rayQuery) 19 Store 78(_mat4x3) 79 84: 76 Load 78(_mat4x3) 85: 81 Transpose 84 Store 83(_mat3x4) 85 RayQueryConfirmIntersectionKHR 47(rayQuery) 87: 66(bool) RayQueryGetIntersectionFrontFaceKHR 47(rayQuery) 23 SelectionMerge 89 None BranchConditional 87 88 89 88: Label 90: 2 FunctionCall 6(doSomething() Branch 89 89: Label 92: 91(fvec2) RayQueryGetIntersectionBarycentricsKHR 47(rayQuery) 23 93: 8(float) CompositeExtract 92 0 94: 66(bool) FOrdEqual 93 27 SelectionMerge 96 None BranchConditional 94 95 96 95: Label 97: 2 FunctionCall 6(doSomething() Branch 96 96: Label 98: 18(int) RayQueryGetIntersectionInstanceCustomIndexKHR 47(rayQuery) 23 99: 66(bool) SGreaterThan 98 19 SelectionMerge 101 None BranchConditional 99 100 101 100: Label 102: 2 FunctionCall 6(doSomething() Branch 101 101: Label 103: 18(int) RayQueryGetIntersectionInstanceIdKHR 47(rayQuery) 23 104: 66(bool) SGreaterThan 103 19 SelectionMerge 106 None BranchConditional 104 105 106 105: Label 107: 2 FunctionCall 6(doSomething() Branch 106 106: Label 108: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 47(rayQuery) 23 109: 8(float) CompositeExtract 108 0 110: 66(bool) FOrdGreaterThan 109 27 SelectionMerge 112 None BranchConditional 110 111 112 111: Label 113: 2 FunctionCall 6(doSomething() Branch 112 112: Label 114: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 47(rayQuery) 23 115: 8(float) CompositeExtract 114 0 116: 66(bool) FOrdGreaterThan 115 27 SelectionMerge 118 None BranchConditional 116 117 118 117: Label 119: 2 FunctionCall 6(doSomething() Branch 118 118: Label 120: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 47(rayQuery) 23 121: 66(bool) SGreaterThan 120 19 SelectionMerge 123 None BranchConditional 121 122 123 122: Label 124: 2 FunctionCall 6(doSomething() Branch 123 123: Label 125: 8(float) RayQueryGetIntersectionTKHR 47(rayQuery) 23 126: 66(bool) FOrdGreaterThan 125 27 SelectionMerge 128 None BranchConditional 126 127 128 127: Label 129: 2 FunctionCall 6(doSomething() Branch 128 128: Label 130: 14(int) RayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR 47(rayQuery) 23 131: 66(bool) UGreaterThan 130 20 SelectionMerge 133 None BranchConditional 131 132 133 132: Label 134: 2 FunctionCall 6(doSomething() Branch 133 133: Label Branch 75 74: Label 136: 76 RayQueryGetIntersectionObjectToWorldKHR 47(rayQuery) 19 Store 78(_mat4x3) 136 137: 76 Load 78(_mat4x3) 138: 81 Transpose 137 Store 83(_mat3x4) 138 139: 66(bool) RayQueryGetIntersectionCandidateAABBOpaqueKHR 47(rayQuery) SelectionMerge 141 None BranchConditional 139 140 141 140: Label 142: 2 FunctionCall 6(doSomething() Branch 141 141: Label Store 143(t) 144 145: 8(float) Load 143(t) RayQueryGenerateIntersectionKHR 47(rayQuery) 145 RayQueryTerminateKHR 47(rayQuery) Branch 75 75: Label Branch 64 64: Label Branch 61 63: Label 148: 35(ptr) AccessChain 83(_mat3x4) 19 20 149: 8(float) Load 148 150: 35(ptr) AccessChain 78(_mat4x3) 19 20 151: 8(float) Load 150 152: 66(bool) FOrdEqual 149 151 SelectionMerge 154 None BranchConditional 152 153 154 153: Label 155: 2 FunctionCall 6(doSomething() Branch 154 154: Label 157: 14(int) RayQueryGetIntersectionTypeKHR 47(rayQuery) 23 Store 156(committedStatus) 157 158: 14(int) Load 156(committedStatus) SelectionMerge 162 None Switch 158 162 case 0: 159 case 1: 160 case 2: 161 159: Label 163: 76 RayQueryGetIntersectionWorldToObjectKHR 47(rayQuery) 19 Store 78(_mat4x3) 163 164: 76 Load 78(_mat4x3) 165: 81 Transpose 164 Store 83(_mat3x4) 165 Branch 162 160: Label 167: 76 RayQueryGetIntersectionWorldToObjectKHR 47(rayQuery) 23 Store 78(_mat4x3) 167 168: 76 Load 78(_mat4x3) 169: 81 Transpose 168 Store 83(_mat3x4) 169 170: 66(bool) RayQueryGetIntersectionFrontFaceKHR 47(rayQuery) 23 SelectionMerge 172 None BranchConditional 170 171 172 171: Label 173: 2 FunctionCall 6(doSomething() Branch 172 172: Label 174: 91(fvec2) RayQueryGetIntersectionBarycentricsKHR 47(rayQuery) 23 176: 8(float) CompositeExtract 174 1 177: 66(bool) FOrdEqual 176 27 SelectionMerge 179 None BranchConditional 177 178 179 178: Label 180: 2 FunctionCall 6(doSomething() Branch 179 179: Label Branch 162 161: Label 182: 18(int) RayQueryGetIntersectionGeometryIndexKHR 47(rayQuery) 23 183: 66(bool) SGreaterThan 182 19 SelectionMerge 185 None BranchConditional 183 184 185 184: Label 186: 2 FunctionCall 6(doSomething() Branch 185 185: Label 187: 18(int) RayQueryGetIntersectionInstanceIdKHR 47(rayQuery) 23 188: 66(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) RayQueryGetIntersectionInstanceCustomIndexKHR 47(rayQuery) 23 193: 66(bool) SGreaterThan 192 19 SelectionMerge 195 None BranchConditional 193 194 195 194: Label 196: 2 FunctionCall 6(doSomething() Branch 195 195: Label 197: 9(fvec3) RayQueryGetIntersectionObjectRayDirectionKHR 47(rayQuery) 23 199: 8(float) CompositeExtract 197 2 200: 66(bool) FOrdGreaterThan 199 27 SelectionMerge 202 None BranchConditional 200 201 202 201: Label 203: 2 FunctionCall 6(doSomething() Branch 202 202: Label 204: 9(fvec3) RayQueryGetIntersectionObjectRayOriginKHR 47(rayQuery) 23 205: 8(float) CompositeExtract 204 0 206: 66(bool) FOrdGreaterThan 205 27 SelectionMerge 208 None BranchConditional 206 207 208 207: Label 209: 2 FunctionCall 6(doSomething() Branch 208 208: Label 210: 18(int) RayQueryGetIntersectionPrimitiveIndexKHR 47(rayQuery) 23 211: 66(bool) SGreaterThan 210 19 SelectionMerge 213 None BranchConditional 211 212 213 212: Label 214: 2 FunctionCall 6(doSomething() Branch 213 213: Label 215: 8(float) RayQueryGetIntersectionTKHR 47(rayQuery) 23 216: 66(bool) FOrdGreaterThan 215 27 SelectionMerge 218 None BranchConditional 216 217 218 217: Label 219: 2 FunctionCall 6(doSomething() Branch 218 218: Label Branch 162 162: Label 222: 35(ptr) AccessChain 83(_mat3x4) 19 20 223: 8(float) Load 222 224: 35(ptr) AccessChain 78(_mat4x3) 19 20 225: 8(float) Load 224 226: 66(bool) FOrdEqual 223 225 SelectionMerge 228 None BranchConditional 226 227 228 227: Label 229: 2 FunctionCall 6(doSomething() Branch 228 228: Label 230: 14(int) RayQueryGetRayFlagsKHR 47(rayQuery) 231: 66(bool) UGreaterThan 230 20 SelectionMerge 233 None BranchConditional 231 232 233 232: Label 234: 2 FunctionCall 6(doSomething() Branch 233 233: Label 235: 8(float) RayQueryGetRayTMinKHR 47(rayQuery) 236: 66(bool) FOrdGreaterThan 235 27 SelectionMerge 238 None BranchConditional 236 237 238 237: Label 239: 2 FunctionCall 6(doSomething() Branch 238 238: Label 241: 9(fvec3) RayQueryGetWorldRayOriginKHR 47(rayQuery) Store 240(o) 241 243: 9(fvec3) RayQueryGetWorldRayDirectionKHR 47(rayQuery) Store 242(d) 243 244: 35(ptr) AccessChain 240(o) 20 245: 8(float) Load 244 246: 35(ptr) AccessChain 242(d) 198 247: 8(float) Load 246 248: 66(bool) FOrdEqual 245 247 SelectionMerge 250 None BranchConditional 248 249 250 249: Label 251: 2 FunctionCall 6(doSomething() Branch 250 250: 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