SPV: Don't make MissingFunctionality() exit anymore.

This commit is contained in:
John Kessenich
2015-12-21 21:21:11 -07:00
parent 2211835b4d
commit 50e57560a1
3 changed files with 6 additions and 13 deletions

View File

@@ -786,16 +786,14 @@ bool TGlslangToSpvTraverser::visitBinary(glslang::TVisit /* visit */, glslang::T
convertGlslangToSpvType(node->getType()), left, right,
node->getLeft()->getType().getBasicType());
builder.clearAccessChain();
if (! result) {
spv::MissingFunctionality("unknown glslang binary operation");
return true; // pick up a child as the place-holder result
} else {
builder.clearAccessChain();
builder.setAccessChainRValue(result);
return false;
}
return true;
}
bool TGlslangToSpvTraverser::visitUnary(glslang::TVisit /* visit */, glslang::TIntermUnary* node)
@@ -908,10 +906,8 @@ bool TGlslangToSpvTraverser::visitUnary(glslang::TVisit /* visit */, glslang::TI
default:
spv::MissingFunctionality("unknown glslang unary");
break;
return true; // pick up operand as placeholder result
}
return true;
}
bool TGlslangToSpvTraverser::visitAggregate(glslang::TVisit visit, glslang::TIntermAggregate* node)
@@ -1251,7 +1247,7 @@ bool TGlslangToSpvTraverser::visitAggregate(glslang::TVisit visit, glslang::TInt
if (! result) {
spv::MissingFunctionality("unknown glslang aggregate");
return true;
return true; // pick up a child as a placeholder operand
} else {
builder.clearAccessChain();
builder.setAccessChainRValue(result);