summaryrefslogtreecommitdiffstats
path: root/gfx/angle/src/compiler/translator/UnfoldShortCircuitAST.cpp
diff options
context:
space:
mode:
authorwolfbeast <mcwerewolf@gmail.com>2018-07-11 18:11:13 +0200
committerwolfbeast <mcwerewolf@gmail.com>2018-07-11 18:11:13 +0200
commit4f2ecd53a9daaf88bb7d075745eefb6e2e4741e0 (patch)
treef000dd831240707a03b8c806db292c2a15cde3ce /gfx/angle/src/compiler/translator/UnfoldShortCircuitAST.cpp
parent3b7ffb477eec078c7036c92c6a51bb5de6de4f28 (diff)
downloadUXP-4f2ecd53a9daaf88bb7d075745eefb6e2e4741e0.tar
UXP-4f2ecd53a9daaf88bb7d075745eefb6e2e4741e0.tar.gz
UXP-4f2ecd53a9daaf88bb7d075745eefb6e2e4741e0.tar.lz
UXP-4f2ecd53a9daaf88bb7d075745eefb6e2e4741e0.tar.xz
UXP-4f2ecd53a9daaf88bb7d075745eefb6e2e4741e0.zip
Roll back to ANGLE/2845
Diffstat (limited to 'gfx/angle/src/compiler/translator/UnfoldShortCircuitAST.cpp')
-rwxr-xr-xgfx/angle/src/compiler/translator/UnfoldShortCircuitAST.cpp17
1 files changed, 7 insertions, 10 deletions
diff --git a/gfx/angle/src/compiler/translator/UnfoldShortCircuitAST.cpp b/gfx/angle/src/compiler/translator/UnfoldShortCircuitAST.cpp
index b6a355a13..3ef555fc8 100755
--- a/gfx/angle/src/compiler/translator/UnfoldShortCircuitAST.cpp
+++ b/gfx/angle/src/compiler/translator/UnfoldShortCircuitAST.cpp
@@ -6,37 +6,36 @@
#include "compiler/translator/UnfoldShortCircuitAST.h"
-namespace sh
-{
-
namespace
{
// "x || y" is equivalent to "x ? true : y".
-TIntermTernary *UnfoldOR(TIntermTyped *x, TIntermTyped *y)
+TIntermSelection *UnfoldOR(TIntermTyped *x, TIntermTyped *y)
{
+ const TType boolType(EbtBool, EbpUndefined);
TConstantUnion *u = new TConstantUnion;
u->setBConst(true);
TIntermConstantUnion *trueNode = new TIntermConstantUnion(
u, TType(EbtBool, EbpUndefined, EvqConst, 1));
- return new TIntermTernary(x, trueNode, y);
+ return new TIntermSelection(x, trueNode, y, boolType);
}
// "x && y" is equivalent to "x ? y : false".
-TIntermTernary *UnfoldAND(TIntermTyped *x, TIntermTyped *y)
+TIntermSelection *UnfoldAND(TIntermTyped *x, TIntermTyped *y)
{
+ const TType boolType(EbtBool, EbpUndefined);
TConstantUnion *u = new TConstantUnion;
u->setBConst(false);
TIntermConstantUnion *falseNode = new TIntermConstantUnion(
u, TType(EbtBool, EbpUndefined, EvqConst, 1));
- return new TIntermTernary(x, y, falseNode);
+ return new TIntermSelection(x, y, falseNode, boolType);
}
} // namespace anonymous
bool UnfoldShortCircuitAST::visitBinary(Visit visit, TIntermBinary *node)
{
- TIntermTernary *replacement = nullptr;
+ TIntermSelection *replacement = NULL;
switch (node->getOp())
{
@@ -55,5 +54,3 @@ bool UnfoldShortCircuitAST::visitBinary(Visit visit, TIntermBinary *node)
}
return true;
}
-
-} // namespace sh