i965/gen7: Skip resetting SOL offsets at batch start with HW contexts.
authorEric Anholt <eric@anholt.net>
Mon, 8 Apr 2013 17:56:23 +0000 (10:56 -0700)
committerEric Anholt <eric@anholt.net>
Wed, 10 Apr 2013 16:45:21 +0000 (09:45 -0700)
commit62a18da34153dd0e167a2944fc00812c1471c0fb
tree6cad7f51de772184dc1792dcff9dcd3e83996bf5
parentccf3e8fc9b961c1aaa649ba19d35a5dae6e7ed6c
i965/gen7: Skip resetting SOL offsets at batch start with HW contexts.

The software-tracked transform feedback offsets (svbi_0_starting_index)
are incorrect in the presence of primitive restart, so we can't reliably
compute offsets for our buffer pointers after a batch flush.  Thanks to HW
contexts, our transform feedback offsets are now saved, so we can just
keep using the ones from before the batch wrap.

Fixes piglit OpenGL 3.1/primitive-restart-xfb flush
Reviewed-by: Paul Berry <stereotype441@gmail.com>
NOTE: This is a candidate for the 9.1 branch.
src/mesa/drivers/dri/i965/gen6_sol.c
src/mesa/drivers/dri/i965/gen7_sol_state.c