nv30: set usage to staging so that the buffer is allocated in GART
authorIlia Mirkin <imirkin@alum.mit.edu>
Wed, 31 Aug 2016 06:12:08 +0000 (02:12 -0400)
committerIlia Mirkin <imirkin@alum.mit.edu>
Wed, 31 Aug 2016 14:28:33 +0000 (10:28 -0400)
The code a few lines below expects to migrate the bo in question to
VRAM. Since we're filling the initial data via CPU, it's more efficient
to create the temporary buffer in GART. There is no "push" method
implemented, otherwise we'd use that instead.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: mesa-stable@lists.freedesktop.org
src/gallium/drivers/nouveau/nv30/nv30_transfer.c

index 5299b70d08d0131f3b6f60e1b966c5c4bb044eb7..e4b9497259f68eea8bb70638cf727d5fca797d1e 100644 (file)
@@ -115,7 +115,8 @@ nv30_transfer_rect_fragprog(struct nv30_context *nv30)
    struct pipe_context *pipe = &nv30->base.pipe;
 
    if (!fp) {
-      nv30->blit_fp = pipe_buffer_create(pipe->screen, 0, 0, 12 * 4);
+      nv30->blit_fp =
+         pipe_buffer_create(pipe->screen, 0, PIPE_USAGE_STAGING, 12 * 4);
       if (nv30->blit_fp) {
          struct pipe_transfer *transfer;
          u32 *map = pipe_buffer_map(pipe, nv30->blit_fp,