i965/blorp: Implement source clipping.
authorPaul Berry <stereotype441@gmail.com>
Tue, 12 Jun 2012 17:44:10 +0000 (10:44 -0700)
committerPaul Berry <stereotype441@gmail.com>
Fri, 15 Jun 2012 15:58:54 +0000 (08:58 -0700)
commit75f409d75cacf90df2d6f1d718251a5d5cd92f7f
tree7bfbceb2077bd5380832932ca9a7692591f5a2c8
parent4d9f263d7c8fc2213c369c73c86aa39f9d8659be
i965/blorp: Implement source clipping.

This patch modifies blorp blits (which are used for MSAA) to properly
account for clipping of source coordinates.  Previously, if we
detected the possibility of source clipping, we would fall back to the
blit meta-op, which doesn't support MSAA and is very slow for depth
and stencil buffers.

Fixes piglit tests
"EXT_framebuffer_multisample/clip-and-scissor-blit" on i965/Gen6+.

Also substantially speeds up the Humble Bundle V game "Psychonauts" on
Gen6+ (without this patch, the game's depth buffer blits use the slow
blit meta-op).

Reviewed-by: Carl Worth <cworth@cworth.org>
src/mesa/drivers/dri/i965/brw_blorp_blit.cpp