Add basic intra-stage linking validation for matching types and qualification of uniforms/ins/outs/globals, function body duplication, and mixing ES/non-ES shaders.

Still need to handle arrays and built-in redeclarations, and many more rules, but this puts the basics in place.


git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@23225 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
John Kessenich 2013-09-24 21:18:46 +00:00
parent f5ebfb5f27
commit 337dbc7d8c
37 changed files with 657 additions and 196 deletions

24
Test/link1.frag Normal file
View file

@ -0,0 +1,24 @@
#version 130
uniform vec4 uv4;
uniform vec3 glass;
const int ci = 8;
vec4 a = ci * uv4;
in vec3 iv3;
in vec4 cup;
void main()
{
}
vec4 b = ci * a;
ivec2 foo(mat2 m)
{
return ivec2(m[0]);
}
vec4 c = b * b;