summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/nv50
diff options
context:
space:
mode:
authorChristoph Bumiller <[email protected]>2012-05-17 14:43:47 +0200
committerChristoph Bumiller <[email protected]>2012-05-17 15:24:58 +0200
commit1befacc7647f51344f5cfbfa86b62e53625a436f (patch)
treecc3ef152070aeed35223e0f145792bd469dfb77f /src/gallium/drivers/nv50
parent717f55d79d9709a31e0f85a87f076ac13446701d (diff)
nouveau: place static buffers in VRAM if preferred by the driver
Diffstat (limited to 'src/gallium/drivers/nv50')
-rw-r--r--src/gallium/drivers/nv50/nv50_screen.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/gallium/drivers/nv50/nv50_screen.c b/src/gallium/drivers/nv50/nv50_screen.c
index d7efa353381..9567abbf352 100644
--- a/src/gallium/drivers/nv50/nv50_screen.c
+++ b/src/gallium/drivers/nv50/nv50_screen.c
@@ -532,12 +532,18 @@ nv50_screen_create(struct nouveau_device *dev)
return NULL;
pscreen = &screen->base.base;
- screen->base.sysmem_bindings = PIPE_BIND_CONSTANT_BUFFER;
-
ret = nouveau_screen_init(&screen->base, dev);
if (ret)
FAIL_SCREEN_INIT("nouveau_screen_init failed: %d\n", ret);
+ /* TODO: Prevent FIFO prefetch before transfer of index buffers and
+ * admit them to VRAM.
+ */
+ screen->base.vidmem_bindings |= PIPE_BIND_CONSTANT_BUFFER |
+ PIPE_BIND_VERTEX_BUFFER;
+ screen->base.sysmem_bindings |=
+ PIPE_BIND_VERTEX_BUFFER | PIPE_BIND_INDEX_BUFFER;
+
screen->base.pushbuf->user_priv = screen;
screen->base.pushbuf->rsvd_kick = 5;