- 300 doesn't allow built-in overload, while 100 does, while neither allows redefining
- block name can't be reused for block name within the same interface
(though, the spec. isn't clear about that, it's easier than verifying member matches, will file bug on it)
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@23984 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This included
- encapsulating aggregate constants
- removal of constant-aggregate comparison algorithms, instead using a flattened and direct std::vector comparison
- adding structure type comparison for independently declared structures that still might match types
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@23274 e7fa87d3-cd2b-0410-9028-fcbf551c1848
- don't use [] for map lookups, it can modify the map
- copy up built-in symbols out of shared symbol table levels before modifying them
- enforce shallow vs. deep TType copies
- combine maxArraySize with the array dimensions vector, encapsulate
- remove chaining of array types
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@22953 e7fa87d3-cd2b-0410-9028-fcbf551c1848