Commit 3c1dfb5a by Olli Etuaho

Add stubs for switch and case output

BUG=angle:921 Change-Id: I58bd645a8d53ef5bad9b680e54c8948d50932fca Reviewed-on: https://chromium-review.googlesource.com/251525Reviewed-by: 's avatarZhenyao Mo <zmo@chromium.org> Tested-by: 's avatarOlli Etuaho <oetuaho@nvidia.com> Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
parent b1f435e4
......@@ -461,17 +461,19 @@ TIntermTyped *TIntermediate::addSelection(
TIntermSwitch *TIntermediate::addSwitch(
TIntermTyped *init, TIntermAggregate *statementList, const TSourceLoc &line)
{
mInfoSink.info.message(EPrefixInternalError, line,
"Switch statements are disabled for now");
return nullptr;
TIntermSwitch *node = new TIntermSwitch(init, statementList);
node->setLine(line);
return node;
}
TIntermCase *TIntermediate::addCase(
TIntermTyped *condition, const TSourceLoc &line)
{
mInfoSink.info.message(EPrefixInternalError, line,
"Case labels and default labels are disabled for now");
return nullptr;
TIntermCase *node = new TIntermCase(condition);
node->setLine(line);
return node;
}
//
......
......@@ -638,6 +638,18 @@ bool TOutputGLSLBase::visitSelection(Visit visit, TIntermSelection *node)
return false;
}
bool TOutputGLSLBase::visitSwitch(Visit, TIntermSwitch *)
{
UNIMPLEMENTED();
return false;
}
bool TOutputGLSLBase::visitCase(Visit, TIntermCase *)
{
UNIMPLEMENTED();
return false;
}
bool TOutputGLSLBase::visitAggregate(Visit visit, TIntermAggregate *node)
{
bool visitChildren = true;
......
......@@ -37,6 +37,8 @@ class TOutputGLSLBase : public TIntermTraverser
virtual bool visitBinary(Visit visit, TIntermBinary *node);
virtual bool visitUnary(Visit visit, TIntermUnary *node);
virtual bool visitSelection(Visit visit, TIntermSelection *node);
virtual bool visitSwitch(Visit visit, TIntermSwitch *node);
virtual bool visitCase(Visit visit, TIntermCase *node);
virtual bool visitAggregate(Visit visit, TIntermAggregate *node);
virtual bool visitLoop(Visit visit, TIntermLoop *node);
virtual bool visitBranch(Visit visit, TIntermBranch *node);
......
......@@ -2242,6 +2242,18 @@ bool OutputHLSL::visitSelection(Visit visit, TIntermSelection *node)
return false;
}
bool OutputHLSL::visitSwitch(Visit, TIntermSwitch *)
{
UNIMPLEMENTED();
return false;
}
bool OutputHLSL::visitCase(Visit, TIntermCase *)
{
UNIMPLEMENTED();
return false;
}
void OutputHLSL::visitConstantUnion(TIntermConstantUnion *node)
{
writeConstantUnion(node->getType(), node->getUnionArrayPointer());
......
......@@ -56,6 +56,8 @@ class OutputHLSL : public TIntermTraverser
bool visitBinary(Visit visit, TIntermBinary*);
bool visitUnary(Visit visit, TIntermUnary*);
bool visitSelection(Visit visit, TIntermSelection*);
bool visitSwitch(Visit visit, TIntermSwitch *);
bool visitCase(Visit visit, TIntermCase *);
bool visitAggregate(Visit visit, TIntermAggregate*);
bool visitLoop(Visit visit, TIntermLoop*);
bool visitBranch(Visit visit, TIntermBranch*);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment