Whole stack: Fix stale types in the AST linker object nodes, fixing #557.

Rationalizes the entire tracking of the linker object nodes, effecting
GLSL, HLSL, and SPIR-V, to allow tracked objects to be fully edited before
their type snapshot for linker objects.

Should only effect things when the rest of the AST contained no reference to
the symbol, because normal AST nodes were not stale. Also will only effect such
objects when their types were edited.
This commit is contained in:
John Kessenich 2016-11-05 10:15:53 -06:00
parent e5e58cfee3
commit d3f1122a44
107 changed files with 630 additions and 560 deletions

View file

@ -393,13 +393,13 @@ ERROR: node is still EOpNull!
0:? 'a' (global 3-element array of mediump int)
0:? 'uint' (global mediump int)
0:? 'v' (smooth in 3-element array of mediump 4-component vector of float)
0:? 'f' (global mediump float)
0:? 'f' (invariant global mediump float)
0:? 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump int x})
0:? 'fa' (global implicitly-sized array of mediump float)
0:? 'f13' (global mediump float)
0:? 'f13' (invariant global mediump float)
0:? 'fi' (invariant temp mediump float)
0:? 'av' (smooth in mediump 4-component vector of float)
0:? 'uv2' (uniform mediump 2-component vector of float)
0:? 'av' (invariant smooth in mediump 4-component vector of float)
0:? 'uv2' (invariant uniform mediump 2-component vector of float)
0:? 'uv3' (invariant uniform mediump 3-component vector of float)
0:? 'glob2D' (global lowp sampler2D)
0:? 'vary2D' (smooth in lowp sampler2D)
@ -731,13 +731,13 @@ ERROR: node is still EOpNull!
0:? 'a' (global 3-element array of mediump int)
0:? 'uint' (global mediump int)
0:? 'v' (smooth in 3-element array of mediump 4-component vector of float)
0:? 'f' (global mediump float)
0:? 'f' (invariant global mediump float)
0:? 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump int x})
0:? 'fa' (global 1-element array of mediump float)
0:? 'f13' (global mediump float)
0:? 'f13' (invariant global mediump float)
0:? 'fi' (invariant temp mediump float)
0:? 'av' (smooth in mediump 4-component vector of float)
0:? 'uv2' (uniform mediump 2-component vector of float)
0:? 'av' (invariant smooth in mediump 4-component vector of float)
0:? 'uv2' (invariant uniform mediump 2-component vector of float)
0:? 'uv3' (invariant uniform mediump 3-component vector of float)
0:? 'glob2D' (global lowp sampler2D)
0:? 'vary2D' (smooth in lowp sampler2D)