i965/blorp: Use MSDISPMODE_PERSAMPLE rendering when necessary
authorPaul Berry <stereotype441@gmail.com>
Wed, 9 May 2012 15:29:33 +0000 (08:29 -0700)
committerPaul Berry <stereotype441@gmail.com>
Fri, 25 May 2012 15:45:10 +0000 (08:45 -0700)
commit34a5f12e35dd4a5aff6683a8286d4582ba17df14
treeb50fb003c35714a32cfbe807db2bd7c141f9d96d
parent233c207e9e477b6b0a5c6705e727129b92989073
i965/blorp: Use MSDISPMODE_PERSAMPLE rendering when necessary

This patch modifies the "blorp" WM program so that it can be run in
MSDISPMODE_PERSAMPLE (which means that every single sample of a
multisampled render target is dispatched to the WM program, not just
every pixel).

Previously we were using the ugly hack of configuring multisampled
destination surfaces as single-sampled, and generating sample indices
other than zero by swizzling the pixel coordinates in the WM program.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
src/mesa/drivers/dri/i965/brw_blorp.h
src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
src/mesa/drivers/dri/i965/gen6_blorp.cpp
src/mesa/drivers/dri/i965/gen7_blorp.cpp