HLSL: Partially flatten hierarchies, instead of all or nothing.
authorJohn Kessenich <cepheus@frii.com>
Wed, 11 Oct 2017 20:03:45 +0000 (14:03 -0600)
committerJohn Kessenich <cepheus@frii.com>
Thu, 12 Oct 2017 22:52:32 +0000 (16:52 -0600)
commit41aa19953f881a93d2a8537a3c8d5f910c708b8e
treea589b72e3deec3f8df631acfb99992e0a4b5d4a7
parent60e91611000dd243e1600b68565978ff237c089b
HLSL: Partially flatten hierarchies, instead of all or nothing.

Fixes #1092.  Allows arrays of opaques to keep arrayness, unless
needed by uniform array flattening.
Can handle assignments of mixed amounts of flattening.
Test/baseResults/hlsl.partialFlattenLocal.vert.out [new file with mode: 0755]
Test/baseResults/hlsl.partialFlattenMixed.vert.out [new file with mode: 0755]
Test/baseResults/hlsl.structarray.flatten.frag.out
Test/hlsl.partialFlattenLocal.vert [new file with mode: 0644]
Test/hlsl.partialFlattenMixed.vert [new file with mode: 0644]
gtests/Hlsl.FromFile.cpp
hlsl/hlslParseHelper.cpp
hlsl/hlslParseHelper.h