File: hlsl.struct.split.call.vert

package info (click to toggle)
glslang 15.1.0%2B1.4.309.0-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 46,976 kB
  • sloc: cpp: 92,728; yacc: 4,145; sh: 609; python: 305; ansic: 94; javascript: 74; makefile: 17
file content (32 lines) | stat: -rw-r--r-- 545 bytes parent folder | download | duplicates (20)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
// 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;
}