Check for structures out from vertex or into fragment for ES 100 or desktop pre-150.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24349 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
parent
66cdf36521
commit
afda2411c0
@ -176,4 +176,6 @@ int agggf(float f) { return 2; }
|
|||||||
int agggf(float f);
|
int agggf(float f);
|
||||||
int agggf(float f); // ERROR, second prototype
|
int agggf(float f); // ERROR, second prototype
|
||||||
|
|
||||||
|
varying struct SSS { float f; } s; // ERROR
|
||||||
|
|
||||||
uniform samplerExternalOES badExt; // syntax ERROR
|
uniform samplerExternalOES badExt; // syntax ERROR
|
||||||
|
|||||||
@ -66,3 +66,5 @@ void main()
|
|||||||
S.x; // 'S' is now visible as a variable
|
S.x; // 'S' is now visible as a variable
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
varying struct SSS { float f; } s; // ERROR
|
||||||
|
|||||||
@ -16,3 +16,5 @@ void main()
|
|||||||
#else
|
#else
|
||||||
#error GL_ES is not set
|
#error GL_ES is not set
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
in struct S { float f; } s; // ERROR
|
||||||
|
|||||||
@ -12,3 +12,5 @@ void main()
|
|||||||
}
|
}
|
||||||
|
|
||||||
layout(origin_upper_left, pixel_center_integer) in vec4 gl_FragCoord; // ERROR, declared after use
|
layout(origin_upper_left, pixel_center_integer) in vec4 gl_FragCoord; // ERROR, declared after use
|
||||||
|
|
||||||
|
in struct S { float f; } s;
|
||||||
|
|||||||
@ -157,3 +157,5 @@ int gggf(float f);
|
|||||||
|
|
||||||
int agggf(float f) { return 2; }
|
int agggf(float f) { return 2; }
|
||||||
int agggf(float f);
|
int agggf(float f);
|
||||||
|
|
||||||
|
out struct Ssss { float f; } ssss;
|
||||||
|
|||||||
@ -66,8 +66,9 @@ ERROR: 0:152: 'floating-point suffix' : not supported for this version or the en
|
|||||||
ERROR: 0:167: 'highp' : overloaded functions must have the same parameter precision qualifiers for argument 2
|
ERROR: 0:167: 'highp' : overloaded functions must have the same parameter precision qualifiers for argument 2
|
||||||
ERROR: 0:170: 'multiple prototypes for same function' : not supported for this version or the enabled extensions
|
ERROR: 0:170: 'multiple prototypes for same function' : not supported for this version or the enabled extensions
|
||||||
ERROR: 0:177: 'multiple prototypes for same function' : not supported for this version or the enabled extensions
|
ERROR: 0:177: 'multiple prototypes for same function' : not supported for this version or the enabled extensions
|
||||||
ERROR: 0:179: '' : syntax error
|
ERROR: 0:179: 'fragment-shader struct input' : not supported for this version or the enabled extensions
|
||||||
ERROR: 61 compilation errors. No code generated.
|
ERROR: 0:181: '' : syntax error
|
||||||
|
ERROR: 62 compilation errors. No code generated.
|
||||||
|
|
||||||
|
|
||||||
ERROR: node is still EOpNull!
|
ERROR: node is still EOpNull!
|
||||||
@ -342,6 +343,7 @@ ERROR: node is still EOpNull!
|
|||||||
0:? 'f123' (mediump float)
|
0:? 'f123' (mediump float)
|
||||||
0:? 'f124' (mediump float)
|
0:? 'f124' (mediump float)
|
||||||
0:? 'sCube' (uniform lowp samplerCube)
|
0:? 'sCube' (uniform lowp samplerCube)
|
||||||
|
0:? 's' (smooth in structure{f})
|
||||||
|
|
||||||
|
|
||||||
Linked fragment stage:
|
Linked fragment stage:
|
||||||
|
|||||||
@ -7,7 +7,8 @@ ERROR: 0:22: 'redefinition of built-in function' : not supported with this profi
|
|||||||
ERROR: 0:35: 'local function declaration' : not supported with this profile: es
|
ERROR: 0:35: 'local function declaration' : not supported with this profile: es
|
||||||
ERROR: 0:54: 'z' : undeclared identifier
|
ERROR: 0:54: 'z' : undeclared identifier
|
||||||
ERROR: 0:54: 'z' : redefinition
|
ERROR: 0:54: 'z' : redefinition
|
||||||
ERROR: 8 compilation errors. No code generated.
|
ERROR: 0:70: 'vertex-shader struct output' : not supported for this version or the enabled extensions
|
||||||
|
ERROR: 9 compilation errors. No code generated.
|
||||||
|
|
||||||
|
|
||||||
ERROR: node is still EOpNull!
|
ERROR: node is still EOpNull!
|
||||||
@ -112,6 +113,7 @@ ERROR: node is still EOpNull!
|
|||||||
0:? Linker Objects
|
0:? Linker Objects
|
||||||
0:? 'b' (bool)
|
0:? 'b' (bool)
|
||||||
0:? 'tan' (highp float)
|
0:? 'tan' (highp float)
|
||||||
|
0:? 's' (smooth out structure{f})
|
||||||
|
|
||||||
|
|
||||||
Linked vertex stage:
|
Linked vertex stage:
|
||||||
|
|||||||
@ -2,7 +2,8 @@
|
|||||||
Warning, version 140 is not yet complete; most features are present, but a few are missing.
|
Warning, version 140 is not yet complete; most features are present, but a few are missing.
|
||||||
WARNING: 0:3: varying deprecated in version 130; may be removed in future release
|
WARNING: 0:3: varying deprecated in version 130; may be removed in future release
|
||||||
ERROR: 0:17: '#error' : GL_ES is not set
|
ERROR: 0:17: '#error' : GL_ES is not set
|
||||||
ERROR: 1 compilation errors. No code generated.
|
ERROR: 0:20: 'fragment-shader struct input' : not supported for this version or the enabled extensions
|
||||||
|
ERROR: 2 compilation errors. No code generated.
|
||||||
|
|
||||||
|
|
||||||
ERROR: node is still EOpNull!
|
ERROR: node is still EOpNull!
|
||||||
@ -22,6 +23,7 @@ ERROR: node is still EOpNull!
|
|||||||
0:? 'o' (out 4-component vector of float)
|
0:? 'o' (out 4-component vector of float)
|
||||||
0:? 'gl_ClipDistance' (smooth in 5-element array of float)
|
0:? 'gl_ClipDistance' (smooth in 5-element array of float)
|
||||||
0:? 'gl_ClipDistance' (smooth in 5-element array of float)
|
0:? 'gl_ClipDistance' (smooth in 5-element array of float)
|
||||||
|
0:? 's' (smooth in structure{f})
|
||||||
|
|
||||||
|
|
||||||
Linked fragment stage:
|
Linked fragment stage:
|
||||||
|
|||||||
@ -21,6 +21,7 @@ ERROR: node is still EOpNull!
|
|||||||
0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float)
|
0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float)
|
||||||
0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float)
|
0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float)
|
||||||
0:? 'foo' (smooth in 4-component vector of float)
|
0:? 'foo' (smooth in 4-component vector of float)
|
||||||
|
0:? 's' (smooth in structure{f})
|
||||||
|
|
||||||
|
|
||||||
Linked fragment stage:
|
Linked fragment stage:
|
||||||
|
|||||||
@ -285,6 +285,7 @@ ERROR: node is still EOpNull!
|
|||||||
0:? 's2DS' (uniform lowp sampler2DShadow)
|
0:? 's2DS' (uniform lowp sampler2DShadow)
|
||||||
0:? 's2DAS' (uniform lowp sampler2DArrayShadow)
|
0:? 's2DAS' (uniform lowp sampler2DArrayShadow)
|
||||||
0:? 'c2D' (in highp 2-component vector of float)
|
0:? 'c2D' (in highp 2-component vector of float)
|
||||||
|
0:? 'ssss' (smooth out structure{f})
|
||||||
0:? 'gl_VertexID' (gl_VertexId highp int)
|
0:? 'gl_VertexID' (gl_VertexId highp int)
|
||||||
0:? 'gl_InstanceID' (gl_InstanceId highp int)
|
0:? 'gl_InstanceID' (gl_InstanceId highp int)
|
||||||
|
|
||||||
|
|||||||
@ -9,5 +9,5 @@
|
|||||||
// source have to figure out how to create revision.h just to get a build
|
// source have to figure out how to create revision.h just to get a build
|
||||||
// going. However, if it is not updated, it can be a version behind.
|
// going. However, if it is not updated, it can be a version behind.
|
||||||
|
|
||||||
#define GLSLANG_REVISION "24343"
|
#define GLSLANG_REVISION "24347"
|
||||||
#define GLSLANG_DATE "2013/12/04 12:46:19"
|
#define GLSLANG_DATE "2013/12/04 13:08:16"
|
||||||
|
|||||||
@ -1651,6 +1651,20 @@ void TParseContext::globalQualifierCheck(TSourceLoc loc, const TQualifier& quali
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (language == EShLangVertex && qualifier.storage == EvqVaryingOut) {
|
||||||
|
if (publicType.userDef) {
|
||||||
|
profileRequires(loc, EEsProfile, 300, 0, "vertex-shader struct output");
|
||||||
|
profileRequires(loc, ~EEsProfile, 150, 0, "vertex-shader struct output");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (language == EShLangFragment && qualifier.storage == EvqVaryingIn) {
|
||||||
|
if (publicType.userDef) {
|
||||||
|
profileRequires(loc, EEsProfile, 300, 0, "fragment-shader struct input");
|
||||||
|
profileRequires(loc, ~EEsProfile, 150, 0, "fragment-shader struct input");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (publicType.basicType == EbtInt || publicType.basicType == EbtUint || publicType.basicType == EbtDouble) {
|
if (publicType.basicType == EbtInt || publicType.basicType == EbtUint || publicType.basicType == EbtDouble) {
|
||||||
profileRequires(loc, EEsProfile, 300, 0, "shader input/output");
|
profileRequires(loc, EEsProfile, 300, 0, "shader input/output");
|
||||||
if (! qualifier.flat) {
|
if (! qualifier.flat) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user