[Mesa-dev] [Bug 92954] [softpipe] piglit drawbuffer-modes regression

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Sun Jan 8 20:55:20 UTC 2017


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

--- Comment #2 from Karl Lessard <karl at kubx.ca> ---
The reason this has stopped working is because the drawable is not refreshed
with the data written to the front buffer before reading its pixels.

Since
https://cgit.freedesktop.org/mesa/mesa/commit/?id=2b676570960277d47477822ffeccc672613f9142,
the drawable act as the source for reading the front buffer data. Since this
test writes directly to the front buffer, all operations have to be flushed and
reflected by the drawable before attempting to read it.

On a explicit flush, the state tracker take care of refreshing the drawable
with the front buffer data after flushing (see st_glFlush). But in the
drawbuffer-modes test, the flush is done implicitly by calling glReadPixels and
is handled by the soft/llvm pipes themselves (see *pipe_transfer_map). The
drawable does not get refreshed in this case, therefore when the test reads the
front buffer data, it reads garbage.

It is tricky to refresh the drawable after flushing from the pipes because at
that level, we don't know the nature of the resource being mapped for reading
(front buffer, back buffer...). Unless I miss something?

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20170108/75d6eb5e/attachment.html>


More information about the mesa-dev mailing list