Flatten all interface variables (#2217)
authorgreg-lunarg <greg@lunarg.com>
Mon, 18 May 2020 08:13:10 +0000 (02:13 -0600)
committerGitHub <noreply@github.com>
Mon, 18 May 2020 08:13:10 +0000 (02:13 -0600)
commit7c753a72537d95b564ff22ca1bc919521112da09
tree2a3f38df3dcf2b7ef9e47db1a40309b6a462f1b6
parent1a906168cda23eefe8bf054bf0d1732d58ab24d7
Flatten all interface variables (#2217)

Specifically, add flattening of arrayed io for geometry and
tesselation shaders. Previously some interface structs just had
builtins split out which caused some interfaces to not be exactly
the same as that of flattened adjacent stages, affecting validation
and correctness.

This obviates builtin splitting. That will be removed in a followup
commit. It was left in for this commit to better exhibit the functional
changes that were made.

Fixes #1660.
17 files changed:
Test/baseResults/hlsl.color.hull.tesc.out
Test/baseResults/hlsl.domain.1.tese.out
Test/baseResults/hlsl.domain.2.tese.out
Test/baseResults/hlsl.domain.3.tese.out
Test/baseResults/hlsl.gs-hs-mix.tesc.out
Test/baseResults/hlsl.hull.1.tesc.out
Test/baseResults/hlsl.hull.2.tesc.out
Test/baseResults/hlsl.hull.3.tesc.out
Test/baseResults/hlsl.hull.4.tesc.out
Test/baseResults/hlsl.hull.ctrlpt-1.tesc.out
Test/baseResults/hlsl.hull.ctrlpt-2.tesc.out
Test/baseResults/hlsl.hull.void.tesc.out
Test/baseResults/hlsl.struct.split.nested.geom.out
Test/baseResults/hlsl.structarray.flatten.geom.out
Test/baseResults/hlsl.tristream-append.geom.out
hlsl/hlslParseHelper.cpp
hlsl/hlslParseHelper.h