summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Skeggs <skeggsb@gmail.com>2008-07-11 02:01:23 +1000
committerBen Skeggs <skeggsb@gmail.com>2008-07-11 02:01:23 +1000
commit17e95de85250540c8e2448f138d81b7b055be511 (patch)
treecc5ba50d48cff53b609594acc4b208480be02aed
parent7a81ffa1154e6efd09fe91a944514a6f56369b4a (diff)
nv50: enable GART usage for vertex buffers
AKA "I can haz fast b0rk3d glxgears!!!"
-rw-r--r--src/gallium/drivers/nv50/nv50_screen.c1
-rw-r--r--src/gallium/drivers/nv50/nv50_vbo.c8
2 files changed, 5 insertions, 4 deletions
diff --git a/src/gallium/drivers/nv50/nv50_screen.c b/src/gallium/drivers/nv50/nv50_screen.c
index e4c09a99d8..9f1fba6e42 100644
--- a/src/gallium/drivers/nv50/nv50_screen.c
+++ b/src/gallium/drivers/nv50/nv50_screen.c
@@ -90,6 +90,7 @@ nv50_screen_get_param(struct pipe_screen *pscreen, int param)
case PIPE_CAP_MAX_TEXTURE_CUBE_LEVELS:
return 13;
case NOUVEAU_CAP_HW_VTXBUF:
+ return 1;
case NOUVEAU_CAP_HW_IDXBUF:
return 0;
default:
diff --git a/src/gallium/drivers/nv50/nv50_vbo.c b/src/gallium/drivers/nv50/nv50_vbo.c
index c16bfe3a93..0318b9b550 100644
--- a/src/gallium/drivers/nv50/nv50_vbo.c
+++ b/src/gallium/drivers/nv50/nv50_vbo.c
@@ -204,11 +204,11 @@ nv50_vbo_validate(struct nv50_context *nv50)
so_method(vtxbuf, tesla, 0x900 + (i * 16), 3);
so_data (vtxbuf, 0x20000000 | vb->pitch);
so_reloc (vtxbuf, vb->buffer, vb->buffer_offset +
- ve->src_offset, NOUVEAU_BO_VRAM | NOUVEAU_BO_RD |
- NOUVEAU_BO_HIGH, 0, 0);
+ ve->src_offset, NOUVEAU_BO_VRAM | NOUVEAU_BO_GART |
+ NOUVEAU_BO_RD | NOUVEAU_BO_HIGH, 0, 0);
so_reloc (vtxbuf, vb->buffer, vb->buffer_offset +
- ve->src_offset, NOUVEAU_BO_VRAM | NOUVEAU_BO_RD |
- NOUVEAU_BO_LOW, 0, 0);
+ ve->src_offset, NOUVEAU_BO_VRAM | NOUVEAU_BO_GART |
+ NOUVEAU_BO_RD | NOUVEAU_BO_LOW, 0, 0);
}
so_ref (vtxfmt, &nv50->state.vtxfmt);