[Nouveau] [Bug 64323] Severe misrendering in Left 4 Dead 2

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed Dec 4 13:43:21 PST 2013


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

--- Comment #29 from Ilia Mirkin <imirkin at alum.mit.edu> ---
The wait is correct and always needed. I believe that the last patch is
actually incorrect. I've added a whole bunch of comments to that function which
reflect my understanding of how it works. It appears to be correct.

I think what's happening is that

(a) inline write to GART. no staging, just returns the buffer's memory
(b) something happens
(c) inline write to GART. at this point, the GPU is now reading the buffer. so
it has to do the whole staging dance to schedule the write to be done by the
GPU.
(d) render happens, and has to wait for that second inline write to complete.

I have yet to figure out what (b) is -- I did some printf-debugging and I'm
fairly sure about parts (a) and (c). But by the time (c) happened, the buffer's
status had the GPU_READING bit set, and it had a ->fence set on it.

I made yet-another attempt at improving this by forcing the second inline write
to wait for the gpu to stop reading and then do the GART copy directly, but
that didn't seem to help.

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


More information about the Nouveau mailing list