diff options
Diffstat (limited to 'source/slang/slang-emit.cpp')
| -rw-r--r-- | source/slang/slang-emit.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/source/slang/slang-emit.cpp b/source/slang/slang-emit.cpp index ab22e1f90..7cc056009 100644 --- a/source/slang/slang-emit.cpp +++ b/source/slang/slang-emit.cpp @@ -550,9 +550,18 @@ Result linkAndOptimizeIR( lowerAppendConsumeStructuredBuffers(targetProgram, irModule, sink); } - if (target == CodeGenTarget::HLSL || ArtifactDescUtil::isCpuLikeTarget(artifactDesc)) + switch (target) { + default: + if (!ArtifactDescUtil::isCpuLikeTarget(artifactDesc)) + break; + [[fallthrough]]; + case CodeGenTarget::HLSL: + case CodeGenTarget::Metal: + case CodeGenTarget::MetalLib: + case CodeGenTarget::MetalLibAssembly: lowerCombinedTextureSamplers(irModule, sink); + break; } addUserTypeHintDecorations(irModule); |
