From 8513090cd751b35d03462b6ee8bef46c1f49f608 Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Thu, 16 Feb 2017 21:17:44 -0800 Subject: [PATCH] i965: Update brw_save_primitives_written_counters for pre-Gen7. Sandybridge and earlier only have a single counter. Signed-off-by: Kenneth Graunke Reviewed-by: Iago Toral Quiroga --- src/mesa/drivers/dri/i965/gen6_sol.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/mesa/drivers/dri/i965/gen6_sol.c b/src/mesa/drivers/dri/i965/gen6_sol.c index 41158bd580c..8adac92d07d 100644 --- a/src/mesa/drivers/dri/i965/gen6_sol.c +++ b/src/mesa/drivers/dri/i965/gen6_sol.c @@ -297,11 +297,17 @@ brw_save_primitives_written_counters(struct brw_context *brw, brw_emit_mi_flush(brw); /* Emit MI_STORE_REGISTER_MEM commands to write the values. */ - for (int i = 0; i < streams; i++) { - int offset = (obj->prim_count_buffer_index + i) * sizeof(uint64_t); + if (brw->gen >= 7) { + for (int i = 0; i < streams; i++) { + int offset = (obj->prim_count_buffer_index + i) * sizeof(uint64_t); + brw_store_register_mem64(brw, obj->prim_count_bo, + GEN7_SO_NUM_PRIMS_WRITTEN(i), + offset); + } + } else { brw_store_register_mem64(brw, obj->prim_count_bo, - GEN7_SO_NUM_PRIMS_WRITTEN(i), - offset); + GEN6_SO_NUM_PRIMS_WRITTEN, + obj->prim_count_buffer_index * sizeof(uint64_t)); } /* Update where to write data to. */ -- 2.30.2