From: Eric Anholt Date: Tue, 9 Apr 2013 20:34:08 +0000 (-0700) Subject: i965/gen6: Reduce updates of transform feedback offsets with HW contexts. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=007a88ed24e783d38839e69ae07aa19ceabb6c93;p=mesa.git 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 NOTE: This is a candidate for the 9.1 branch. --- diff --git a/src/mesa/drivers/dri/i965/gen6_sol.c b/src/mesa/drivers/dri/i965/gen6_sol.c index a7b63f67e87..cf7a60db6be 100644 --- a/src/mesa/drivers/dri/i965/gen6_sol.c +++ b/src/mesa/drivers/dri/i965/gen6_sol.c @@ -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 },