Commit dd6ca178 by John Kessenich

Semantics: Correct that std430 is universally disallowed with 'uniform'.

parent 71e04d62
......@@ -96,7 +96,7 @@ layout(std140) uniform block2 {
layout(offset = 164, align = 8) float j; // j takes offsets 168-171
} specExample;
layout(std430) uniform block430 {
layout(std430) buffer block430 {
vec4 a; // a takes offsets 0-15
layout(offset = 32) vec3 b; // b takes offsets 32-43
layout(offset = 40) vec2 c; // ERROR, lies within previous member
......@@ -105,7 +105,7 @@ layout(std430) uniform block430 {
layout(align = 0) double i; // ERROR, 0 not a power of 2
} specExampleErrors430;
layout(std430) uniform block2430 {
layout(std430) buffer block2430 {
vec4 a; // a takes offsets 0-15
layout(offset = 32) vec3 b; // b takes offsets 32-43
layout(offset = 48) vec2 d; // d takes offsets 48-55
......@@ -116,7 +116,7 @@ layout(std430) uniform block2430 {
layout(offset = 164, align = 8) float j; // j takes offsets 168-171
} specExample430;
layout(std430, align = 128) uniform block24300 {
layout(std430, align = 128) buffer block24300 {
vec4 a;
vec3 b;
vec2 d;
......@@ -126,7 +126,7 @@ layout(std430, align = 128) uniform block24300 {
dvec3 i;
} specExample4300;
layout(std430, align = 128) uniform block24301 {
layout(std430, align = 128) buffer block24301 {
vec4 a;
vec3 b;
vec2 d;
......
......@@ -39,7 +39,7 @@ ERROR: 0:168: 'Binst' : cannot add storage, auxiliary, memory, interpolation, la
ERROR: 0:169: 'Bblock' : cannot add storage, auxiliary, memory, interpolation, layout, or precision qualifier to an existing variable
ERROR: 0:170: 'Bfoo' : cannot add storage, auxiliary, memory, interpolation, layout, or precision qualifier to an existing variable
ERROR: 0:172: 'std430' : not supported for this version or the enabled extensions
ERROR: 0:172: 'std430 on a uniform block' : not supported with this profile: es
ERROR: 0:172: 'std430' : requires the 'buffer' storage qualifier
ERROR: 0:175: '' : array size required
ERROR: 0:185: 'assign' : cannot convert from 'temp 4-element array of highp float' to 'temp 3-element array of highp float'
ERROR: 0:186: 'assign' : cannot convert from 'temp 3-element array of highp float' to 'temp 4-element array of highp float'
......
......@@ -16,7 +16,7 @@ ERROR: 0:78: 'vertex-shader array-of-struct output' : not supported with this pr
ERROR: 0:79: 'vertex-shader array-of-struct output' : not supported with this profile: es
ERROR: 0:81: 'vertex-shader struct output containing an array' : not supported with this profile: es
ERROR: 0:83: 'vertex-shader struct output containing structure' : not supported with this profile: es
ERROR: 0:85: 'std430 on a uniform block' : not supported with this profile: es
ERROR: 0:85: 'std430' : requires the 'buffer' storage qualifier
ERROR: 0:97: 's' : member of block cannot be or contain a sampler, image, or atomic_uint type
ERROR: 0:105: 'location' : overlapping use of location 12
ERROR: 0:107: 'input block' : not supported in this stage: vertex
......
......@@ -2,5 +2,5 @@
// For the version, it uses the latest git tag followed by the number of commits.
// For the date, it uses the current date (when then script is run).
#define GLSLANG_REVISION "SPIRV99.809"
#define GLSLANG_DATE "28-Nov-2015"
#define GLSLANG_REVISION "SPIRV99.821"
#define GLSLANG_DATE "06-Dec-2015"
......@@ -5187,7 +5187,7 @@ void TParseContext::blockStageIoCheck(const TSourceLoc& loc, const TQualifier& q
profileRequires(loc, EEsProfile, 300, nullptr, "uniform block");
profileRequires(loc, ENoProfile, 140, nullptr, "uniform block");
if (currentBlockQualifier.layoutPacking == ElpStd430)
requireProfile(loc, ~EEsProfile, "std430 on a uniform block");
error(loc, "requires the 'buffer' storage qualifier", "std430", "");
break;
case EvqBuffer:
requireProfile(loc, EEsProfile | ECoreProfile | ECompatibilityProfile, "buffer block");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment