https://bugs.freedesktop.org/show_bug.cgi?id=102349 --- Comment #14 from Ilia Mirkin --- 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.