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

View file

@ -181,4 +181,25 @@ ERROR: node is still EOpNull!
0:67 unpackHalf2x16 (mediump 2-component vector of float)
0:67 'uy' (mediump uint)
0:70 0.000000
0:? Linker Objects
0:? 'imax' (mediump int)
0:? 'imin' (mediump int)
0:? 'umax' (mediump uint)
0:? 'umin' (mediump uint)
0:? 'x' (mediump 3-component vector of float)
0:? 'y' (mediump 3-component vector of float)
0:? 'bv' (3-component vector of bool)
0:? 'uy' (mediump uint)
0:? 'uv2c' (mediump 2-component vector of uint)
0:? 'uv2y' (mediump 2-component vector of uint)
0:? 'uv2x' (mediump 2-component vector of uint)
0:? 'uv4y' (mediump 4-component vector of uint)
0:? 'iv3a' (mediump 3-component vector of int)
0:? 'iv3b' (mediump 3-component vector of int)
0:? 'iv4a' (mediump 4-component vector of int)
0:? 'iv4b' (mediump 4-component vector of int)
0:? 'f' (mediump float)
0:? 'v2a' (mediump 2-component vector of float)
0:? 'v2b' (mediump 2-component vector of float)
0:? 'v4' (mediump 4-component vector of float)