aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGregg Tavares <gman@chromium.org>2021-09-07 22:25:23 -0700
committerAngle LUCI CQ <angle-scoped@luci-project-accounts.iam.gserviceaccount.com>2021-09-08 19:38:41 +0000
commitc9acd7992699f56f6348d15c9572855e0ad84b18 (patch)
treed02a5832e1033cef2886598ef3fd4312ab3fb0d7
parent46555145d8cc55464021a054bfe56e0be34e8dae (diff)
downloadangle-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.cpp10
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