mesa: Add support to allow blitting to multiple color draw buffers
authorAnuj Phogat <anuj.phogat@gmail.com>
Wed, 12 Dec 2012 04:17:47 +0000 (20:17 -0800)
committerIan Romanick <ian.d.romanick@intel.com>
Tue, 15 Jan 2013 23:09:23 +0000 (15:09 -0800)
commitbed997dabaada5e7c8081db08f93a6f1b5932e8b
tree6ff921ae659cc1487ca4ce0904a9d5d4c7146788
parentab36ca061412c49143a5f2af53bee862fbd40351
mesa: Add support to allow blitting to multiple color draw buffers

This patch fixes a blitting case when drawAttachment->Texture ==
readAttachment->Texture. It was causing an assertion failure in
intel_miptree_attach_map() with gles3 conformance test case:
framebuffer_blit_functionality_minifying_blit

Number of changes in this file look scary. But most of them are caused
by introducing a big for loop to support rendering to multiple color
draw buffers.

V2: Fixed a case when number of draw buffer attachments are zero.
V3: Put a for loop in blit_nearest() and blit_linear() functions in to
    support blitting to multiple color draw buffers.
V4: Remove variable declaration in for loop to avoid MSVC compilation
    issues.

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
src/mesa/swrast/s_blit.c