Mesa (10.4): i965: Respect the no_8 flag on Gen6, not just Gen7+.

Emil Velikov evelikov at kemper.freedesktop.org
Thu Jan 22 16:19:52 UTC 2015


Module: Mesa
Branch: 10.4
Commit: 021d71b8480393c3f0bbe35fd2f8bb7052c7ff31
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=021d71b8480393c3f0bbe35fd2f8bb7052c7ff31

Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Fri Jan  9 20:46:17 2015 -0800

i965: Respect the no_8 flag on Gen6, not just Gen7+.

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" <mesa-stable at lists.freedesktop.org>
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Kristian Høgsberg <krh at bitplanet.net>
Reviewed-by: Matt Turner <mattst88 at gmail.com>
References: https://code.google.com/p/chrome-os-partner/issues/detail?id=34681
(cherry picked from commit f95733ddb7fff0af923fce3a07ebef78fa3139a4)

Conflicts:
	src/mesa/drivers/dri/i965/gen6_wm_state.c

---

 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 930f9ae..4e9e995 100644
--- a/src/mesa/drivers/dri/i965/gen6_wm_state.c
+++ b/src/mesa/drivers/dri/i965/gen6_wm_state.c
@@ -142,10 +142,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 (brw->wm.prog_data->prog_offset_16) {
+   if (brw->wm.prog_data->prog_offset_16 || brw->wm.prog_data->no_8) {
       dw5 |= GEN6_WM_16_DISPATCH_ENABLE;
 
-      if (min_inv_per_frag == 1) {
+      if (!brw->wm.prog_data->no_8 && min_inv_per_frag == 1) {
          dw5 |= GEN6_WM_8_DISPATCH_ENABLE;
          dw4 |= (brw->wm.prog_data->base.dispatch_grf_start_reg <<
                  GEN6_WM_DISPATCH_START_GRF_SHIFT_0);




More information about the mesa-commit mailing list