[require]
shader model >= 4.0

[input layout]
0 r32g32-float SV_POSITION
0 r32g32-float TEXCOORD 0
0 r32-float TEXCOORD 1
1 r32-uint TEXCOORD 2
1 r32-uint TEXCOORD 3
0 r32-float TEXCOORD 4

[vb 0]
-1.0 -1.0   3.0 5.0   5.0   7.0
-1.0  1.0   3.0 5.0   5.0   7.0
 1.0 -1.0   3.0 5.0   5.0   7.0
 1.0  1.0   3.0 5.0   5.0   7.0

[vb 1]
format r32-uint
2   6
2   6
2   6
2   6

[vertex shader]

struct vertex
{
    float4 position : SV_Position;
    float2 t0 : TEXCOORD0;
    nointerpolation float t1 : TEXCOORD1;
    uint t2 : TEXCOORD2;
    uint t3 : TEXCOORD3;
    float t4 : TEXCOORD4;
};

void main(in vertex vin, out vertex vout)
{
    vout = vin;
}

[pixel shader]

void main(float4 position : SV_Position, float2 t0 : TEXCOORD0,
        nointerpolation float t1 : TEXCOORD1, uint t2 : TEXCOORD2,
        uint t3 : TEXCOORD3, float t4 : TEXCOORD4, out float4 o : SV_Target)
{
    o.x = t0.y + t1;
    o.y = t2 + t3;
    o.z = t4;
    o.w = t0.x;
}

[test]
todo(msl) draw triangle strip 4
probe (0, 0) rgba (10.0, 8.0, 7.0, 3.0)
