• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// 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}
33