GLSL: Error when using location on an arrayed block.

This implements a recent change to the GLSL specification to enforce
this ill-defined situation.
This commit is contained in:
John Kessenich 2017-06-04 13:05:50 -06:00
parent 99f289d438
commit 8de7e7bf14
6 changed files with 55 additions and 4 deletions

View file

@ -338,6 +338,7 @@ public:
void setLayoutQualifier(const TSourceLoc&, TPublicType&, TString&, const TIntermTyped*);
void mergeObjectLayoutQualifiers(TQualifier& dest, const TQualifier& src, bool inheritOnly);
void layoutObjectCheck(const TSourceLoc&, const TSymbol&);
void layoutMemberLocationArrayCheck(const TSourceLoc&, bool memberWithLocation, TArraySizes* arraySizes);
void layoutTypeCheck(const TSourceLoc&, const TType&);
void layoutQualifierCheck(const TSourceLoc&, const TQualifier&);
void checkNoShaderLayouts(const TSourceLoc&, const TShaderQualifiers&);