GLSL: Implement correct semantic checking for run-time sized arrays.

This commit is contained in:
John Kessenich 2018-04-02 14:52:15 -06:00
parent 5a867acad5
commit 6a4a427efe
5 changed files with 601 additions and 2 deletions

View file

@ -427,6 +427,8 @@ protected:
TVariable* makeInternalVariable(const char* name, const TType&) const;
TVariable* declareNonArray(const TSourceLoc&, const TString& identifier, const TType&);
void declareArray(const TSourceLoc&, const TString& identifier, const TType&, TSymbol*&);
bool isRuntimeSizable(const TIntermTyped&) const;
bool isRuntimeLength(const TIntermTyped&) const;
TIntermNode* executeInitializer(const TSourceLoc&, TIntermTyped* initializer, TVariable* variable);
TIntermTyped* convertInitializerList(const TSourceLoc&, const TType&, TIntermTyped* initializer);
void finish() override;