From e6e9becd5016df649d3c19a3e81e85bd63b895b7 Mon Sep 17 00:00:00 2001 From: Paul Berry Date: Fri, 23 Dec 2011 13:56:07 -0800 Subject: [PATCH] i965 gen6: Fix incorrect order of dwords in gen6_update_sol_indices() When updating SOL indices, we were accidentally putting the starting index in dword 1 and the SVBI number to increment in dword 2--these should be reversed. Usually both of these values are zero, so we didn't see any problem. However, if a transform feedback operation spans multiple batch buffers, the starting index will be nonzero. Fixes piglit test "EXT_transform_feedback/intervening-read output". Reviewed-by: Kenneth Graunke --- 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 437b3ae3fd3..f7248023d12 100644 --- a/src/mesa/drivers/dri/i965/gen6_sol.c +++ b/src/mesa/drivers/dri/i965/gen6_sol.c @@ -82,8 +82,8 @@ gen6_update_sol_indices(struct brw_context *brw) BEGIN_BATCH(4); OUT_BATCH(_3DSTATE_GS_SVB_INDEX << 16 | (4 - 2)); - OUT_BATCH(brw->sol.svbi_0_starting_index); /* BRW_NEW_SOL_INDICES */ OUT_BATCH(0); + OUT_BATCH(brw->sol.svbi_0_starting_index); /* BRW_NEW_SOL_INDICES */ OUT_BATCH(brw->sol.svbi_0_max_index); /* BRW_NEW_SOL_INDICES */ ADVANCE_BATCH(); } -- 2.30.2