diff options
author | Gregg Tavares <gman@chromium.org> | 2021-09-07 22:25:23 -0700 |
---|---|---|
committer | Angle LUCI CQ <angle-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2021-09-08 19:38:41 +0000 |
commit | c9acd7992699f56f6348d15c9572855e0ad84b18 (patch) | |
tree | d02a5832e1033cef2886598ef3fd4312ab3fb0d7 | |
parent | 46555145d8cc55464021a054bfe56e0be34e8dae (diff) | |
download | angle-c9acd7992699f56f6348d15c9572855e0ad84b18.tar.gz |
Only rewrite constructors for scalars/vectors/matrices
Bug: angleproject:5505
Change-Id: I50b3a9a585b2eec6e4d7bd9b3197206a973d4400
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3147071
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Gregg Tavares <gman@chromium.org>
-rw-r--r-- | src/compiler/translator/tree_ops/ConvertUnsupportedConstructorsToFunctionCalls.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/compiler/translator/tree_ops/ConvertUnsupportedConstructorsToFunctionCalls.cpp b/src/compiler/translator/tree_ops/ConvertUnsupportedConstructorsToFunctionCalls.cpp index d0a3f89958..8f0233ce6d 100644 --- a/src/compiler/translator/tree_ops/ConvertUnsupportedConstructorsToFunctionCalls.cpp +++ b/src/compiler/translator/tree_ops/ConvertUnsupportedConstructorsToFunctionCalls.cpp @@ -194,6 +194,16 @@ class Traverser : public TIntermTraverser const TType &type = node->getType(); const TType &arg0Type = arguments[0]->getAsTyped()->getType(); + if (!type.isScalar() && !type.isVector() && !type.isMatrix()) + { + return true; + } + + if (type.isArray()) + { + return true; + } + // check for type_ctor(sameType) // scalar(scalar) -> passthrough // vecN(vecN) -> passthrough |