// Test passing split structs to functions. | |
struct VS_INPUT | |
{ | |
int x0_in : foo0; | |
float4 Pos_in : SV_Position; | |
int x1_in : foo1; | |
}; | |
struct VS_OUTPUT | |
{ | |
int x0_out : foo0; | |
float4 Pos_out : SV_Position; | |
int x1_out : foo1; | |
}; | |
void Fn1(VS_INPUT fn1_in, VS_OUTPUT fn1_out) { | |
fn1_in.Pos_in + fn1_out.Pos_out; | |
} | |
VS_OUTPUT main(VS_INPUT vsin) | |
{ | |
VS_OUTPUT vsout; | |
vsout.x0_out = vsin.x0_in; | |
vsout.Pos_out = vsin.Pos_in; | |
vsout.x1_out = vsin.x1_in; | |
Fn1(vsin, vsout); | |
return vsout; | |
} |