HLSL: Stop flattening non-IO structs containing opaques.
authorJohn Kessenich <cepheus@frii.com>
Thu, 16 Nov 2017 23:03:18 +0000 (16:03 -0700)
committerJohn Kessenich <cepheus@frii.com>
Fri, 8 Dec 2017 11:30:29 +0000 (04:30 -0700)
commitdc005fb083bf7791855e75c35aab3c362c8f93e3
tree1047639c1b17c7540084546c90900f25d923b613
parent471bfed0621162a7513fc24a51e8a1ccc2e640ff
HLSL: Stop flattening non-IO structs containing opaques.

This makes struct returns from functions work, but breaks
structs containing arrays, due to limitations in subsequent
transforms in spirv-opt. This is expected to be fixed soon.
18 files changed:
Test/baseLegalResults/hlsl.aliasOpaque.frag.out
Test/baseLegalResults/hlsl.flattenOpaque.frag.out
Test/baseLegalResults/hlsl.flattenOpaqueInit.vert.out
Test/baseLegalResults/hlsl.flattenOpaqueInitMix.vert.out
Test/baseLegalResults/hlsl.flattenSubset.frag.out
Test/baseLegalResults/hlsl.flattenSubset2.frag.out
Test/baseLegalResults/hlsl.partialFlattenLocal.vert.out
Test/baseLegalResults/hlsl.partialFlattenMixed.vert.out
Test/baseResults/hlsl.aliasOpaque.frag.out
Test/baseResults/hlsl.flattenOpaque.frag.out
Test/baseResults/hlsl.flattenOpaqueInit.vert.out
Test/baseResults/hlsl.flattenOpaqueInitMix.vert.out
Test/baseResults/hlsl.flattenSubset.frag.out
Test/baseResults/hlsl.flattenSubset2.frag.out
Test/baseResults/hlsl.partialFlattenLocal.vert.out
Test/baseResults/hlsl.partialFlattenMixed.vert.out
Test/hlsl.flattenOpaqueInit.vert
hlsl/hlslParseHelper.cpp