struct GSIn
{
};

struct GSOut
{
	float4 pos : SV_POSITION;
	float2 uv : TEXCOORD;
};

[maxvertexcount(3)]
void GS(point GSIn _in[1],
		inout TriangleStream<GSOut> _out)
{
	GSOut vertex;
	vertex.pos = float4(-1, 3, 0, 1);
	vertex.uv = float2(-1, 3);
    _out.Append(vertex);

	vertex.pos = float4(3, -1, 0, 1);
	vertex.uv = float2(3, -1);
    _out.Append(vertex);

	vertex.pos = float4(-1, -1, 0, 1);
	vertex.uv = float2(-1, -1);
    _out.Append(vertex);
}