i965: first attempt at handling URB overflow when there's too many vs outputs
authorBrian Paul <brianp@vmware.com>
Tue, 30 Jun 2009 23:12:34 +0000 (17:12 -0600)
committerBrian Paul <brianp@vmware.com>
Tue, 30 Jun 2009 23:12:44 +0000 (17:12 -0600)
commit119eb4094256742013224afb7c5704b6254b6296
tree82f1ab95b7cf661344b0b8d9fe3eee950a569e90
parent1b6ae2e004b7a7a76508e0da3c45eb0d851ed10c
i965: first attempt at handling URB overflow when there's too many vs outputs

If we can't fit all the VS outputs into the MRF, we need to overflow into
temporary GRF registers, then use some MOVs and a second brw_urb_WRITE()
instruction to place the overflow vertex results into the URB.

This is hit when a vertex/fragment shader pair has a large number of varying
variables (12 or more).

There's still something broken here, but it seems close...
src/mesa/drivers/dri/i965/brw_vs.h
src/mesa/drivers/dri/i965/brw_vs_emit.c