HLSL: Intercept flatten aggregates passed to a function input, and copy member-by-member.

This commit is contained in:
John Kessenich
2016-09-19 00:06:19 -06:00
parent f911500db8
commit 5159d4f1af
4 changed files with 275 additions and 98 deletions

View File

@@ -4,10 +4,17 @@ struct InParam {
int2 i2;
};
float fun(InParam p)
{
return p.v.y + p.fragCoord.x;
}
float4 PixelShaderFunction(InParam i) : COLOR0
{
InParam local;
local = i;
float ret1 = fun(local);
float ret2 = fun(i);
return local.fragCoord;
return local.fragCoord * ret1 * ret2;
}