swrast: Convert color glReadPixels slow path to using MapRenderbuffer.
authorEric Anholt <eric@anholt.net>
Thu, 13 Oct 2011 00:05:20 +0000 (17:05 -0700)
committerEric Anholt <eric@anholt.net>
Fri, 4 Nov 2011 06:29:52 +0000 (23:29 -0700)
commit345fc4161967f15fb80848cd7dc6a63100f8c12d
treea3a8c1feb8f0d404ed9f4ecd499c8563b8285322
parent3e51ef099034f8c0da4a782dfd0d92194e068d85
swrast: Convert color glReadPixels slow path to using MapRenderbuffer.

This may be a bit slower than before because we're switching from
per-format compiled loops in GetRow to
_mesa_unpack_rgba_block_unpack's loop around a callback to unpack a
pixel.  The solution there would be to make _mesa_unpack_rgba_block
fold the span loop into the format handlers.

(On the other hand, function call overhead will hardly matter if
MapRenderbuffer means the driver gets the data into cacheable memory
instead of uncached).

The adjust_colors code should no longer be required, since the unpack
function does the 565 to float conversion in a single pass instead of
converting it (poorly) through 8888 as apparently happened in the
past.

Reviewed-by: Brian Paul <brianp@vmware.com>
src/mesa/swrast/s_readpix.c