llvmpipe: fix using wrong format with MRT in blend code
authorRoland Scheidegger <sroland@vmware.com>
Sun, 13 Jan 2013 01:07:37 +0000 (17:07 -0800)
committerRoland Scheidegger <sroland@vmware.com>
Fri, 18 Jan 2013 17:14:52 +0000 (09:14 -0800)
commit8c84a82383fe56bc1a8977ce42de36f71ffc108e
tree478af6cf8f83cb0855825c8d4413de2ef572e3bb
parentca39c0f94a4e3cc25b6cc9507fb729b85140733a
llvmpipe: fix using wrong format with MRT in blend code

We were passing in the rt index however this was always 0 for non-independent
blend case. (The format was only actually used to decide if the color mask
covered all channels so this went unnoticed and was discovered by accident.)
Additionally, there was a second problem because we do fixups in the key based
on color buffer format we cannot use non-independent blend anyway as the fixed
up values would never get used.
So always turn non-independent blending into independent.

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: José Fonseca <jfonseca@vmware.com>
src/gallium/drivers/llvmpipe/lp_bld_blend.h
src/gallium/drivers/llvmpipe/lp_bld_blend_aos.c
src/gallium/drivers/llvmpipe/lp_state_fs.c
src/gallium/drivers/llvmpipe/lp_test_blend.c