1static float4 Float;
2static float vFloat;
3static int4 Int;
4static int vInt;
5static float4 Float2;
6static int4 Int2;
7
8struct SPIRV_Cross_Input
9{
10    nointerpolation float vFloat : TEXCOORD0;
11    nointerpolation int vInt : TEXCOORD1;
12};
13
14struct SPIRV_Cross_Output
15{
16    float4 Float : SV_Target0;
17    int4 Int : SV_Target1;
18    float4 Float2 : SV_Target2;
19    int4 Int2 : SV_Target3;
20};
21
22void frag_main()
23{
24    Float = vFloat.xxxx * 2.0f;
25    Int = vInt.xxxx * int4(2, 2, 2, 2);
26    Float2 = 10.0f.xxxx;
27    Int2 = int4(10, 10, 10, 10);
28}
29
30SPIRV_Cross_Output main(SPIRV_Cross_Input stage_input)
31{
32    vFloat = stage_input.vFloat;
33    vInt = stage_input.vInt;
34    frag_main();
35    SPIRV_Cross_Output stage_output;
36    stage_output.Float = Float;
37    stage_output.Int = Int;
38    stage_output.Float2 = Float2;
39    stage_output.Int2 = Int2;
40    return stage_output;
41}
42