st/mesa: fix frontbuffer glReadPixels regressions
authorBrian Paul <brianp@vmware.com>
Tue, 23 Feb 2016 23:15:34 +0000 (16:15 -0700)
committerBrian Paul <brianp@vmware.com>
Wed, 24 Feb 2016 15:30:07 +0000 (08:30 -0700)
commit83b589301f4a150f4b1b13fd3ffd9f6d98ee6546
treeb3efc738b3c6048fc477142bd424c92b518b3603
parent4b7e219e616f64281a83c88319dc7c386809b9ec
st/mesa: fix frontbuffer glReadPixels regressions

The change "mesa/readpix: Don't clip in _mesa_readpixels()" caused a
few piglit regressions.  The failing tests use glReadPixels to read
from the front color buffer.  The problem is we were trying to read
from a non-existant front color buffer.  The front color buffer is
created on demand in st/mesa.  Since the missing buffer bounds were
effectively 0 x 0 the glReadPixels was totally clipped and returned
early.

The fix involves creating the real front color buffer when we're about
to try reading from it.

Tested with llvmpipe and VMware driver on Linux, Windows.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94253
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94254
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94257
Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
src/mesa/state_tracker/st_cb_fbo.c