[pixel shader] struct apple { float3 aa; float4 bb; }; struct banana { struct apple aa; int2 bb; int4 cc[8]; }; float4 main() : SV_TARGET { struct banana p = (struct banana)42; return p.aa.bb + p.cc[5]; } [test] draw quad probe (0, 0) rgba (84.0, 84.0, 84.0, 84.0) [pixel shader fail] struct apple { float3 aa; float4 bb; }; float4 main() : SV_TARGET { struct apple f = 31; return f.bb; } [pixel shader fail] struct apple { float3 aa; float4 bb; }; float4 fun(struct apple f) { return f.bb; } float4 main() : SV_TARGET { return fun(31); } [pixel shader fail] float4 fun(float f[7]) { return f[1]; } float4 main() : SV_TARGET { return fun(32); } [pixel shader fail] struct apple { float4 foo; Texture2D tex; }; float4 PSMain() : SV_TARGET { struct apple a1; a1 = (struct apple)1; return a1.foo; } [pixel shader] float4 fun(float3 f) { return f.xyxy; } float4 main() : SV_TARGET { return fun(33); } [test] draw quad probe (0, 0) rgba (33.0, 33.0, 33.0, 33.0)