mirror of
https://github.com/gfx-rs/wgpu.git
synced 2025-12-08 21:26:17 +00:00
542 lines
16 KiB
Plaintext
542 lines
16 KiB
Plaintext
; SPIR-V
|
|
; Version: 1.4
|
|
; Generator: rspirv
|
|
; Bound: 382
|
|
OpCapability Shader
|
|
OpCapability RayQueryKHR
|
|
OpExtension "SPV_KHR_ray_query"
|
|
%1 = OpExtInstImport "GLSL.std.450"
|
|
OpMemoryModel Logical GLSL450
|
|
OpEntryPoint GLCompute %242 "main" %15 %17
|
|
OpEntryPoint GLCompute %262 "main_candidate" %15
|
|
OpExecutionMode %242 LocalSize 1 1 1
|
|
OpExecutionMode %262 LocalSize 1 1 1
|
|
OpMemberDecorate %10 0 Offset 0
|
|
OpMemberDecorate %10 1 Offset 4
|
|
OpMemberDecorate %10 2 Offset 8
|
|
OpMemberDecorate %10 3 Offset 12
|
|
OpMemberDecorate %10 4 Offset 16
|
|
OpMemberDecorate %10 5 Offset 20
|
|
OpMemberDecorate %10 6 Offset 24
|
|
OpMemberDecorate %10 7 Offset 28
|
|
OpMemberDecorate %10 8 Offset 36
|
|
OpMemberDecorate %10 9 Offset 48
|
|
OpMemberDecorate %10 9 ColMajor
|
|
OpMemberDecorate %10 9 MatrixStride 16
|
|
OpMemberDecorate %10 10 Offset 112
|
|
OpMemberDecorate %10 10 ColMajor
|
|
OpMemberDecorate %10 10 MatrixStride 16
|
|
OpMemberDecorate %12 0 Offset 0
|
|
OpMemberDecorate %12 1 Offset 4
|
|
OpMemberDecorate %12 2 Offset 8
|
|
OpMemberDecorate %12 3 Offset 12
|
|
OpMemberDecorate %12 4 Offset 16
|
|
OpMemberDecorate %12 5 Offset 32
|
|
OpMemberDecorate %13 0 Offset 0
|
|
OpMemberDecorate %13 1 Offset 16
|
|
OpDecorate %15 DescriptorSet 0
|
|
OpDecorate %15 Binding 0
|
|
OpDecorate %17 DescriptorSet 0
|
|
OpDecorate %17 Binding 1
|
|
OpDecorate %18 Block
|
|
OpMemberDecorate %18 0 Offset 0
|
|
%2 = OpTypeVoid
|
|
%3 = OpTypeFloat 32
|
|
%4 = OpTypeVector %3 3
|
|
%5 = OpTypeAccelerationStructureKHR
|
|
%6 = OpTypeInt 32 0
|
|
%7 = OpTypeVector %3 2
|
|
%8 = OpTypeBool
|
|
%9 = OpTypeMatrix %4 4
|
|
%10 = OpTypeStruct %6 %3 %6 %6 %6 %6 %6 %7 %8 %9 %9
|
|
%11 = OpTypeRayQueryKHR
|
|
%12 = OpTypeStruct %6 %6 %3 %3 %4 %4
|
|
%13 = OpTypeStruct %6 %4
|
|
%14 = OpTypeVector %3 4
|
|
%16 = OpTypePointer UniformConstant %5
|
|
%15 = OpVariable %16 UniformConstant
|
|
%18 = OpTypeStruct %13
|
|
%19 = OpTypePointer StorageBuffer %18
|
|
%17 = OpVariable %19 StorageBuffer
|
|
%26 = OpTypeFunction %10 %4 %4 %16
|
|
%27 = OpConstant %6 4
|
|
%28 = OpConstant %6 255
|
|
%29 = OpConstant %3 0.1
|
|
%30 = OpConstant %3 100
|
|
%32 = OpTypePointer Function %11
|
|
%33 = OpTypePointer Function %6
|
|
%35 = OpConstant %6 0
|
|
%36 = OpTypePointer Function %3
|
|
%38 = OpConstant %3 0
|
|
%41 = OpTypeVector %8 3
|
|
%42 = OpTypeFunction %2 %32 %5 %12 %33 %36
|
|
%70 = OpConstant %6 256
|
|
%73 = OpConstant %6 512
|
|
%78 = OpConstant %6 16
|
|
%81 = OpConstant %6 32
|
|
%90 = OpConstant %6 1
|
|
%93 = OpConstant %6 2
|
|
%96 = OpConstant %6 64
|
|
%99 = OpConstant %6 128
|
|
%128 = OpTypeVector %6 2
|
|
%129 = OpTypePointer Function %128
|
|
%130 = OpTypeVector %8 2
|
|
%131 = OpConstantComposite %128 %35 %35
|
|
%132 = OpConstant %6 4294967295
|
|
%133 = OpConstantComposite %128 %132 %132
|
|
%146 = OpTypePointer Function %8
|
|
%147 = OpTypeFunction %8 %32 %33
|
|
%153 = OpConstantFalse %8
|
|
%160 = OpConstant %6 6
|
|
%168 = OpTypePointer Function %10
|
|
%169 = OpTypePointer Function %9
|
|
%170 = OpTypePointer Function %7
|
|
%171 = OpTypeFunction %10 %32 %33
|
|
%176 = OpConstantNull %10
|
|
%199 = OpConstant %6 3
|
|
%202 = OpConstant %6 5
|
|
%205 = OpConstant %6 9
|
|
%207 = OpConstant %6 10
|
|
%216 = OpConstant %6 7
|
|
%218 = OpConstant %6 8
|
|
%226 = OpTypeFunction %4 %4 %10
|
|
%227 = OpConstant %3 1
|
|
%228 = OpConstant %3 2.4
|
|
%243 = OpTypeFunction %2
|
|
%245 = OpTypePointer StorageBuffer %13
|
|
%247 = OpConstantComposite %4 %38 %38 %38
|
|
%248 = OpConstantComposite %4 %38 %227 %38
|
|
%251 = OpTypePointer StorageBuffer %6
|
|
%256 = OpTypePointer StorageBuffer %4
|
|
%264 = OpConstantComposite %12 %27 %28 %29 %30 %247 %248
|
|
%265 = OpConstant %3 10
|
|
%322 = OpTypeFunction %2 %32 %33 %3 %36
|
|
%363 = OpTypeFunction %2 %32 %33
|
|
%43 = OpFunction %2 None %42
|
|
%44 = OpFunctionParameter %32
|
|
%45 = OpFunctionParameter %5
|
|
%46 = OpFunctionParameter %12
|
|
%47 = OpFunctionParameter %33
|
|
%48 = OpFunctionParameter %36
|
|
%49 = OpLabel
|
|
%50 = OpCompositeExtract %6 %46 0
|
|
%51 = OpCompositeExtract %6 %46 1
|
|
%52 = OpCompositeExtract %3 %46 2
|
|
%53 = OpCompositeExtract %3 %46 3
|
|
OpStore %48 %53
|
|
%54 = OpCompositeExtract %4 %46 4
|
|
%55 = OpCompositeExtract %4 %46 5
|
|
%56 = OpFOrdLessThanEqual %8 %52 %53
|
|
%57 = OpFOrdGreaterThanEqual %8 %52 %38
|
|
%58 = OpIsInf %41 %54
|
|
%59 = OpAny %8 %58
|
|
%60 = OpIsNan %41 %54
|
|
%61 = OpAny %8 %60
|
|
%62 = OpLogicalOr %8 %61 %59
|
|
%63 = OpLogicalNot %8 %62
|
|
%64 = OpIsInf %41 %55
|
|
%65 = OpAny %8 %64
|
|
%66 = OpIsNan %41 %55
|
|
%67 = OpAny %8 %66
|
|
%68 = OpLogicalOr %8 %67 %65
|
|
%69 = OpLogicalNot %8 %68
|
|
%71 = OpBitwiseAnd %6 %50 %70
|
|
%72 = OpINotEqual %8 %71 %35
|
|
%74 = OpBitwiseAnd %6 %50 %73
|
|
%75 = OpINotEqual %8 %74 %35
|
|
%76 = OpLogicalAnd %8 %75 %72
|
|
%77 = OpLogicalNot %8 %76
|
|
%79 = OpBitwiseAnd %6 %50 %78
|
|
%80 = OpINotEqual %8 %79 %35
|
|
%82 = OpBitwiseAnd %6 %50 %81
|
|
%83 = OpINotEqual %8 %82 %35
|
|
%84 = OpLogicalAnd %8 %83 %72
|
|
%85 = OpLogicalAnd %8 %83 %80
|
|
%86 = OpLogicalAnd %8 %80 %72
|
|
%87 = OpLogicalOr %8 %86 %84
|
|
%88 = OpLogicalOr %8 %87 %85
|
|
%89 = OpLogicalNot %8 %88
|
|
%91 = OpBitwiseAnd %6 %50 %90
|
|
%92 = OpINotEqual %8 %91 %35
|
|
%94 = OpBitwiseAnd %6 %50 %93
|
|
%95 = OpINotEqual %8 %94 %35
|
|
%97 = OpBitwiseAnd %6 %50 %96
|
|
%98 = OpINotEqual %8 %97 %35
|
|
%100 = OpBitwiseAnd %6 %50 %99
|
|
%101 = OpINotEqual %8 %100 %35
|
|
%102 = OpLogicalAnd %8 %101 %92
|
|
%103 = OpLogicalAnd %8 %101 %95
|
|
%104 = OpLogicalAnd %8 %101 %98
|
|
%105 = OpLogicalAnd %8 %98 %92
|
|
%106 = OpLogicalAnd %8 %98 %95
|
|
%107 = OpLogicalAnd %8 %95 %92
|
|
%108 = OpLogicalOr %8 %107 %102
|
|
%109 = OpLogicalOr %8 %108 %103
|
|
%110 = OpLogicalOr %8 %109 %104
|
|
%111 = OpLogicalOr %8 %110 %105
|
|
%112 = OpLogicalOr %8 %111 %106
|
|
%113 = OpLogicalNot %8 %112
|
|
%114 = OpLogicalAnd %8 %113 %56
|
|
%115 = OpLogicalAnd %8 %114 %57
|
|
%116 = OpLogicalAnd %8 %115 %63
|
|
%117 = OpLogicalAnd %8 %116 %69
|
|
%118 = OpLogicalAnd %8 %117 %77
|
|
%119 = OpLogicalAnd %8 %118 %89
|
|
OpSelectionMerge %120 None
|
|
OpBranchConditional %119 %122 %121
|
|
%122 = OpLabel
|
|
OpRayQueryInitializeKHR %44 %45 %50 %51 %54 %52 %55 %53
|
|
OpStore %47 %90
|
|
OpBranch %120
|
|
%121 = OpLabel
|
|
OpBranch %120
|
|
%120 = OpLabel
|
|
OpReturn
|
|
OpFunctionEnd
|
|
%148 = OpFunction %8 None %147
|
|
%149 = OpFunctionParameter %32
|
|
%150 = OpFunctionParameter %33
|
|
%151 = OpLabel
|
|
%152 = OpVariable %146 Function %153
|
|
%154 = OpLoad %6 %150
|
|
%157 = OpBitwiseAnd %6 %154 %90
|
|
%158 = OpINotEqual %8 %157 %35
|
|
OpSelectionMerge %155 None
|
|
OpBranchConditional %158 %156 %155
|
|
%156 = OpLabel
|
|
%159 = OpRayQueryProceedKHR %8 %149
|
|
OpStore %152 %159
|
|
%161 = OpSelect %6 %159 %93 %160
|
|
%162 = OpBitwiseOr %6 %154 %161
|
|
OpStore %150 %162
|
|
OpBranch %155
|
|
%155 = OpLabel
|
|
%163 = OpLoad %8 %152
|
|
OpReturnValue %163
|
|
OpFunctionEnd
|
|
%172 = OpFunction %10 None %171
|
|
%173 = OpFunctionParameter %32
|
|
%174 = OpFunctionParameter %33
|
|
%175 = OpLabel
|
|
%177 = OpVariable %168 Function %176
|
|
%178 = OpLoad %6 %174
|
|
%179 = OpBitwiseAnd %6 %178 %93
|
|
%180 = OpINotEqual %8 %179 %35
|
|
%181 = OpBitwiseAnd %6 %178 %27
|
|
%182 = OpINotEqual %8 %181 %35
|
|
%183 = OpLogicalAnd %8 %182 %180
|
|
OpSelectionMerge %185 None
|
|
OpBranchConditional %183 %184 %185
|
|
%184 = OpLabel
|
|
%186 = OpRayQueryGetIntersectionTypeKHR %6 %173 %90
|
|
%187 = OpAccessChain %33 %177 %35
|
|
OpStore %187 %186
|
|
%188 = OpINotEqual %8 %186 %35
|
|
OpSelectionMerge %190 None
|
|
OpBranchConditional %188 %189 %190
|
|
%189 = OpLabel
|
|
%191 = OpRayQueryGetIntersectionInstanceCustomIndexKHR %6 %173 %90
|
|
%192 = OpRayQueryGetIntersectionInstanceIdKHR %6 %173 %90
|
|
%193 = OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR %6 %173 %90
|
|
%194 = OpRayQueryGetIntersectionGeometryIndexKHR %6 %173 %90
|
|
%195 = OpRayQueryGetIntersectionPrimitiveIndexKHR %6 %173 %90
|
|
%196 = OpRayQueryGetIntersectionObjectToWorldKHR %9 %173 %90
|
|
%197 = OpRayQueryGetIntersectionWorldToObjectKHR %9 %173 %90
|
|
%198 = OpAccessChain %33 %177 %93
|
|
OpStore %198 %191
|
|
%200 = OpAccessChain %33 %177 %199
|
|
OpStore %200 %192
|
|
%201 = OpAccessChain %33 %177 %27
|
|
OpStore %201 %193
|
|
%203 = OpAccessChain %33 %177 %202
|
|
OpStore %203 %194
|
|
%204 = OpAccessChain %33 %177 %160
|
|
OpStore %204 %195
|
|
%206 = OpAccessChain %169 %177 %205
|
|
OpStore %206 %196
|
|
%208 = OpAccessChain %169 %177 %207
|
|
OpStore %208 %197
|
|
%209 = OpIEqual %8 %186 %90
|
|
%212 = OpRayQueryGetIntersectionTKHR %3 %173 %90
|
|
%213 = OpAccessChain %36 %177 %90
|
|
OpStore %213 %212
|
|
OpSelectionMerge %211 None
|
|
OpBranchConditional %188 %210 %211
|
|
%210 = OpLabel
|
|
%214 = OpRayQueryGetIntersectionBarycentricsKHR %7 %173 %90
|
|
%215 = OpRayQueryGetIntersectionFrontFaceKHR %8 %173 %90
|
|
%217 = OpAccessChain %170 %177 %216
|
|
OpStore %217 %214
|
|
%219 = OpAccessChain %146 %177 %218
|
|
OpStore %219 %215
|
|
OpBranch %211
|
|
%211 = OpLabel
|
|
OpBranch %190
|
|
%190 = OpLabel
|
|
OpBranch %185
|
|
%185 = OpLabel
|
|
%220 = OpLoad %10 %177
|
|
OpReturnValue %220
|
|
OpFunctionEnd
|
|
%25 = OpFunction %10 None %26
|
|
%21 = OpFunctionParameter %4
|
|
%22 = OpFunctionParameter %4
|
|
%23 = OpFunctionParameter %16
|
|
%20 = OpLabel
|
|
%31 = OpVariable %32 Function
|
|
%34 = OpVariable %33 Function %35
|
|
%37 = OpVariable %36 Function %38
|
|
%134 = OpVariable %129 Function %133
|
|
%24 = OpLoad %5 %23
|
|
OpBranch %39
|
|
%39 = OpLabel
|
|
%40 = OpCompositeConstruct %12 %27 %28 %29 %30 %21 %22
|
|
%123 = OpFunctionCall %2 %43 %31 %24 %40 %34 %37
|
|
OpBranch %124
|
|
%124 = OpLabel
|
|
OpLoopMerge %125 %127 None
|
|
OpBranch %135
|
|
%135 = OpLabel
|
|
%136 = OpLoad %128 %134
|
|
%137 = OpIEqual %130 %131 %136
|
|
%138 = OpAll %8 %137
|
|
OpSelectionMerge %139 None
|
|
OpBranchConditional %138 %125 %139
|
|
%139 = OpLabel
|
|
%140 = OpCompositeExtract %6 %136 1
|
|
%141 = OpIEqual %8 %140 %35
|
|
%142 = OpSelect %6 %141 %90 %35
|
|
%143 = OpCompositeConstruct %128 %142 %90
|
|
%144 = OpISub %128 %136 %143
|
|
OpStore %134 %144
|
|
OpBranch %126
|
|
%126 = OpLabel
|
|
%145 = OpFunctionCall %8 %148 %31 %34
|
|
OpSelectionMerge %164 None
|
|
OpBranchConditional %145 %164 %165
|
|
%165 = OpLabel
|
|
OpBranch %125
|
|
%164 = OpLabel
|
|
OpBranch %166
|
|
%166 = OpLabel
|
|
OpBranch %167
|
|
%167 = OpLabel
|
|
OpBranch %127
|
|
%127 = OpLabel
|
|
OpBranch %124
|
|
%125 = OpLabel
|
|
%221 = OpFunctionCall %10 %172 %31 %34
|
|
OpReturnValue %221
|
|
OpFunctionEnd
|
|
%225 = OpFunction %4 None %226
|
|
%223 = OpFunctionParameter %4
|
|
%224 = OpFunctionParameter %10
|
|
%222 = OpLabel
|
|
OpBranch %229
|
|
%229 = OpLabel
|
|
%230 = OpCompositeExtract %9 %224 10
|
|
%231 = OpCompositeConstruct %14 %223 %227
|
|
%232 = OpMatrixTimesVector %4 %230 %231
|
|
%233 = OpVectorShuffle %7 %232 %232 0 1
|
|
%234 = OpExtInst %7 %1 Normalize %233
|
|
%235 = OpVectorTimesScalar %7 %234 %228
|
|
%236 = OpCompositeExtract %9 %224 9
|
|
%237 = OpCompositeConstruct %14 %235 %38 %227
|
|
%238 = OpMatrixTimesVector %4 %236 %237
|
|
%239 = OpFSub %4 %223 %238
|
|
%240 = OpExtInst %4 %1 Normalize %239
|
|
OpReturnValue %240
|
|
OpFunctionEnd
|
|
%242 = OpFunction %2 None %243
|
|
%241 = OpLabel
|
|
%244 = OpLoad %5 %15
|
|
%246 = OpAccessChain %245 %17 %35
|
|
OpBranch %249
|
|
%249 = OpLabel
|
|
%250 = OpFunctionCall %10 %25 %247 %248 %15
|
|
%252 = OpCompositeExtract %6 %250 0
|
|
%253 = OpIEqual %8 %252 %35
|
|
%254 = OpSelect %6 %253 %90 %35
|
|
%255 = OpAccessChain %251 %246 %35
|
|
OpStore %255 %254
|
|
%257 = OpCompositeExtract %3 %250 1
|
|
%258 = OpVectorTimesScalar %4 %248 %257
|
|
%259 = OpFunctionCall %4 %225 %258 %250
|
|
%260 = OpAccessChain %256 %246 %90
|
|
OpStore %260 %259
|
|
OpReturn
|
|
OpFunctionEnd
|
|
%271 = OpFunction %10 None %171
|
|
%272 = OpFunctionParameter %32
|
|
%273 = OpFunctionParameter %33
|
|
%274 = OpLabel
|
|
%275 = OpVariable %168 Function %176
|
|
%276 = OpLoad %6 %273
|
|
%277 = OpBitwiseAnd %6 %276 %93
|
|
%278 = OpINotEqual %8 %277 %35
|
|
%279 = OpBitwiseAnd %6 %276 %27
|
|
%280 = OpINotEqual %8 %279 %35
|
|
%281 = OpLogicalNot %8 %280
|
|
%282 = OpLogicalAnd %8 %281 %278
|
|
OpSelectionMerge %284 None
|
|
OpBranchConditional %282 %283 %284
|
|
%283 = OpLabel
|
|
%285 = OpRayQueryGetIntersectionTypeKHR %6 %272 %35
|
|
%286 = OpIEqual %8 %285 %35
|
|
%287 = OpSelect %6 %286 %90 %199
|
|
%288 = OpAccessChain %33 %275 %35
|
|
OpStore %288 %287
|
|
%289 = OpINotEqual %8 %287 %35
|
|
OpSelectionMerge %291 None
|
|
OpBranchConditional %289 %290 %291
|
|
%290 = OpLabel
|
|
%292 = OpRayQueryGetIntersectionInstanceCustomIndexKHR %6 %272 %35
|
|
%293 = OpRayQueryGetIntersectionInstanceIdKHR %6 %272 %35
|
|
%294 = OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR %6 %272 %35
|
|
%295 = OpRayQueryGetIntersectionGeometryIndexKHR %6 %272 %35
|
|
%296 = OpRayQueryGetIntersectionPrimitiveIndexKHR %6 %272 %35
|
|
%297 = OpRayQueryGetIntersectionObjectToWorldKHR %9 %272 %35
|
|
%298 = OpRayQueryGetIntersectionWorldToObjectKHR %9 %272 %35
|
|
%299 = OpAccessChain %33 %275 %93
|
|
OpStore %299 %292
|
|
%300 = OpAccessChain %33 %275 %199
|
|
OpStore %300 %293
|
|
%301 = OpAccessChain %33 %275 %27
|
|
OpStore %301 %294
|
|
%302 = OpAccessChain %33 %275 %202
|
|
OpStore %302 %295
|
|
%303 = OpAccessChain %33 %275 %160
|
|
OpStore %303 %296
|
|
%304 = OpAccessChain %169 %275 %205
|
|
OpStore %304 %297
|
|
%305 = OpAccessChain %169 %275 %207
|
|
OpStore %305 %298
|
|
%306 = OpIEqual %8 %287 %90
|
|
OpSelectionMerge %308 None
|
|
OpBranchConditional %289 %307 %308
|
|
%307 = OpLabel
|
|
%309 = OpRayQueryGetIntersectionTKHR %3 %272 %35
|
|
%310 = OpAccessChain %36 %275 %90
|
|
OpStore %310 %309
|
|
%311 = OpRayQueryGetIntersectionBarycentricsKHR %7 %272 %35
|
|
%312 = OpRayQueryGetIntersectionFrontFaceKHR %8 %272 %35
|
|
%313 = OpAccessChain %170 %275 %216
|
|
OpStore %313 %311
|
|
%314 = OpAccessChain %146 %275 %218
|
|
OpStore %314 %312
|
|
OpBranch %308
|
|
%308 = OpLabel
|
|
OpBranch %291
|
|
%291 = OpLabel
|
|
OpBranch %284
|
|
%284 = OpLabel
|
|
%315 = OpLoad %10 %275
|
|
OpReturnValue %315
|
|
OpFunctionEnd
|
|
%323 = OpFunction %2 None %322
|
|
%324 = OpFunctionParameter %32
|
|
%325 = OpFunctionParameter %33
|
|
%326 = OpFunctionParameter %3
|
|
%327 = OpFunctionParameter %36
|
|
%328 = OpLabel
|
|
%329 = OpVariable %36 Function
|
|
%330 = OpVariable %36 Function
|
|
%333 = OpLoad %6 %325
|
|
%334 = OpBitwiseAnd %6 %333 %93
|
|
%335 = OpINotEqual %8 %334 %35
|
|
%336 = OpBitwiseAnd %6 %333 %27
|
|
%337 = OpINotEqual %8 %336 %35
|
|
%338 = OpLogicalNot %8 %337
|
|
%339 = OpLogicalAnd %8 %338 %335
|
|
OpSelectionMerge %332 None
|
|
OpBranchConditional %339 %331 %332
|
|
%331 = OpLabel
|
|
%340 = OpRayQueryGetIntersectionTypeKHR %6 %324 %35
|
|
%341 = OpIEqual %8 %340 %90
|
|
%342 = OpRayQueryGetRayTMinKHR %3 %324
|
|
%343 = OpRayQueryGetIntersectionTypeKHR %6 %324 %90
|
|
%344 = OpIEqual %8 %343 %35
|
|
OpSelectionMerge %345 None
|
|
OpBranchConditional %344 %346 %347
|
|
%346 = OpLabel
|
|
%348 = OpLoad %3 %327
|
|
OpStore %330 %348
|
|
OpBranch %345
|
|
%347 = OpLabel
|
|
%349 = OpRayQueryGetIntersectionTKHR %3 %324 %35
|
|
OpStore %330 %349
|
|
OpBranch %345
|
|
%345 = OpLabel
|
|
%350 = OpFOrdGreaterThanEqual %8 %326 %342
|
|
%351 = OpLoad %3 %330
|
|
%352 = OpFOrdLessThanEqual %8 %326 %351
|
|
%353 = OpLogicalAnd %8 %350 %352
|
|
%354 = OpLogicalAnd %8 %353 %341
|
|
OpSelectionMerge %356 None
|
|
OpBranchConditional %354 %355 %356
|
|
%355 = OpLabel
|
|
OpRayQueryGenerateIntersectionKHR %324 %326
|
|
OpBranch %356
|
|
%356 = OpLabel
|
|
OpBranch %332
|
|
%332 = OpLabel
|
|
OpReturn
|
|
OpFunctionEnd
|
|
%364 = OpFunction %2 None %363
|
|
%365 = OpFunctionParameter %32
|
|
%366 = OpFunctionParameter %33
|
|
%367 = OpLabel
|
|
%370 = OpLoad %6 %366
|
|
%371 = OpBitwiseAnd %6 %370 %93
|
|
%372 = OpINotEqual %8 %371 %35
|
|
%373 = OpBitwiseAnd %6 %370 %27
|
|
%374 = OpINotEqual %8 %373 %35
|
|
%375 = OpLogicalNot %8 %374
|
|
%376 = OpLogicalAnd %8 %375 %372
|
|
OpSelectionMerge %369 None
|
|
OpBranchConditional %376 %368 %369
|
|
%368 = OpLabel
|
|
%377 = OpRayQueryGetIntersectionTypeKHR %6 %365 %35
|
|
%378 = OpIEqual %8 %377 %35
|
|
OpSelectionMerge %380 None
|
|
OpBranchConditional %378 %379 %380
|
|
%379 = OpLabel
|
|
OpRayQueryConfirmIntersectionKHR %365
|
|
OpBranch %380
|
|
%380 = OpLabel
|
|
OpBranch %369
|
|
%369 = OpLabel
|
|
OpReturn
|
|
OpFunctionEnd
|
|
%262 = OpFunction %2 None %243
|
|
%261 = OpLabel
|
|
%266 = OpVariable %32 Function
|
|
%267 = OpVariable %33 Function %35
|
|
%268 = OpVariable %36 Function %38
|
|
%263 = OpLoad %5 %15
|
|
OpBranch %269
|
|
%269 = OpLabel
|
|
%270 = OpFunctionCall %2 %43 %266 %263 %264 %267 %268
|
|
%316 = OpFunctionCall %10 %271 %266 %267
|
|
%317 = OpCompositeExtract %6 %316 0
|
|
%318 = OpIEqual %8 %317 %199
|
|
OpSelectionMerge %319 None
|
|
OpBranchConditional %318 %320 %321
|
|
%320 = OpLabel
|
|
%357 = OpFunctionCall %2 %323 %266 %267 %265 %268
|
|
OpReturn
|
|
%321 = OpLabel
|
|
%358 = OpCompositeExtract %6 %316 0
|
|
%359 = OpIEqual %8 %358 %90
|
|
OpSelectionMerge %360 None
|
|
OpBranchConditional %359 %361 %362
|
|
%361 = OpLabel
|
|
%381 = OpFunctionCall %2 %364 %266 %267
|
|
OpReturn
|
|
%362 = OpLabel
|
|
OpReturn
|
|
%360 = OpLabel
|
|
OpBranch %319
|
|
%319 = OpLabel
|
|
OpReturn
|
|
OpFunctionEnd |