i965/gen6: Reduce updates of transform feedback offsets with HW contexts.

The software-tracked transform feedback offsets (svbi_0_starting_index)
are incorrect in the presence of primitive restart, so we were actually
updating it with a bogus value if the batch wrapped and we emitted the
packet again during a single transform feedback.  By reducing state
emission, we avoid the bug.

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.
This commit is contained in:
Eric Anholt 2013-04-09 13:34:08 -07:00
parent 62a18da341
commit 007a88ed24

View file

@ -147,7 +147,7 @@ gen6_update_sol_indices(struct brw_context *brw)
const struct brw_tracked_state gen6_sol_indices = {
.dirty = {
.mesa = 0,
.brw = (BRW_NEW_BATCH |
.brw = (BRW_NEW_CONTEXT |
BRW_NEW_SOL_INDICES),
.cache = 0
},