struct VS_OUTPUT        {
    float4 Position             : SV_Position;
};

// Test packing 0 and 1 semantics into single array[4] output, from out fn params.
VS_OUTPUT main(out float3 clip0 : SV_ClipDistance0, out float clip1 : SV_ClipDistance1)
{
    VS_OUTPUT           Output;
    Output.Position     = 0;

    clip0.x = 0;
    clip0.y = 1;
    clip0.z = 2;

    // Position 3 is packed from clip1's float
    clip1   = 3;

    return Output;
}