glslang: Bug 13724: ES global initializers must be constant.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@30990 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
parent
09388459a8
commit
968c8f8e78
9 changed files with 299 additions and 206 deletions
|
|
@ -4154,6 +4154,15 @@ TIntermNode* TParseContext::executeInitializer(TSourceLoc loc, TString& identifi
|
|||
variable->getWritableType().getQualifier().storage = EvqConstReadOnly;
|
||||
qualifier = EvqConstReadOnly;
|
||||
}
|
||||
} else {
|
||||
// Non-const global variables in ES need a const initializer.
|
||||
//
|
||||
// "In declarations of global variables with no storage qualifier or with a const
|
||||
// qualifier any initializer must be a constant expression."
|
||||
if (symbolTable.atGlobalLevel() && initializer->getType().getQualifier().storage != EvqConst) {
|
||||
const char* initFeature = "non-constant global initializer";
|
||||
requireProfile(loc, ~EEsProfile, initFeature);
|
||||
}
|
||||
}
|
||||
|
||||
if (qualifier == EvqConst || qualifier == EvqUniform) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue