diff options
author | Christoph Bumiller <e0425955@student.tuwien.ac.at> | 2009-10-28 00:30:45 +0100 |
---|---|---|
committer | Christoph Bumiller <e0425955@student.tuwien.ac.at> | 2009-10-28 00:57:18 +0100 |
commit | 7d967b9b7c08aea2a471c5bf6aced8bfafdae874 (patch) | |
tree | a7595ec6d35b94e04574359379327862de6389a5 /src | |
parent | 8a1f239ca9ccb61cd6713d1138e24492c84163c5 (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.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 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) */ |