i965: Allow the blorp blit between BGR and RGB
authorNeil Roberts <neil@linux.intel.com>
Mon, 23 Jun 2014 16:43:08 +0000 (17:43 +0100)
committerNeil Roberts <neil@linux.intel.com>
Mon, 23 Jun 2014 18:59:40 +0000 (19:59 +0100)
commit5f11b10f2c6a7dc94b8abdbffb755505f8a3a0ec
tree00dd8e0c758e194e3dd841e01cb7cac05389644d
parent3552aa7c1c1ff506574ae1392ffc775a329f5ab6
i965: Allow the blorp blit between BGR and RGB

Previously the blorp blitter would only be used if the format is identical or
there is only a difference between whether there is an alpha component or not.
This patch makes it also allow the blorp blitter if the only difference is the
ordering of the RGB components (ie, RGB or BGR).

This is particularly useful since commit 61e264f4fcdba3623 because Mesa now
prefers RGB ordering for textures but the window system buffers are still
created as BGR. That means that the blorp blitter won't be used for the
(probably) common case of blitting from a texture to the window system buffer.

This doesn't cause any regressions in the FBO piglit tests on Haswell. On
Sandybridge it causes the fbo-blit-stretch test to fail but that is only
because it was failing anyway before the above commit and that commit hid the
problem.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=68365
Reviewed-by: Matt Turner <mattst88@gmail.com>
src/mesa/drivers/dri/i965/brw_blorp_blit.cpp