From: Anuj Phogat Date: Fri, 18 Oct 2013 23:07:42 +0000 (-0700) Subject: i965: Do not set bilinear_filter flag in case of multisample blits X-Git-Tag: android-x86-4.4-r3~8970 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=f278d49c4bcfedbda10cb224cb251e3755e88288;p=android-x86%2Fexternal-mesa.git i965: Do not set bilinear_filter flag in case of multisample blits Setting bilinear_filter flag in case of multisample blits with GL_LINEAR filter causes incorrect behavior in translate_dst_to_src() function. This broke Modern Warfare (1, 2 and 3) on SNB, IVB and HSW. Tested on SNB and IVB, no Piglit regressions. Trace file of the game (taken with apitrace) works fine with this patch. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=69078 Cc: mesa-stable@lists.freedesktop.org Signed-off-by: Anuj Phogat Reported-by: Armin K Tested-by: Armin K Reviewed-by: Paul Berry --- diff --git a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp index 2b94e2d517b..7e436f71fd7 100644 --- a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp +++ b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp @@ -2171,7 +2171,7 @@ brw_blorp_blit_params::brw_blorp_blit_params(struct brw_context *brw, wm_prog_key.x_scale = 2.0; wm_prog_key.y_scale = src_mt->num_samples / 2.0; - if (filter == GL_LINEAR) + if (filter == GL_LINEAR && src.num_samples <= 1 && dst.num_samples <= 1) wm_prog_key.bilinear_filter = true; /* The render path must be configured to use the same number of samples as