nouveau: use bo_handle_ref instead of bo_fake to get front-buffer bo
authorBen Skeggs <bskeggs@redhat.com>
Sat, 7 Mar 2009 07:28:08 +0000 (17:28 +1000)
committerBen Skeggs <bskeggs@redhat.com>
Sat, 7 Mar 2009 07:49:10 +0000 (17:49 +1000)
This'll work on non-GEM also as the DDX will just pass an offset, and
libdrm_nouveau knows to treat "handle" as a VRAM offset.  When running
on GEM the DDX (it doesn't yet, but will) passes a buffer handle
instead.

src/gallium/winsys/drm/nouveau/common/nouveau_context.c

index 2c711e5..fbe57ea 100644 (file)
@@ -164,9 +164,7 @@ nouveau_context_init(struct nouveau_screen *nv_screen,
                pipe_reference_init(&fb_buf->base.reference, 1);
                fb_buf->base.usage = PIPE_BUFFER_USAGE_PIXEL;
 
-               nouveau_bo_fake(dev, nv_screen->front_offset, NOUVEAU_BO_VRAM,
-                               nv_screen->front_pitch*nv_screen->front_height,
-                               NULL, &fb_buf->bo);
+               nouveau_bo_handle_ref(dev, nv_screen->front_offset, &fb_buf->bo);
 
                if (nv_screen->front_cpp == 4)
                        format = PIPE_FORMAT_A8R8G8B8_UNORM;