Remove the now dead 'shared' type field, and add semantic check for buffer on non-block.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@27700 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
John Kessenich
2014-08-12 03:23:43 +00:00
parent 67cf1f6179
commit cc7f4eb5a0
5 changed files with 10 additions and 8 deletions

View File

@@ -315,7 +315,6 @@ public:
nopersp = false;
patch = false;
sample = false;
shared = false;
coherent = false;
volatil = false;
restrict = false;
@@ -333,7 +332,6 @@ public:
bool nopersp : 1;
bool patch : 1;
bool sample : 1;
bool shared : 1;
bool coherent : 1;
bool volatil : 1;
bool restrict : 1;
@@ -1179,8 +1177,6 @@ public:
p += snprintf(p, end - p, "patch ");
if (qualifier.sample)
p += snprintf(p, end - p, "sample ");
if (qualifier.shared)
p += snprintf(p, end - p, "shared ");
if (qualifier.coherent)
p += snprintf(p, end - p, "coherent ");
if (qualifier.volatil)

View File

@@ -1921,6 +1921,9 @@ void TParseContext::globalQualifierCheck(TSourceLoc loc, const TQualifier& quali
if (qualifier.isMemory() && ! publicType.isImage() && publicType.qualifier.storage != EvqBuffer)
error(loc, "memory qualifiers cannot be used on this type", "", "");
if (qualifier.storage == EvqBuffer && publicType.basicType != EbtBlock)
error(loc, "buffers can be declared only as blocks", "buffer", "");
if (qualifier.storage != EvqVaryingIn && qualifier.storage != EvqVaryingOut)
return;
@@ -2093,7 +2096,6 @@ void TParseContext::mergeQualifiers(TSourceLoc loc, TQualifier& dst, const TQual
MERGE_SINGLETON(nopersp);
MERGE_SINGLETON(patch);
MERGE_SINGLETON(sample);
MERGE_SINGLETON(shared);
MERGE_SINGLETON(coherent);
MERGE_SINGLETON(volatil);
MERGE_SINGLETON(restrict);

View File

@@ -296,8 +296,7 @@ void TIntermediate::mergeErrorCheck(TInfoSink& infoSink, const TIntermSymbol& sy
}
// Memory...
if (symbol.getQualifier().shared != unitSymbol.getQualifier().shared ||
symbol.getQualifier().coherent != unitSymbol.getQualifier().coherent ||
if (symbol.getQualifier().coherent != unitSymbol.getQualifier().coherent ||
symbol.getQualifier().volatil != unitSymbol.getQualifier().volatil ||
symbol.getQualifier().restrict != unitSymbol.getQualifier().restrict ||
symbol.getQualifier().readonly != unitSymbol.getQualifier().readonly ||