Mesa (master): nv50: activate more lanes in a warp

Christoph Bumiller chrisbmr at kemper.freedesktop.org
Tue Oct 27 22:58:32 UTC 2009


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

Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Wed Oct 28 00:30:45 2009 +0100

nv50: activate more lanes in a warp

Some cards have crippling defaults set and use only 4
of 32 lanes. This should activate 16 on these.
Those that allow 32 by default should still do so.

Found out by Marcin Kościelnicki.

---

 src/gallium/drivers/nv50/nv50_screen.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/src/gallium/drivers/nv50/nv50_screen.c b/src/gallium/drivers/nv50/nv50_screen.c
index c672ea4..c8d0f1e 100644
--- a/src/gallium/drivers/nv50/nv50_screen.c
+++ b/src/gallium/drivers/nv50/nv50_screen.c
@@ -309,6 +309,10 @@ nv50_screen_create(struct pipe_winsys *ws, struct nouveau_device *dev)
 	so_method(so, screen->tesla, 0x121c, 1);
 	so_data  (so, 1);
 
+	/* try to activate all/more lanes (threads) in a warp */
+	so_method(so, screen->tesla, 0x1400, 1);
+	so_data  (so, 0xf);
+
 	so_method(so, screen->tesla, 0x13bc, 1);
 	so_data  (so, 0x54);
 	/* origin is top left (set to 1 for bottom left) */




More information about the mesa-commit mailing list