xref: /third_party/glslang/Test/hlsl.struct.split.call.vert
  • Home
  • History
  • Annotate Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
  • only in /third_party/glslang/Test/
1617a3babSopenharmony_ci// Test passing split structs to functions.
2617a3babSopenharmony_ci
3617a3babSopenharmony_cistruct VS_INPUT
4617a3babSopenharmony_ci{
5617a3babSopenharmony_ci    int    x0_in  : foo0;
6617a3babSopenharmony_ci    float4 Pos_in : SV_Position;
7617a3babSopenharmony_ci    int    x1_in  : foo1;
8617a3babSopenharmony_ci};
9617a3babSopenharmony_ci
10617a3babSopenharmony_cistruct VS_OUTPUT
11617a3babSopenharmony_ci{
12617a3babSopenharmony_ci    int    x0_out  : foo0;
13617a3babSopenharmony_ci    float4 Pos_out : SV_Position;
14617a3babSopenharmony_ci    int    x1_out  : foo1;
15617a3babSopenharmony_ci};
16617a3babSopenharmony_ci
17617a3babSopenharmony_civoid Fn1(VS_INPUT fn1_in, VS_OUTPUT fn1_out) {
18617a3babSopenharmony_ci    fn1_in.Pos_in + fn1_out.Pos_out;
19617a3babSopenharmony_ci}
20617a3babSopenharmony_ci
21617a3babSopenharmony_ciVS_OUTPUT main(VS_INPUT vsin)
22617a3babSopenharmony_ci{
23617a3babSopenharmony_ci    VS_OUTPUT vsout;
24617a3babSopenharmony_ci
25617a3babSopenharmony_ci    vsout.x0_out  = vsin.x0_in;
26617a3babSopenharmony_ci    vsout.Pos_out = vsin.Pos_in;
27617a3babSopenharmony_ci    vsout.x1_out  = vsin.x1_in;
28617a3babSopenharmony_ci
29617a3babSopenharmony_ci    Fn1(vsin, vsout);
30617a3babSopenharmony_ci
31617a3babSopenharmony_ci    return vsout;
32617a3babSopenharmony_ci}
33

Indexes created Thu Nov 07 10:32:03 CST 2024