SPV: Don't make MissingFunctionality() exit anymore.
This commit is contained in:
parent
2211835b4d
commit
50e57560a1
@ -786,16 +786,14 @@ bool TGlslangToSpvTraverser::visitBinary(glslang::TVisit /* visit */, glslang::T
|
|||||||
convertGlslangToSpvType(node->getType()), left, right,
|
convertGlslangToSpvType(node->getType()), left, right,
|
||||||
node->getLeft()->getType().getBasicType());
|
node->getLeft()->getType().getBasicType());
|
||||||
|
|
||||||
|
builder.clearAccessChain();
|
||||||
if (! result) {
|
if (! result) {
|
||||||
spv::MissingFunctionality("unknown glslang binary operation");
|
spv::MissingFunctionality("unknown glslang binary operation");
|
||||||
|
return true; // pick up a child as the place-holder result
|
||||||
} else {
|
} else {
|
||||||
builder.clearAccessChain();
|
|
||||||
builder.setAccessChainRValue(result);
|
builder.setAccessChainRValue(result);
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TGlslangToSpvTraverser::visitUnary(glslang::TVisit /* visit */, glslang::TIntermUnary* node)
|
bool TGlslangToSpvTraverser::visitUnary(glslang::TVisit /* visit */, glslang::TIntermUnary* node)
|
||||||
@ -908,10 +906,8 @@ bool TGlslangToSpvTraverser::visitUnary(glslang::TVisit /* visit */, glslang::TI
|
|||||||
|
|
||||||
default:
|
default:
|
||||||
spv::MissingFunctionality("unknown glslang unary");
|
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)
|
bool TGlslangToSpvTraverser::visitAggregate(glslang::TVisit visit, glslang::TIntermAggregate* node)
|
||||||
@ -1251,7 +1247,7 @@ bool TGlslangToSpvTraverser::visitAggregate(glslang::TVisit visit, glslang::TInt
|
|||||||
|
|
||||||
if (! result) {
|
if (! result) {
|
||||||
spv::MissingFunctionality("unknown glslang aggregate");
|
spv::MissingFunctionality("unknown glslang aggregate");
|
||||||
return true;
|
return true; // pick up a child as a placeholder operand
|
||||||
} else {
|
} else {
|
||||||
builder.clearAccessChain();
|
builder.clearAccessChain();
|
||||||
builder.setAccessChainRValue(result);
|
builder.setAccessChainRValue(result);
|
||||||
|
|||||||
@ -1369,14 +1369,12 @@ Id Builder::createTextureQueryCall(Op opCode, const TextureParameters& parameter
|
|||||||
case Dim2D:
|
case Dim2D:
|
||||||
case DimCube:
|
case DimCube:
|
||||||
case DimRect:
|
case DimRect:
|
||||||
|
case DimSubpassData:
|
||||||
numComponents = 2;
|
numComponents = 2;
|
||||||
break;
|
break;
|
||||||
case Dim3D:
|
case Dim3D:
|
||||||
numComponents = 3;
|
numComponents = 3;
|
||||||
break;
|
break;
|
||||||
case DimSubpassData:
|
|
||||||
MissingFunctionality("input-attachment dim");
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
assert(0);
|
assert(0);
|
||||||
@ -2251,7 +2249,6 @@ void TbdFunctionality(const char* tbd)
|
|||||||
void MissingFunctionality(const char* fun)
|
void MissingFunctionality(const char* fun)
|
||||||
{
|
{
|
||||||
printf("Missing functionality: %s\n", fun);
|
printf("Missing functionality: %s\n", fun);
|
||||||
exit(1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Builder::Loop::Loop(Builder& builder, bool testFirstArg)
|
Builder::Loop::Loop(Builder& builder, bool testFirstArg)
|
||||||
|
|||||||
@ -2,5 +2,5 @@
|
|||||||
// For the version, it uses the latest git tag followed by the number of commits.
|
// For the version, it uses the latest git tag followed by the number of commits.
|
||||||
// For the date, it uses the current date (when then script is run).
|
// For the date, it uses the current date (when then script is run).
|
||||||
|
|
||||||
#define GLSLANG_REVISION "SPIRV99.863"
|
#define GLSLANG_REVISION "SPIRV99.864"
|
||||||
#define GLSLANG_DATE "21-Dec-2015"
|
#define GLSLANG_DATE "21-Dec-2015"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user