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
diff --git a/Test/430.vert b/Test/430.vert
index 399a895..4cc8d29 100644
--- a/Test/430.vert
+++ b/Test/430.vert
@@ -155,3 +155,5 @@
     memoryBarrierImage();

     groupMemoryBarrier();            // ERROR

 }

+

+buffer vec4 v;  // ERROR

diff --git a/Test/baseResults/430.vert.out b/Test/baseResults/430.vert.out
index 4e8b1ef..de38acb 100644
--- a/Test/baseResults/430.vert.out
+++ b/Test/baseResults/430.vert.out
@@ -48,7 +48,8 @@
 ERROR: 0:150: 'barrier' : no matching overloaded function found 

 ERROR: 0:154: 'memoryBarrierShared' : no matching overloaded function found 

 ERROR: 0:156: 'groupMemoryBarrier' : no matching overloaded function found 

-ERROR: 48 compilation errors.  No code generated.

+ERROR: 0:159: 'buffer' : buffers can be declared only as blocks 

+ERROR: 49 compilation errors.  No code generated.

 

 

 Shader version: 430

@@ -127,6 +128,7 @@
 0:?     'bbinst4' (layout(xfb_stride=80 ) out block{layout(xfb_buffer=1 xfb_offset=16 ) out 4-component vector of float bbv1})

 0:?     'bbinst5' (out block{layout(xfb_buffer=1 xfb_offset=0 ) out 4-component vector of float bbv1, layout(xfb_buffer=1 xfb_offset=64 xfb_stride=80 ) out 4-component vector of float bbv2})

 0:?     'sharedv' (shared 4-component vector of float)

+0:?     'v' (buffer 4-component vector of float)

 0:?     'gl_VertexID' (gl_VertexId int)

 0:?     'gl_InstanceID' (gl_InstanceId int)

 

@@ -213,6 +215,7 @@
 0:?     'bbinst4' (layout(xfb_stride=80 ) out block{layout(xfb_buffer=1 xfb_offset=16 ) out 4-component vector of float bbv1})

 0:?     'bbinst5' (out block{layout(xfb_buffer=1 xfb_offset=0 ) out 4-component vector of float bbv1, layout(xfb_buffer=1 xfb_offset=64 xfb_stride=80 ) out 4-component vector of float bbv2})

 0:?     'sharedv' (shared 4-component vector of float)

+0:?     'v' (buffer 4-component vector of float)

 0:?     'gl_VertexID' (gl_VertexId int)

 0:?     'gl_InstanceID' (gl_InstanceId int)

 

diff --git a/glslang/Include/Types.h b/glslang/Include/Types.h
index 82d247c..cb43467 100644
--- a/glslang/Include/Types.h
+++ b/glslang/Include/Types.h
@@ -315,7 +315,6 @@
         nopersp   = false;
         patch     = false;
         sample    = false;
-        shared    = false;
         coherent  = false;
         volatil   = false;
         restrict  = false;
@@ -333,7 +332,6 @@
     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 @@
             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)
diff --git a/glslang/MachineIndependent/ParseHelper.cpp b/glslang/MachineIndependent/ParseHelper.cpp
index a3484a9..16c6b92 100644
--- a/glslang/MachineIndependent/ParseHelper.cpp
+++ b/glslang/MachineIndependent/ParseHelper.cpp
@@ -1921,6 +1921,9 @@
     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 @@
     MERGE_SINGLETON(nopersp);
     MERGE_SINGLETON(patch);
     MERGE_SINGLETON(sample);
-    MERGE_SINGLETON(shared);
     MERGE_SINGLETON(coherent);
     MERGE_SINGLETON(volatil);
     MERGE_SINGLETON(restrict);
diff --git a/glslang/MachineIndependent/linkValidate.cpp b/glslang/MachineIndependent/linkValidate.cpp
index 3628f99..310350d 100644
--- a/glslang/MachineIndependent/linkValidate.cpp
+++ b/glslang/MachineIndependent/linkValidate.cpp
@@ -296,8 +296,7 @@
     }

 

     // 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 ||