Infrastructure: Protect against missing built-in symbol table generators.
This commit is contained in:
parent
ce80197c22
commit
65d538c832
@ -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 "Overload400-PrecQual.1750"
|
#define GLSLANG_REVISION "Overload400-PrecQual.1759"
|
||||||
#define GLSLANG_DATE "06-Jan-2017"
|
#define GLSLANG_DATE "11-Jan-2017"
|
||||||
|
|||||||
@ -296,6 +296,9 @@ bool InitializeSymbolTables(TInfoSink& infoSink, TSymbolTable** commonTable, TS
|
|||||||
{
|
{
|
||||||
std::unique_ptr<TBuiltInParseables> builtInParseables(CreateBuiltInParseables(infoSink, source));
|
std::unique_ptr<TBuiltInParseables> builtInParseables(CreateBuiltInParseables(infoSink, source));
|
||||||
|
|
||||||
|
if (builtInParseables == nullptr)
|
||||||
|
return false;
|
||||||
|
|
||||||
builtInParseables->initialize(version, profile, spvVersion);
|
builtInParseables->initialize(version, profile, spvVersion);
|
||||||
|
|
||||||
// do the common tables
|
// do the common tables
|
||||||
@ -342,6 +345,9 @@ bool AddContextSpecificSymbols(const TBuiltInResource* resources, TInfoSink& inf
|
|||||||
{
|
{
|
||||||
std::unique_ptr<TBuiltInParseables> builtInParseables(CreateBuiltInParseables(infoSink, source));
|
std::unique_ptr<TBuiltInParseables> builtInParseables(CreateBuiltInParseables(infoSink, source));
|
||||||
|
|
||||||
|
if (builtInParseables == nullptr)
|
||||||
|
return false;
|
||||||
|
|
||||||
builtInParseables->initialize(*resources, version, profile, spvVersion, language);
|
builtInParseables->initialize(*resources, version, profile, spvVersion, language);
|
||||||
InitializeSymbolTable(builtInParseables->getCommonString(), version, profile, spvVersion, language, source, infoSink, symbolTable);
|
InitializeSymbolTable(builtInParseables->getCommonString(), version, profile, spvVersion, language, source, infoSink, symbolTable);
|
||||||
builtInParseables->identifyBuiltIns(version, profile, spvVersion, language, symbolTable, *resources);
|
builtInParseables->identifyBuiltIns(version, profile, spvVersion, language, symbolTable, *resources);
|
||||||
@ -736,8 +742,9 @@ bool ProcessDeferred(
|
|||||||
|
|
||||||
// Add built-in symbols that are potentially context dependent;
|
// Add built-in symbols that are potentially context dependent;
|
||||||
// they get popped again further down.
|
// they get popped again further down.
|
||||||
AddContextSpecificSymbols(resources, compiler->infoSink, symbolTable, version, profile, spvVersion,
|
if (! AddContextSpecificSymbols(resources, compiler->infoSink, symbolTable, version, profile, spvVersion,
|
||||||
compiler->getLanguage(), source);
|
compiler->getLanguage(), source))
|
||||||
|
return false;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Now we can process the full shader under proper symbols and rules.
|
// Now we can process the full shader under proper symbols and rules.
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user