nv50: enable GART usage for vertex buffers
authorBen Skeggs <skeggsb@gmail.com>
Thu, 10 Jul 2008 16:01:23 +0000 (02:01 +1000)
committerBen Skeggs <skeggsb@gmail.com>
Thu, 10 Jul 2008 16:01:23 +0000 (02:01 +1000)
AKA "I can haz fast b0rk3d glxgears!!!"

src/gallium/drivers/nv50/nv50_screen.c
src/gallium/drivers/nv50/nv50_vbo.c

index e4c09a99d8bbebd6c4346378254da0b5b403aef9..9f1fba6e42d22b3af6d923bfcb8c3c1a135a53d4 100644 (file)
@@ -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:
index c16bfe3a9378076aae0de2afe2db95324bf924ed..0318b9b5503977801444e22dc97251d918fb5431 100644 (file)
@@ -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);