<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sat, Jun 9, 2018 at 4:13 AM, Jose Maria Casanova Crespo <span dir="ltr"><<a href="mailto:jmcasanova@igalia.com" target="_blank">jmcasanova@igalia.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">As the previous use of shuffle_32bit_load_result_to_<wbr>64bit_data<br>
had a source/destination overlap for 64-bit. Now a temporal destination<br></blockquote><div><br></div><div>s/temporal/temporary/</div><div><br></div><div>With that, patches 10 and 11 are</div><div><br></div><div>Reviewed-by: Jason Ekstrand <<a href="mailto:jason@jlekstrand.net">jason@jlekstrand.net</a>><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
is used for 64-bit cases to use shuffle_from_32bit_read that doesn't<br>
handle src/dst overlaps.<br>
---<br>
 src/intel/compiler/brw_fs_nir.<wbr>cpp | 8 ++++----<br>
 1 file changed, 4 insertions(+), 4 deletions(-)<br>
<br>
diff --git a/src/intel/compiler/brw_fs_<wbr>nir.cpp b/src/intel/compiler/brw_fs_<wbr>nir.cpp<br>
index 11b707e57a8..7e0ef2f34a9 100644<br>
--- a/src/intel/compiler/brw_fs_<wbr>nir.cpp<br>
+++ b/src/intel/compiler/brw_fs_<wbr>nir.cpp<br>
@@ -3350,6 +3350,7 @@ fs_visitor::nir_emit_fs_<wbr>intrinsic(const fs_builder &bld,<br>
       unsigned base = nir_intrinsic_base(instr);<br>
       unsigned comp = nir_intrinsic_component(instr)<wbr>;<br>
       unsigned num_components = instr->num_components;<br>
+      fs_reg orig_dest = dest;<br>
       enum brw_reg_type type = dest.type;<br>
<br>
       /* Special case fields in the VUE header */<br>
@@ -3365,6 +3366,7 @@ fs_visitor::nir_emit_fs_<wbr>intrinsic(const fs_builder &bld,<br>
           */<br>
          type = BRW_REGISTER_TYPE_F;<br>
          num_components *= 2;<br>
+         dest = bld.vgrf(type, num_components);<br>
       }<br>
<br>
       for (unsigned int i = 0; i < num_components; i++) {<br>
@@ -3373,10 +3375,8 @@ fs_visitor::nir_emit_fs_<wbr>intrinsic(const fs_builder &bld,<br>
       }<br>
<br>
       if (nir_dest_bit_size(instr-><wbr>dest) == 64) {<br>
-         shuffle_32bit_load_result_to_<wbr>64bit_data(bld,<br>
-                                                 dest,<br>
-                                                 retype(dest, type),<br>
-                                                 instr->num_components);<br>
+         shuffle_from_32bit_read(bld, orig_dest, dest, 0,<br>
+                                 instr->num_components);<br>
       }<br>
       break;<br>
    }<br>
<span class="HOEnZb"><font color="#888888">-- <br>
2.17.1<br>
<br>
______________________________<wbr>_________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org">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/<wbr>mailman/listinfo/mesa-dev</a><br>
</font></span></blockquote></div><br></div></div>