From 007a88ed24e783d38839e69ae07aa19ceabb6c93 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 9 Apr 2013 13:34:08 -0700 Subject: [PATCH] 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. --- src/mesa/drivers/dri/i965/gen6_sol.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mesa/drivers/dri/i965/gen6_sol.c b/src/mesa/drivers/dri/i965/gen6_sol.c index a7b63f6..cf7a60d 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 }, -- 2.7.4