Semantics: Correct that std430 is universally disallowed with 'uniform'.
This commit is contained in:
parent
71e04d62a4
commit
dd6ca17845
@ -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
|
||||
|
@ -106,10 +106,10 @@ ERROR: node is still EOpNull!
|
||||
0:? 'inst11' (layout(column_major std430 ) uniform block{layout(column_major std430 offset=12 align=4 ) uniform float f, layout(column_major std430 ) uniform float g})
|
||||
0:? 'specExampleErrors' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform 4-component vector of float a, layout(column_major std140 offset=32 ) uniform 3-component vector of float b, layout(column_major std140 offset=48 ) uniform 2-component vector of float c, layout(column_major std140 offset=56 ) uniform double g, layout(column_major std140 offset=72 ) uniform double h})
|
||||
0:? 'specExample' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform 4-component vector of float a, layout(column_major std140 offset=32 ) uniform 3-component vector of float b, layout(column_major std140 offset=48 ) uniform 2-component vector of float d, layout(column_major std140 offset=64 align=16 ) uniform float e, layout(column_major std140 offset=72 align=2 ) uniform double f, layout(column_major std140 offset=80 ) uniform float h, layout(column_major std140 offset=128 align=64 ) uniform 3-component vector of double i, layout(column_major std140 offset=168 align=8 ) uniform float j})
|
||||
0:? 'specExampleErrors430' (layout(column_major std430 ) uniform block{layout(column_major std430 offset=0 ) uniform 4-component vector of float a, layout(column_major std430 offset=32 ) uniform 3-component vector of float b, layout(column_major std430 offset=48 ) uniform 2-component vector of float c, layout(column_major std430 offset=56 ) uniform double g, layout(column_major std430 offset=72 ) uniform double h, layout(column_major std430 offset=80 ) uniform double i})
|
||||
0:? 'specExample430' (layout(column_major std430 ) uniform block{layout(column_major std430 offset=0 ) uniform 4-component vector of float a, layout(column_major std430 offset=32 ) uniform 3-component vector of float b, layout(column_major std430 offset=48 ) uniform 2-component vector of float d, layout(column_major std430 offset=64 align=16 ) uniform float e, layout(column_major std430 offset=72 align=2 ) uniform double f, layout(column_major std430 offset=80 ) uniform float h, layout(column_major std430 offset=128 align=64 ) uniform 3-component vector of double i, layout(column_major std430 offset=168 align=8 ) uniform float j})
|
||||
0:? 'specExample4300' (layout(column_major std430 align=128 ) uniform block{layout(column_major std430 offset=0 align=128 ) uniform 4-component vector of float a, layout(column_major std430 offset=128 align=128 ) uniform 3-component vector of float b, layout(column_major std430 offset=256 align=128 ) uniform 2-component vector of float d, layout(column_major std430 offset=384 align=128 ) uniform float e, layout(column_major std430 offset=512 align=128 ) uniform double f, layout(column_major std430 offset=640 align=128 ) uniform float h, layout(column_major std430 offset=768 align=128 ) uniform 3-component vector of double i})
|
||||
0:? 'specExample4301' (layout(column_major std430 align=128 ) uniform block{layout(column_major std430 offset=0 align=128 ) uniform 4-component vector of float a, layout(column_major std430 offset=128 align=128 ) uniform 3-component vector of float b, layout(column_major std430 offset=256 align=128 ) uniform 2-component vector of float d, layout(column_major std430 offset=512 align=128 ) uniform float e, layout(column_major std430 offset=520 align=8 ) uniform double f, layout(column_major std430 offset=640 align=128 ) uniform float h, layout(column_major std430 offset=768 align=128 ) uniform 3-component vector of double i})
|
||||
0:? 'specExampleErrors430' (layout(column_major std430 ) buffer block{layout(column_major std430 offset=0 ) buffer 4-component vector of float a, layout(column_major std430 offset=32 ) buffer 3-component vector of float b, layout(column_major std430 offset=48 ) buffer 2-component vector of float c, layout(column_major std430 offset=56 ) buffer double g, layout(column_major std430 offset=72 ) buffer double h, layout(column_major std430 offset=80 ) buffer double i})
|
||||
0:? 'specExample430' (layout(column_major std430 ) buffer block{layout(column_major std430 offset=0 ) buffer 4-component vector of float a, layout(column_major std430 offset=32 ) buffer 3-component vector of float b, layout(column_major std430 offset=48 ) buffer 2-component vector of float d, layout(column_major std430 offset=64 align=16 ) buffer float e, layout(column_major std430 offset=72 align=2 ) buffer double f, layout(column_major std430 offset=80 ) buffer float h, layout(column_major std430 offset=128 align=64 ) buffer 3-component vector of double i, layout(column_major std430 offset=168 align=8 ) buffer float j})
|
||||
0:? 'specExample4300' (layout(column_major std430 align=128 ) buffer block{layout(column_major std430 offset=0 align=128 ) buffer 4-component vector of float a, layout(column_major std430 offset=128 align=128 ) buffer 3-component vector of float b, layout(column_major std430 offset=256 align=128 ) buffer 2-component vector of float d, layout(column_major std430 offset=384 align=128 ) buffer float e, layout(column_major std430 offset=512 align=128 ) buffer double f, layout(column_major std430 offset=640 align=128 ) buffer float h, layout(column_major std430 offset=768 align=128 ) buffer 3-component vector of double i})
|
||||
0:? 'specExample4301' (layout(column_major std430 align=128 ) buffer block{layout(column_major std430 offset=0 align=128 ) buffer 4-component vector of float a, layout(column_major std430 offset=128 align=128 ) buffer 3-component vector of float b, layout(column_major std430 offset=256 align=128 ) buffer 2-component vector of float d, layout(column_major std430 offset=512 align=128 ) buffer float e, layout(column_major std430 offset=520 align=8 ) buffer double f, layout(column_major std430 offset=640 align=128 ) buffer float h, layout(column_major std430 offset=768 align=128 ) buffer 3-component vector of double i})
|
||||
0:? 'aconst' (global 4-element array of int)
|
||||
0:? 'bconst' (global 64-element array of int)
|
||||
0:? 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
|
||||
@ -174,10 +174,10 @@ ERROR: node is still EOpNull!
|
||||
0:? 'inst11' (layout(column_major std430 ) uniform block{layout(column_major std430 offset=12 align=4 ) uniform float f, layout(column_major std430 ) uniform float g})
|
||||
0:? 'specExampleErrors' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform 4-component vector of float a, layout(column_major std140 offset=32 ) uniform 3-component vector of float b, layout(column_major std140 offset=48 ) uniform 2-component vector of float c, layout(column_major std140 offset=56 ) uniform double g, layout(column_major std140 offset=72 ) uniform double h})
|
||||
0:? 'specExample' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform 4-component vector of float a, layout(column_major std140 offset=32 ) uniform 3-component vector of float b, layout(column_major std140 offset=48 ) uniform 2-component vector of float d, layout(column_major std140 offset=64 align=16 ) uniform float e, layout(column_major std140 offset=72 align=2 ) uniform double f, layout(column_major std140 offset=80 ) uniform float h, layout(column_major std140 offset=128 align=64 ) uniform 3-component vector of double i, layout(column_major std140 offset=168 align=8 ) uniform float j})
|
||||
0:? 'specExampleErrors430' (layout(column_major std430 ) uniform block{layout(column_major std430 offset=0 ) uniform 4-component vector of float a, layout(column_major std430 offset=32 ) uniform 3-component vector of float b, layout(column_major std430 offset=48 ) uniform 2-component vector of float c, layout(column_major std430 offset=56 ) uniform double g, layout(column_major std430 offset=72 ) uniform double h, layout(column_major std430 offset=80 ) uniform double i})
|
||||
0:? 'specExample430' (layout(column_major std430 ) uniform block{layout(column_major std430 offset=0 ) uniform 4-component vector of float a, layout(column_major std430 offset=32 ) uniform 3-component vector of float b, layout(column_major std430 offset=48 ) uniform 2-component vector of float d, layout(column_major std430 offset=64 align=16 ) uniform float e, layout(column_major std430 offset=72 align=2 ) uniform double f, layout(column_major std430 offset=80 ) uniform float h, layout(column_major std430 offset=128 align=64 ) uniform 3-component vector of double i, layout(column_major std430 offset=168 align=8 ) uniform float j})
|
||||
0:? 'specExample4300' (layout(column_major std430 align=128 ) uniform block{layout(column_major std430 offset=0 align=128 ) uniform 4-component vector of float a, layout(column_major std430 offset=128 align=128 ) uniform 3-component vector of float b, layout(column_major std430 offset=256 align=128 ) uniform 2-component vector of float d, layout(column_major std430 offset=384 align=128 ) uniform float e, layout(column_major std430 offset=512 align=128 ) uniform double f, layout(column_major std430 offset=640 align=128 ) uniform float h, layout(column_major std430 offset=768 align=128 ) uniform 3-component vector of double i})
|
||||
0:? 'specExample4301' (layout(column_major std430 align=128 ) uniform block{layout(column_major std430 offset=0 align=128 ) uniform 4-component vector of float a, layout(column_major std430 offset=128 align=128 ) uniform 3-component vector of float b, layout(column_major std430 offset=256 align=128 ) uniform 2-component vector of float d, layout(column_major std430 offset=512 align=128 ) uniform float e, layout(column_major std430 offset=520 align=8 ) uniform double f, layout(column_major std430 offset=640 align=128 ) uniform float h, layout(column_major std430 offset=768 align=128 ) uniform 3-component vector of double i})
|
||||
0:? 'specExampleErrors430' (layout(column_major std430 ) buffer block{layout(column_major std430 offset=0 ) buffer 4-component vector of float a, layout(column_major std430 offset=32 ) buffer 3-component vector of float b, layout(column_major std430 offset=48 ) buffer 2-component vector of float c, layout(column_major std430 offset=56 ) buffer double g, layout(column_major std430 offset=72 ) buffer double h, layout(column_major std430 offset=80 ) buffer double i})
|
||||
0:? 'specExample430' (layout(column_major std430 ) buffer block{layout(column_major std430 offset=0 ) buffer 4-component vector of float a, layout(column_major std430 offset=32 ) buffer 3-component vector of float b, layout(column_major std430 offset=48 ) buffer 2-component vector of float d, layout(column_major std430 offset=64 align=16 ) buffer float e, layout(column_major std430 offset=72 align=2 ) buffer double f, layout(column_major std430 offset=80 ) buffer float h, layout(column_major std430 offset=128 align=64 ) buffer 3-component vector of double i, layout(column_major std430 offset=168 align=8 ) buffer float j})
|
||||
0:? 'specExample4300' (layout(column_major std430 align=128 ) buffer block{layout(column_major std430 offset=0 align=128 ) buffer 4-component vector of float a, layout(column_major std430 offset=128 align=128 ) buffer 3-component vector of float b, layout(column_major std430 offset=256 align=128 ) buffer 2-component vector of float d, layout(column_major std430 offset=384 align=128 ) buffer float e, layout(column_major std430 offset=512 align=128 ) buffer double f, layout(column_major std430 offset=640 align=128 ) buffer float h, layout(column_major std430 offset=768 align=128 ) buffer 3-component vector of double i})
|
||||
0:? 'specExample4301' (layout(column_major std430 align=128 ) buffer block{layout(column_major std430 offset=0 align=128 ) buffer 4-component vector of float a, layout(column_major std430 offset=128 align=128 ) buffer 3-component vector of float b, layout(column_major std430 offset=256 align=128 ) buffer 2-component vector of float d, layout(column_major std430 offset=512 align=128 ) buffer float e, layout(column_major std430 offset=520 align=8 ) buffer double f, layout(column_major std430 offset=640 align=128 ) buffer float h, layout(column_major std430 offset=768 align=128 ) buffer 3-component vector of double i})
|
||||
0:? 'aconst' (global 4-element array of int)
|
||||
0:? 'bconst' (global 64-element array of int)
|
||||
0:? 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
|
||||
|
@ -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");
|
||||
|
Loading…
x
Reference in New Issue
Block a user