Bug#789395: libdrm-nouveau2: pushbuf.c not found
On Mon, Dec 7, 2015 at 10:20 AM, Heiko Ernst <gipfelsturm111@gmx.net> wrote:
> I have this output on supertuxkart on the map "GRAN PARADISO
> ISLAND". Hopre that helps
Heiko,
Can you try applying this patch to mesa? (Here is a temporary
non-whitespace-damaged version: http://hastebin.com/tefezadoyo.pl). I
was able to repro the issue a handful of times before this patch but
not after. Not tested exhaustively though. In the future, please file
nouveau bugs at bugs.freedesktop.org where I won't completely forget
about them :)
Happy new year!
-ilia
diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c
b/src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c
index 273451e..787d17a 100644
--- a/src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c
+++ b/src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c
@@ -822,7 +822,8 @@ nvc0_draw_indirect(struct nvc0_context *nvc0,
const struct pipe_draw_info *info)
BEGIN_NVC0(push, NVC0_3D(CB_POS), 1);
PUSH_DATA (push, 256 + 128);
- PUSH_SPACE(push, 8);
+ nouveau_pushbuf_space(push, 8, 0, 1);
+ PUSH_REFN(push, buf->bo, NOUVEAU_BO_RD | buf->domain);
if (info->indexed) {
assert(nvc0->idxbuf.buffer);
assert(nouveau_resource_mapped_by_gpu(nvc0->idxbuf.buffer));
@@ -840,8 +841,6 @@ nvc0_draw_indirect(struct nvc0_context *nvc0,
const struct pipe_draw_info *info)
}
PUSH_DATA(push, nvc0_prim_gl(info->mode));
#define NVC0_IB_ENTRY_1_NO_PREFETCH (1 << (31 - 8))
- PUSH_REFN(push, buf->bo, NOUVEAU_BO_RD | buf->domain);
- nouveau_pushbuf_space(push, 0, 0, 1);
nouveau_pushbuf_data(push,
buf->bo, offset, NVC0_IB_ENTRY_1_NO_PREFETCH | size);
}
Reply to: