summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChristoph Bumiller <e0425955@student.tuwien.ac.at>2009-10-28 00:30:45 +0100
committerChristoph Bumiller <e0425955@student.tuwien.ac.at>2009-10-28 00:57:18 +0100
commit7d967b9b7c08aea2a471c5bf6aced8bfafdae874 (patch)
treea7595ec6d35b94e04574359379327862de6389a5 /src
parent8a1f239ca9ccb61cd6713d1138e24492c84163c5 (diff)
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.
Diffstat (limited to 'src')
-rw-r--r--src/gallium/drivers/nv50/nv50_screen.c4
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 c672ea471a..c8d0f1e4d8 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) */