Add full support for uniforms with initializers, including intra-stage link validatio...
authorJohn Kessenich <cepheus@frii.com>
Sat, 28 Sep 2013 04:02:08 +0000 (04:02 +0000)
committerJohn Kessenich <cepheus@frii.com>
Sat, 28 Sep 2013 04:02:08 +0000 (04:02 +0000)
commitf2ee3dd46a24f2203653cfd74136d0b07ace928c
tree4e12aa88a240946b1c87ee6a1948c8ecc88330b8
parentb3345c422d0bb166f9df6886e831ef416c382828
Add full support for uniforms with initializers, including intra-stage link validation of aggregate constant initializers.

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
98 files changed:
Test/baseResults/120.frag.out
Test/baseResults/120.vert.out
Test/baseResults/300.frag.out
Test/baseResults/300.vert.out
Test/baseResults/300BuiltIns.frag.out
Test/baseResults/300block.frag.out
Test/baseResults/300layout.frag.out
Test/baseResults/300layout.vert.out
Test/baseResults/300operations.frag.out
Test/baseResults/300scope.vert.out
Test/baseResults/330.frag.out
Test/baseResults/330comp.frag.out
Test/baseResults/400.geom.out
Test/baseResults/400.tese.out
Test/baseResults/420.vert.out
Test/baseResults/430scope.vert.out
Test/baseResults/Operations.frag.out
Test/baseResults/aggOps.frag.out
Test/baseResults/always-discard.frag.out
Test/baseResults/always-discard2.frag.out
Test/baseResults/array.frag.out
Test/baseResults/array100.frag.out
Test/baseResults/conditionalDiscard.frag.out
Test/baseResults/constErrors.frag.out
Test/baseResults/constFold.frag.out
Test/baseResults/conversion.frag.out
Test/baseResults/cppComplexExpr.vert.out
Test/baseResults/cppIndent.vert.out
Test/baseResults/cppNest.vert.out
Test/baseResults/cppSimple.vert.out
Test/baseResults/dataOut.frag.out
Test/baseResults/dce.frag.out
Test/baseResults/decls.frag.out
Test/baseResults/deepRvalue.frag.out
Test/baseResults/discard-dce.frag.out
Test/baseResults/doWhileLoop.frag.out
Test/baseResults/earlyReturnDiscard.frag.out
Test/baseResults/errors.frag.out
Test/baseResults/forLoop.frag.out
Test/baseResults/forwardRef.frag.out
Test/baseResults/functionCall.frag.out
Test/baseResults/functionSemantics.frag.out
Test/baseResults/length.frag.out
Test/baseResults/link1.frag.out
Test/baseResults/localAggregates.frag.out
Test/baseResults/loops.frag.out
Test/baseResults/loopsArtificial.frag.out
Test/baseResults/matrix.frag.out
Test/baseResults/matrix2.frag.out
Test/baseResults/matrixError.vert.out
Test/baseResults/newTexture.frag.out
Test/baseResults/nonSquare.vert.out
Test/baseResults/numeral.frag.out
Test/baseResults/pointCoord.frag.out
Test/baseResults/precision.frag.out
Test/baseResults/precision.vert.out
Test/baseResults/prepost.frag.out
Test/baseResults/sample.frag.out
Test/baseResults/sample.vert.out
Test/baseResults/specExamples.frag.out
Test/baseResults/specExamples.vert.out
Test/baseResults/structAssignment.frag.out
Test/baseResults/structDeref.frag.out
Test/baseResults/structure.frag.out
Test/baseResults/switch.frag.out
Test/baseResults/swizzle.frag.out
Test/baseResults/test.frag.out
Test/baseResults/texture.frag.out
Test/baseResults/tokenLength.vert.out
Test/baseResults/types.frag.out
Test/baseResults/uint.frag.out
Test/baseResults/uniformArray.frag.out
Test/baseResults/variableArrayIndex.frag.out
Test/baseResults/varyingArray.frag.out
Test/baseResults/varyingArrayIndirect.frag.out
Test/baseResults/versionsClean.frag.out
Test/baseResults/versionsClean.vert.out
Test/baseResults/versionsErrors.frag.out
Test/baseResults/versionsErrors.vert.out
Test/baseResults/voidFunction.frag.out
Test/baseResults/whileLoop.frag.out
Test/decls.frag
Test/link1.frag
Test/link2.frag
glslang/Include/Common.h
glslang/Include/ConstantUnion.h
glslang/Include/Types.h
glslang/Include/intermediate.h
glslang/MachineIndependent/Constant.cpp
glslang/MachineIndependent/Intermediate.cpp
glslang/MachineIndependent/ParseHelper.cpp
glslang/MachineIndependent/ParseHelper.h
glslang/MachineIndependent/SymbolTable.cpp
glslang/MachineIndependent/SymbolTable.h
glslang/MachineIndependent/glslang.y
glslang/MachineIndependent/intermOut.cpp
glslang/MachineIndependent/localintermediate.h
glslang/MachineIndependent/parseConst.cpp