Miscellaneous ES 3.1 semantics, and identification of all missing features.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@27732 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
John Kessenich 2014-08-14 07:07:21 +00:00
parent f014740066
commit b3007519fc
11 changed files with 210 additions and 14 deletions

View file

@ -919,7 +919,9 @@ int TScanContext::tokenizeIdentifier()
return keyword;
case PRECISE:
if (parseContext.profile == EEsProfile ||
if (parseContext.profile == EEsProfile && parseContext.version >= 310)
reservedWord();
else if (parseContext.profile == EEsProfile ||
(parseContext.profile != EEsProfile && parseContext.version < 400))
return identifierOrType();
return keyword;
@ -1104,6 +1106,11 @@ int TScanContext::secondGenerationImage()
{
afterType = true;
if (parseContext.profile == EEsProfile && parseContext.version >= 310) {
reservedWord();
return keyword;
}
if (parseContext.symbolTable.atBuiltInLevel() || parseContext.profile != EEsProfile && (parseContext.version >= 420 || parseContext.extensionsTurnedOn(1, &GL_ARB_shader_image_load_store)))
return keyword;