summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/nouveau/nouveau_buffer.c
diff options
context:
space:
mode:
authorIlia Mirkin <imirkin@alum.mit.edu>2013-11-28 16:23:15 -0500
committerIan Romanick <ian.d.romanick@intel.com>2013-12-06 10:51:49 -0800
commitb160fea306b1f922d7699bf1c91f39e0a2797734 (patch)
treed80baf4179b117fdcf65f61ef5b2547e4504cac4 /src/gallium/drivers/nouveau/nouveau_buffer.c
parent05d2a796a0a1c198b9123394d49b7b6407853c14 (diff)
nv50: wait on the buf's fence before sticking it into pushbuf
This resolves some rendering issues in source games. See https://bugs.freedesktop.org/show_bug.cgi?id=64323 Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Cc: "9.2 10.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 0e5bf8565106833e1a678ebdae81fdf1657391c9)
Diffstat (limited to 'src/gallium/drivers/nouveau/nouveau_buffer.c')
-rw-r--r--src/gallium/drivers/nouveau/nouveau_buffer.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gallium/drivers/nouveau/nouveau_buffer.c b/src/gallium/drivers/nouveau/nouveau_buffer.c
index 3e0404983fe..95905a8776f 100644
--- a/src/gallium/drivers/nouveau/nouveau_buffer.c
+++ b/src/gallium/drivers/nouveau/nouveau_buffer.c
@@ -205,6 +205,9 @@ nouveau_transfer_write(struct nouveau_context *nv, struct nouveau_transfer *tx,
base, size / 4, (const uint32_t *)data);
else
nv->push_data(nv, buf->bo, buf->offset + base, buf->domain, size, data);
+
+ nouveau_fence_ref(nv->screen->fence.current, &buf->fence);
+ nouveau_fence_ref(nv->screen->fence.current, &buf->fence_wr);
}