summaryrefslogtreecommitdiffstats
path: root/gfx/angle/src/compiler/translator/RemovePow.cpp
diff options
context:
space:
mode:
authorwolfbeast <mcwerewolf@gmail.com>2018-08-05 11:35:53 +0200
committerwolfbeast <mcwerewolf@gmail.com>2018-08-05 11:35:53 +0200
commit6bd66b1728eeddb058066edda740aaeb2ceaec23 (patch)
tree985faf01c526763515731569fa01a99f4dbef36e /gfx/angle/src/compiler/translator/RemovePow.cpp
parente0a8dcfed131ffa58a5e2cb1d30fe48c745c2fdc (diff)
parent559824514dc95e02fbe81f1786e6ac13ee8e9d55 (diff)
downloadUXP-6bd66b1728eeddb058066edda740aaeb2ceaec23.tar
UXP-6bd66b1728eeddb058066edda740aaeb2ceaec23.tar.gz
UXP-6bd66b1728eeddb058066edda740aaeb2ceaec23.tar.lz
UXP-6bd66b1728eeddb058066edda740aaeb2ceaec23.tar.xz
UXP-6bd66b1728eeddb058066edda740aaeb2ceaec23.zip
Merge branch 'master' into js-modules
Diffstat (limited to 'gfx/angle/src/compiler/translator/RemovePow.cpp')
-rwxr-xr-xgfx/angle/src/compiler/translator/RemovePow.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/gfx/angle/src/compiler/translator/RemovePow.cpp b/gfx/angle/src/compiler/translator/RemovePow.cpp
index 192084c36..ba505753a 100755
--- a/gfx/angle/src/compiler/translator/RemovePow.cpp
+++ b/gfx/angle/src/compiler/translator/RemovePow.cpp
@@ -13,9 +13,6 @@
#include "compiler/translator/InfoSink.h"
#include "compiler/translator/IntermNode.h"
-namespace sh
-{
-
namespace
{
@@ -58,15 +55,19 @@ bool RemovePowTraverser::visitAggregate(Visit visit, TIntermAggregate *node)
TIntermTyped *x = node->getSequence()->at(0)->getAsTyped();
TIntermTyped *y = node->getSequence()->at(1)->getAsTyped();
- TIntermUnary *log = new TIntermUnary(EOpLog2, x);
+ TIntermUnary *log = new TIntermUnary(EOpLog2);
+ log->setOperand(x);
log->setLine(node->getLine());
+ log->setType(x->getType());
TOperator op = TIntermBinary::GetMulOpBasedOnOperands(y->getType(), log->getType());
TIntermBinary *mul = new TIntermBinary(op, y, log);
mul->setLine(node->getLine());
- TIntermUnary *exp = new TIntermUnary(EOpExp2, mul);
+ TIntermUnary *exp = new TIntermUnary(EOpExp2);
+ exp->setOperand(mul);
exp->setLine(node->getLine());
+ exp->setType(node->getType());
queueReplacement(node, exp, OriginalNode::IS_DROPPED);
@@ -95,5 +96,3 @@ void RemovePow(TIntermNode *root)
}
while (traverser.needAnotherIteration());
}
-
-} // namespace sh