Mesa (master): i965: Fix up SF max_threads.

Eric Anholt anholt at kemper.freedesktop.org
Wed Nov 12 21:59:15 UTC 2008


Module: Mesa
Branch: master
Commit: 9dadfc09a9dd492f14eec8de060d3f5198c766ec
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9dadfc09a9dd492f14eec8de060d3f5198c766ec

Author: Eric Anholt <eric at anholt.net>
Date:   Sun Nov  2 18:49:33 2008 -0800

i965: Fix up SF max_threads.

We were dividing the number of URB entries by two to get number of threads,
which looks suspiciously like a copy'n'paste-o from brw_vs_state.c.  Also, the
maximum number of threads is 24, not 12.

---

 src/mesa/drivers/dri/i965/brw_sf_state.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_sf_state.c b/src/mesa/drivers/dri/i965/brw_sf_state.c
index 4f925d1..506126f 100644
--- a/src/mesa/drivers/dri/i965/brw_sf_state.c
+++ b/src/mesa/drivers/dri/i965/brw_sf_state.c
@@ -172,7 +172,8 @@ sf_unit_create_from_key(struct brw_context *brw, struct brw_sf_unit_key *key,
 
    sf.thread4.nr_urb_entries = key->nr_urb_entries;
    sf.thread4.urb_entry_allocation_size = key->sfsize - 1;
-   sf.thread4.max_threads = MIN2(12, key->nr_urb_entries / 2) - 1;
+   /* Each SF thread produces 1 PUE, and there can be up to 24 threads */
+   sf.thread4.max_threads = MIN2(24, key->nr_urb_entries) - 1;
 
    if (INTEL_DEBUG & DEBUG_SINGLE_THREAD)
       sf.thread4.max_threads = 0;




More information about the mesa-commit mailing list