[require]
shader model < 4.0

[input layout]
0 r32g32-float position
0 r32-float psize

[vb 0]
-0.5 0      20
 0.5 0      40

[vertex shader fail]
void main(inout float4 pos : position, out float2 size : psize)
{
    size = 1;
}

[vertex shader]
void main(inout float4 pos : position, inout float size : psize)
{
}

[pixel shader]
float4 main() : color
{
    return float4(0, 1, 0, 1);
}

[test]
clear rtv 0  0 0 0 0
draw point list 2

probe (149, 240) rgba (0, 0, 0, 0)
probe (151, 240) rgba (0, 1, 0, 1)
probe (169, 240) rgba (0, 1, 0, 1)
probe (171, 240) rgba (0, 0, 0, 0)

probe (459, 240) rgba (0, 0, 0, 0)
probe (461, 240) rgba (0, 1, 0, 1)
probe (499, 240) rgba (0, 1, 0, 1)
probe (501, 240) rgba (0, 0, 0, 0)

[require]
shader model < 4.0
point-size

[test]
clear rtv 0  0 0 0 0
point-size 1.0 24.0 36.0
draw point list 2

probe (147, 240) rgba (0, 0, 0, 0)
probe (149, 240) rgba (0, 1, 0, 1)
probe (171, 240) rgba (0, 1, 0, 1)
probe (173, 240) rgba (0, 0, 0, 0)

probe (461, 240) rgba (0, 0, 0, 0)
probe (463, 240) rgba (0, 1, 0, 1)
probe (497, 240) rgba (0, 1, 0, 1)
probe (499, 240) rgba (0, 0, 0, 0)
