From 2c440433130d3c64635684355a3667d145a188e3 Mon Sep 17 00:00:00 2001 From: Ilia Mirkin Date: Mon, 1 Sep 2014 10:51:08 -0400 Subject: [PATCH] nv50: attach the buffer bo to the miptree structures The current code... makes no sense. Use nouveau_bo_ref to attach the bo to the exposed resource so as to have the proper lifetime guarantees. Tested-by: Emil Velikov Signed-off-by: Ilia Mirkin Cc: "10.2 10.3" --- src/gallium/drivers/nouveau/nv50/nv84_video.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/gallium/drivers/nouveau/nv50/nv84_video.c b/src/gallium/drivers/nouveau/nv50/nv84_video.c index b26e1eebfbb..b42de20f72f 100644 --- a/src/gallium/drivers/nouveau/nv50/nv84_video.c +++ b/src/gallium/drivers/nouveau/nv50/nv84_video.c @@ -685,17 +685,14 @@ nv84_video_buffer_create(struct pipe_context *pipe, bo_size, &cfg, &buffer->full)) goto error; - mt0->base.bo = buffer->interlaced; + nouveau_bo_ref(buffer->interlaced, &mt0->base.bo); mt0->base.domain = NOUVEAU_BO_VRAM; - mt0->base.offset = 0; - mt0->base.address = buffer->interlaced->offset + mt0->base.offset; - nouveau_bo_ref(buffer->interlaced, &empty); + mt0->base.address = buffer->interlaced->offset; - mt1->base.bo = buffer->interlaced; + nouveau_bo_ref(buffer->interlaced, &mt1->base.bo); mt1->base.domain = NOUVEAU_BO_VRAM; - mt1->base.offset = mt0->layer_stride * 2; - mt1->base.address = buffer->interlaced->offset + mt1->base.offset; - nouveau_bo_ref(buffer->interlaced, &empty); + mt1->base.offset = mt0->total_size; + mt1->base.address = buffer->interlaced->offset + mt0->total_size; memset(&sv_templ, 0, sizeof(sv_templ)); for (component = 0, i = 0; i < 2; ++i ) { -- 2.30.2