Commit dd6ca178 by John Kessenich

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

parent 71e04d62
...@@ -96,7 +96,7 @@ layout(std140) uniform block2 { ...@@ -96,7 +96,7 @@ layout(std140) uniform block2 {
layout(offset = 164, align = 8) float j; // j takes offsets 168-171 layout(offset = 164, align = 8) float j; // j takes offsets 168-171
} specExample; } specExample;
layout(std430) uniform block430 { layout(std430) buffer block430 {
vec4 a; // a takes offsets 0-15 vec4 a; // a takes offsets 0-15
layout(offset = 32) vec3 b; // b takes offsets 32-43 layout(offset = 32) vec3 b; // b takes offsets 32-43
layout(offset = 40) vec2 c; // ERROR, lies within previous member layout(offset = 40) vec2 c; // ERROR, lies within previous member
...@@ -105,7 +105,7 @@ layout(std430) uniform block430 { ...@@ -105,7 +105,7 @@ layout(std430) uniform block430 {
layout(align = 0) double i; // ERROR, 0 not a power of 2 layout(align = 0) double i; // ERROR, 0 not a power of 2
} specExampleErrors430; } specExampleErrors430;
layout(std430) uniform block2430 { layout(std430) buffer block2430 {
vec4 a; // a takes offsets 0-15 vec4 a; // a takes offsets 0-15
layout(offset = 32) vec3 b; // b takes offsets 32-43 layout(offset = 32) vec3 b; // b takes offsets 32-43
layout(offset = 48) vec2 d; // d takes offsets 48-55 layout(offset = 48) vec2 d; // d takes offsets 48-55
...@@ -116,7 +116,7 @@ layout(std430) uniform block2430 { ...@@ -116,7 +116,7 @@ layout(std430) uniform block2430 {
layout(offset = 164, align = 8) float j; // j takes offsets 168-171 layout(offset = 164, align = 8) float j; // j takes offsets 168-171
} specExample430; } specExample430;
layout(std430, align = 128) uniform block24300 { layout(std430, align = 128) buffer block24300 {
vec4 a; vec4 a;
vec3 b; vec3 b;
vec2 d; vec2 d;
...@@ -126,7 +126,7 @@ layout(std430, align = 128) uniform block24300 { ...@@ -126,7 +126,7 @@ layout(std430, align = 128) uniform block24300 {
dvec3 i; dvec3 i;
} specExample4300; } specExample4300;
layout(std430, align = 128) uniform block24301 { layout(std430, align = 128) buffer block24301 {
vec4 a; vec4 a;
vec3 b; vec3 b;
vec2 d; vec2 d;
......
...@@ -39,7 +39,7 @@ ERROR: 0:168: 'Binst' : cannot add storage, auxiliary, memory, interpolation, la ...@@ -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: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: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' : 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: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: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' 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 ...@@ -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: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: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: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: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:105: 'location' : overlapping use of location 12
ERROR: 0:107: 'input block' : not supported in this stage: vertex ERROR: 0:107: 'input block' : not supported in this stage: vertex
......
...@@ -2,5 +2,5 @@ ...@@ -2,5 +2,5 @@
// For the version, it uses the latest git tag followed by the number of commits. // 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). // For the date, it uses the current date (when then script is run).
#define GLSLANG_REVISION "SPIRV99.809" #define GLSLANG_REVISION "SPIRV99.821"
#define GLSLANG_DATE "28-Nov-2015" #define GLSLANG_DATE "06-Dec-2015"
...@@ -5187,7 +5187,7 @@ void TParseContext::blockStageIoCheck(const TSourceLoc& loc, const TQualifier& q ...@@ -5187,7 +5187,7 @@ void TParseContext::blockStageIoCheck(const TSourceLoc& loc, const TQualifier& q
profileRequires(loc, EEsProfile, 300, nullptr, "uniform block"); profileRequires(loc, EEsProfile, 300, nullptr, "uniform block");
profileRequires(loc, ENoProfile, 140, nullptr, "uniform block"); profileRequires(loc, ENoProfile, 140, nullptr, "uniform block");
if (currentBlockQualifier.layoutPacking == ElpStd430) if (currentBlockQualifier.layoutPacking == ElpStd430)
requireProfile(loc, ~EEsProfile, "std430 on a uniform block"); error(loc, "requires the 'buffer' storage qualifier", "std430", "");
break; break;
case EvqBuffer: case EvqBuffer:
requireProfile(loc, EEsProfile | ECoreProfile | ECompatibilityProfile, "buffer block"); 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