[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: