[Nouveau] [Bug 102349] nv4x crashing with plasmashell - gdb log included

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Dec 27 04:57:44 UTC 2018


https://bugs.freedesktop.org/show_bug.cgi?id=102349

--- Comment #14 from Ilia Mirkin <imirkin at alum.mit.edu> ---
I believe the issue is mostly resolved by:

https://patchwork.freedesktop.org/patch/270609/

There's a lingering issue, which I don't think was truly being hit, but fixed
by:

https://patchwork.freedesktop.org/patch/270610/

Of course when I went to test these patches with xonotic, I was immediately
confronted by the fact that we don't handle 3d transfers (which ~never used to
happen before, but some recent improvements have made it a thing that happens a
lot more often). I quickly hacked around that with the below patch, but that's
obviously not generally acceptable.

diff --git a/src/gallium/auxiliary/util/u_transfer.c
b/src/gallium/auxiliary/util/u_transfer.c
index 3089bcb1f34..3550e1e26d3 100644
--- a/src/gallium/auxiliary/util/u_transfer.c
+++ b/src/gallium/auxiliary/util/u_transfer.c
@@ -56,11 +56,16 @@ void u_default_texture_subdata(struct pipe_context *pipe,
    /* texture_subdata implicitly discards the rewritten buffer range */
    usage |= PIPE_TRANSFER_DISCARD_RANGE;

+   for (int z = box->z; z < box->z + box->depth; z++) {
+      struct pipe_box t = *box;
+      t.z = z;
+      t.depth = 1;
+
    map = pipe->transfer_map(pipe,
                             resource,
                             level,
                             usage,
-                            box, &transfer);
+                            &t, &transfer);
    if (!map)
       return;

@@ -71,13 +76,14 @@ void u_default_texture_subdata(struct pipe_context *pipe,
                  0, 0, 0,
                  box->width,
                  box->height,
-                 box->depth,
+                 1,
                  src_data,
                  stride,       /* bytes */
                  layer_stride, /* bytes */
-                 0, 0, 0);
+                 0, 0, t.z);

    pipe_transfer_unmap(pipe, transfer);
+   }
 }

FWIW xonotic looks terrible on the nv34 -- all the colors are messed up, and
maybe some of the geometry too. But it's the same with 18.3.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/nouveau/attachments/20181227/df5b0c22/attachment.html>


More information about the Nouveau mailing list