<div dir="ltr">On 18 October 2013 17:24, Anuj Phogat <span dir="ltr"><<a href="mailto:anuj.phogat@gmail.com" target="_blank">anuj.phogat@gmail.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Setting bilinear_filter flag in case of multisample blits with<br>
GL_LINEAR filter causes incorrect behavior in translate_dst_to_src()<br>
function. This broke Modern Warfare (1, 2 and 3) on SNB, IVB and HSW.<br>
<br>
Tested on SNB and IVB, no Piglit regressions. Trace file of the game<br>
(taken with apitrace) works fine with this patch.<br>
<br>
Cc: <a href="mailto:mesa-stable@lists.freedesktop.org" target="_blank">mesa-stable@lists.freedesktop.org</a><br>
Signed-off-by: Anuj Phogat <<a href="mailto:anuj.phogat@gmail.com" target="_blank">anuj.phogat@gmail.com</a>><br>
Reported-by: Armin K <<a href="mailto:krejzi@email.com" target="_blank">krejzi@email.com</a>><br>
---<br>
 src/mesa/drivers/dri/i965/brw_blorp_blit.cpp | 2 +-<br>
 1 file changed, 1 insertion(+), 1 deletion(-)<br></blockquote><div><br></div><div>Reviewed-by: Paul Berry <<a href="mailto:stereotype441@gmail.com" target="_blank">stereotype441@gmail.com</a>><br><br></div><div>BTW, I've taken the liberty of writing some piglit tests to make sure we don't regress this functionality again in the future.  I'll send them out to the piglit list shortly.<br>

</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<br>
diff --git a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp<br>
index 2b94e2d..7e436f7 100644<br>
--- a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp<br>
+++ b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp<br>
@@ -2171,7 +2171,7 @@ brw_blorp_blit_params::brw_blorp_blit_params(struct brw_context *brw,<br>
    wm_prog_key.x_scale = 2.0;<br>
    wm_prog_key.y_scale = src_mt->num_samples / 2.0;<br>
<br>
-   if (filter == GL_LINEAR)<br>
+   if (filter == GL_LINEAR && src.num_samples <= 1 && dst.num_samples <= 1)<br>
       wm_prog_key.bilinear_filter = true;<br>
<br>
    /* The render path must be configured to use the same number of samples as<br>
<span><font color="#888888">--<br>
1.8.1.4<br>
<br>
_______________________________________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org" target="_blank">mesa-dev@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/mesa-dev" target="_blank">http://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br>
</font></span></blockquote></div><br></div></div>