For all keywords already present, get correct when they could be identifiers, are reserved words, or are keywords, for all versions of ESSL and GLSL.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@21282 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
parent
09da79e190
commit
c2ff7702be
13 changed files with 624 additions and 337 deletions
|
|
@ -1619,24 +1619,24 @@ interpolation_qualifier
|
|||
: SMOOTH {
|
||||
if (parseContext.globalErrorCheck($1.line, parseContext.symbolTable.atGlobalLevel(), "smooth"))
|
||||
parseContext.recover();
|
||||
parseContext.profileRequires($$.line, ENoProfile, 130, 0, "smooth");
|
||||
parseContext.profileRequires($$.line, EEsProfile, 300, 0, "smooth");
|
||||
parseContext.profileRequires($1.line, ENoProfile, 130, 0, "smooth");
|
||||
parseContext.profileRequires($1.line, EEsProfile, 300, 0, "smooth");
|
||||
$$.init($1.line);
|
||||
$$.qualifier.smooth = true;
|
||||
}
|
||||
| FLAT {
|
||||
if (parseContext.globalErrorCheck($1.line, parseContext.symbolTable.atGlobalLevel(), "flat"))
|
||||
parseContext.recover();
|
||||
parseContext.profileRequires($$.line, ENoProfile, 130, 0, "flat");
|
||||
parseContext.profileRequires($$.line, EEsProfile, 300, 0, "flat");
|
||||
parseContext.profileRequires($1.line, ENoProfile, 130, 0, "flat");
|
||||
parseContext.profileRequires($1.line, EEsProfile, 300, 0, "flat");
|
||||
$$.init($1.line);
|
||||
$$.qualifier.flat = true;
|
||||
}
|
||||
| NOPERSPECTIVE {
|
||||
if (parseContext.globalErrorCheck($1.line, parseContext.symbolTable.atGlobalLevel(), "noperspective"))
|
||||
parseContext.recover();
|
||||
parseContext.requireProfile($$.line, static_cast<EProfileMask>(~EEsProfileMask), "noperspective");
|
||||
parseContext.profileRequires($$.line, ENoProfile, 130, 0, "noperspective");
|
||||
parseContext.requireProfile($1.line, static_cast<EProfileMask>(~EEsProfileMask), "noperspective");
|
||||
parseContext.profileRequires($1.line, ENoProfile, 130, 0, "noperspective");
|
||||
$$.init($1.line);
|
||||
$$.qualifier.nopersp = true;
|
||||
}
|
||||
|
|
@ -1769,8 +1769,8 @@ storage_qualifier
|
|||
$$.qualifier.storage = EvqOut;
|
||||
}
|
||||
| CENTROID {
|
||||
parseContext.profileRequires($$.line, ENoProfile, 120, 0, "centroid");
|
||||
parseContext.profileRequires($$.line, EEsProfile, 300, 0, "centroid");
|
||||
parseContext.profileRequires($1.line, ENoProfile, 120, 0, "centroid");
|
||||
parseContext.profileRequires($1.line, EEsProfile, 300, 0, "centroid");
|
||||
if (parseContext.globalErrorCheck($1.line, parseContext.symbolTable.atGlobalLevel(), "centroid"))
|
||||
parseContext.recover();
|
||||
$$.init($1.line);
|
||||
|
|
@ -1801,6 +1801,9 @@ storage_qualifier
|
|||
$$.qualifier.storage = EvqUniform; // TODO: 4.0 functionality: implement BUFFER
|
||||
}
|
||||
| SHARED {
|
||||
parseContext.requireProfile($1.line, static_cast<EProfileMask>(~EEsProfileMask), "shared");
|
||||
parseContext.profileRequires($1.line, ECoreProfile, 430, 0, "shared");
|
||||
parseContext.requireStage($1.line, EShLangComputeMask, "shared");
|
||||
$$.init($1.line);
|
||||
$$.qualifier.shared = true;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue