blob: 543adebb36e27264b54dcb26f488efae7d429fef [file] [log] [blame]
steve-lunarga2e75312016-12-14 15:22:25 -07001// Test passing split structs to functions.
2
3struct VS_INPUT
4{
5 int x0_in : foo0;
6 float4 Pos_in : SV_Position;
7 int x1_in : foo1;
8};
9
10struct VS_OUTPUT
11{
12 int x0_out : foo0;
13 float4 Pos_out : SV_Position;
14 int x1_out : foo1;
15};
16
17void Fn1(VS_INPUT fn1_in, VS_OUTPUT fn1_out) {
18 fn1_in.Pos_in + fn1_out.Pos_out;
19}
20
21VS_OUTPUT main(VS_INPUT vsin)
22{
23 VS_OUTPUT vsout;
24
25 vsout.x0_out = vsin.x0_in;
26 vsout.Pos_out = vsin.Pos_in;
27 vsout.x1_out = vsin.x1_in;
28
29 Fn1(vsin, vsout);
30
31 return vsout;
32}