HLSL: Pass opaques by local copy, instead of by interface original.
authorJohn Kessenich <cepheus@frii.com>
Fri, 8 Sep 2017 08:38:07 +0000 (02:38 -0600)
committerGregF <greg@LunarG.com>
Fri, 29 Sep 2017 15:57:00 +0000 (09:57 -0600)
commitbed4e4f7e4487a5b9a7d0452fa69cda18ee82f30
tree60986ad5310b91350a7abac3776dfab7238bfc86
parent15fa7ef5f5b161b775cc4c42d33ff457760217ea
HLSL: Pass opaques by local copy, instead of by interface original.

Also, remove assumption that if something is opaque that it
must be in the UniformConstant storage class.

This allows function declarations to know all parameters will
be in the Function storage class.
12 files changed:
SPIRV/GlslangToSpv.cpp
Test/baseResults/hlsl.aliasOpaque.frag.out
Test/baseResults/hlsl.array.flatten.frag.out
Test/baseResults/hlsl.flattenOpaque.frag.out
Test/baseResults/hlsl.flattenOpaqueInit.vert.out
Test/baseResults/hlsl.flattenOpaqueInitMix.vert.out
Test/baseResults/hlsl.opaque-type-bug.frag.out
Test/baseResults/hlsl.structbuffer.append.fn.frag.out
Test/baseResults/hlsl.structbuffer.fn.frag.out
Test/baseResults/hlsl.structbuffer.fn2.comp.out
Test/baseResults/hlsl.texture.struct.frag.out
Test/baseResults/hlsl.tx.overload.frag.out