summaryrefslogtreecommitdiffstats
path: root/source
diff options
context:
space:
mode:
Diffstat (limited to 'source')
-rw-r--r--source/slang/slang-emit.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/source/slang/slang-emit.cpp b/source/slang/slang-emit.cpp
index bb6bab0ab..d8f0686d5 100644
--- a/source/slang/slang-emit.cpp
+++ b/source/slang/slang-emit.cpp
@@ -1269,7 +1269,8 @@ Result linkAndOptimizeIR(
// Rewrite functions that return arrays to return them via `out` parameter,
// since our target languages doesn't allow returning arrays.
- legalizeArrayReturnType(irModule);
+ if(!isMetalTarget(targetRequest))
+ legalizeArrayReturnType(irModule);
if (isKhronosTarget(targetRequest) || target == CodeGenTarget::HLSL)
{