From f95733ddb7fff0af923fce3a07ebef78fa3139a4 Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Fri, 9 Jan 2015 20:46:17 -0800 Subject: [PATCH] i965: Respect the no_8 flag on Gen6, not just Gen7+. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit When doing repclears, we only want to use the SIMD16 program, not the SIMD8 one. Kristian added this to the Gen7+ code, but apparently we missed it in the Gen6 code. This patch copies that code over. Approximately doubles the performance in a clear microbenchmark from mesa-demos (clearspd -width 500 -height 500 +color) on Sandybridge. Cc: "10.4 10.3" Signed-off-by: Kenneth Graunke Reviewed-by: Kristian Høgsberg Reviewed-by: Matt Turner References: https://code.google.com/p/chrome-os-partner/issues/detail?id=34681 --- src/mesa/drivers/dri/i965/gen6_wm_state.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mesa/drivers/dri/i965/gen6_wm_state.c b/src/mesa/drivers/dri/i965/gen6_wm_state.c index e57b7f6f9bd..8e673a42044 100644 --- a/src/mesa/drivers/dri/i965/gen6_wm_state.c +++ b/src/mesa/drivers/dri/i965/gen6_wm_state.c @@ -135,10 +135,10 @@ upload_wm_state(struct brw_context *brw) _mesa_get_min_invocations_per_fragment(ctx, brw->fragment_program, false); assert(min_inv_per_frag >= 1); - if (prog_data->prog_offset_16) { + if (prog_data->prog_offset_16 || prog_data->no_8) { dw5 |= GEN6_WM_16_DISPATCH_ENABLE; - if (min_inv_per_frag == 1) { + if (!prog_data->no_8 && min_inv_per_frag == 1) { dw5 |= GEN6_WM_8_DISPATCH_ENABLE; dw4 |= (prog_data->base.dispatch_grf_start_reg << GEN6_WM_DISPATCH_START_GRF_SHIFT_0); -- 2.30.2