i965: Combine URB code emission into a single group.
authorKenneth Graunke <kenneth@whitecape.org>
Thu, 11 Jul 2013 17:24:15 +0000 (10:24 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Thu, 18 Jul 2013 23:57:21 +0000 (16:57 -0700)
commit7ce5c6b2147f9af524f4073b6ee3b29c0a5a1522
treee97358dbc8cb24baa1fdb2e29feb2e70d6e79274
parent30f33deccb7d481f638e34f2d9d9c107df871eab
i965: Combine URB code emission into a single group.

All four URB packets need to be programmed together in order for the GPU
state to be valid.  Putting them in separate BEGIN..ADVANCE blocks is
risky: if we're nearing the end of a batch, the batch could be flushed
inbetween two of the commands, causing the URB programming to be split
into two batchbuffers.

This -might- be okay with hardware contexts, but it offers no advantages
over keeping them together, and has a potential for hangs.

Putting them into a single BEGIN..ADVANCE block ensures they'll be kept
in the same batch, which seems wise.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/gen7_urb.c