1617a3babSopenharmony_cistruct VS_OUTPUT        {
2617a3babSopenharmony_ci    float4 Position             : SV_Position;
3617a3babSopenharmony_ci};
4617a3babSopenharmony_ci
5617a3babSopenharmony_ci// Test packing 0 and 1 semantics into single array[4] output, from out fn params.
6617a3babSopenharmony_ciVS_OUTPUT main(out float3 clip0 : SV_ClipDistance0, out float clip1 : SV_ClipDistance1)
7617a3babSopenharmony_ci{
8617a3babSopenharmony_ci    VS_OUTPUT           Output;
9617a3babSopenharmony_ci    Output.Position     = 0;
10617a3babSopenharmony_ci
11617a3babSopenharmony_ci    clip0.x = 0;
12617a3babSopenharmony_ci    clip0.y = 1;
13617a3babSopenharmony_ci    clip0.z = 2;
14617a3babSopenharmony_ci
15617a3babSopenharmony_ci    // Position 3 is packed from clip1's float
16617a3babSopenharmony_ci    clip1   = 3;
17617a3babSopenharmony_ci
18617a3babSopenharmony_ci    return Output;
19617a3babSopenharmony_ci}
20