Add memory qualifiers (coherent volatile restrict) to imageSize(), imageLoad(), imageStore(), atomic*(), and imageAtomic*(), to remove errors about dropping qualifiers.
Several bugs are related to this, and this is a slightly speculative fix, bit it is certainly wrong to either do it the way it was or to reflect the current specifications. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@28968 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
@@ -62,7 +62,11 @@ void foo23()
|
||||
|
||||
layout(binding=3) uniform sampler2D s1;
|
||||
layout(binding=3) uniform sampler2D s2; // ERROR: overlapping bindings? Don't see that in the 310 spec.
|
||||
layout(binding=2) uniform writeonly image2D i2D;
|
||||
layout(binding=2) uniform writeonly image2D i2D;
|
||||
layout(binding=4) uniform readonly image3D i3D;
|
||||
layout(binding=5) uniform imageCube iCube;
|
||||
layout(binding=6) uniform image2DArray i2DA;
|
||||
layout(binding=6) uniform coherent volatile restrict image2D i2Dqualified;
|
||||
|
||||
layout(binding = 1) uniform bb {
|
||||
int foo;
|
||||
@@ -97,6 +101,10 @@ void foots()
|
||||
highp ivec3 v3 = textureSize(isamp2DA, 3);
|
||||
v2 = textureSize(s2dms);
|
||||
v2 = imageSize(i2D);
|
||||
v3 = imageSize(i3D);
|
||||
v2 = imageSize(iCube);
|
||||
v3 = imageSize(i2DA);
|
||||
v2 = imageSize(i2Dqualified);
|
||||
}
|
||||
|
||||
out bool bout; // ERROR
|
||||
|
||||
Reference in New Issue
Block a user