<div dir="ltr"><div>Reviewed-by: Jason Ekstrand <<a href="mailto:jason@jlekstrand.net">jason@jlekstrand.net</a>></div></div><br><div class="gmail_quote"><div dir="ltr">On Tue, Dec 4, 2018 at 1:18 AM Iago Toral Quiroga <<a href="mailto:itoral@igalia.com">itoral@igalia.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">The hardware only allows a stride of 1 on a Byte destination for raw<br>
byte MOV instructions. This is required even when the destination<br>
is the NULL register.<br>
<br>
Rather than making sure that we emit a proper NULL:B destination<br>
every time we need one, just fix it at emission time.<br>
---<br>
 src/intel/compiler/brw_eu_emit.c | 11 +++++++++++<br>
 1 file changed, 11 insertions(+)<br>
<br>
diff --git a/src/intel/compiler/brw_eu_emit.c b/src/intel/compiler/brw_eu_emit.c<br>
index 66edfb43baf..eef36705c7b 100644<br>
--- a/src/intel/compiler/brw_eu_emit.c<br>
+++ b/src/intel/compiler/brw_eu_emit.c<br>
@@ -94,6 +94,17 @@ brw_set_dest(struct brw_codegen *p, brw_inst *inst, struct brw_reg dest)<br>
    else if (dest.file != BRW_ARCHITECTURE_REGISTER_FILE)<br>
       assert(<a href="http://dest.nr" rel="noreferrer" target="_blank">dest.nr</a> < 128);<br>
<br>
+   /* The hardware has a restriction where if the destination is Byte,<br>
+    * the instruction needs to have a stride of 2 (except for packed byte<br>
+    * MOV). This seems to be required even if the destination is the NULL<br>
+    * register.<br>
+    */<br>
+   if (dest.file == BRW_ARCHITECTURE_REGISTER_FILE &&<br>
+       <a href="http://dest.nr" rel="noreferrer" target="_blank">dest.nr</a> == BRW_ARF_NULL &&<br>
+       type_sz(dest.type) == 1) {<br>
+      dest.hstride = BRW_HORIZONTAL_STRIDE_2;<br>
+   }<br>
+<br>
    gen7_convert_mrf_to_grf(p, &dest);<br>
<br>
    brw_inst_set_dst_file_type(devinfo, inst, dest.file, dest.type);<br>
-- <br>
2.17.1<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="https://lists.freedesktop.org/mailman/listinfo/mesa-dev" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br>
</blockquote></div>