i965/ff_gs: Generate URB writes using a loop.
authorPaul Berry <stereotype441@gmail.com>
Tue, 3 Sep 2013 21:38:19 +0000 (14:38 -0700)
committerPaul Berry <stereotype441@gmail.com>
Mon, 16 Sep 2013 19:53:55 +0000 (12:53 -0700)
commitf5d38c58ee2a63849295cb2006c78d415af0b6ae
treee816cf0e89a5e4883eadd30055d1030d32d314c7
parent57b8cff33cab9ce93e3ee1252e12d66e48bb67e0
i965/ff_gs: Generate URB writes using a loop.

Previously we only ever did 1 URB write, since the maximum number of
varyings we support is small enough to fit in 1 URB write (when using
BRW_URB_SWIZZLE_NONE, which is what the pre-Gen7 GS always uses).  But
we're about to increase the number of varying components we support
from 64 to 128.

With 128 varyings, the most URB writes we'll have to do is 2, but it's
just as easy to write a general-purpose loop.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_gs_emit.c