<div dir="ltr"><div>Where are you getting a destination stride in a load_payload?  The whole point of load_payload was to remove partial writes so this seems to go against everything it's intended for.<br></div>--Jason<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Feb 6, 2015 at 9:42 AM, Francisco Jerez <span dir="ltr"><<a href="mailto:currojerez@riseup.net" target="_blank">currojerez@riseup.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">---<br>
 src/mesa/drivers/dri/i965/brw_fs.cpp | 2 +-<br>
 1 file changed, 1 insertion(+), 1 deletion(-)<br>
<br>
diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp<br>
index 163aa41..8da1f47 100644<br>
--- a/src/mesa/drivers/dri/i965/brw_fs.cpp<br>
+++ b/src/mesa/drivers/dri/i965/brw_fs.cpp<br>
@@ -3074,7 +3074,7 @@ fs_visitor::lower_load_payload()<br>
          bool force_sechalf = inst->force_sechalf &&<br>
                               !inst->force_writemask_all;<br>
          bool toggle_sechalf = inst->dst.width == 16 &&<br>
-                               type_sz(inst->dst.type) == 4 &&<br>
+                               type_sz(inst->dst.type) * inst->dst.stride == 4 &&<br>
                                !inst->force_writemask_all;<br>
          for (int i = 0; i < inst->regs_written; ++i) {<br>
             metadata[dst_reg + i].written = true;<br>
<span class="HOEnZb"><font color="#888888">--<br>
2.1.3<br>
<br>
_______________________________________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org">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>