<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Jun 14, 2018 at 3:47 PM, Chema Casanova <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"><span class="">On 14/06/18 03:44, Jason Ekstrand wrote:<br>
> On Sat, Jun 9, 2018 at 4:13 AM, Jose Maria Casanova Crespo<br>
</span><span class="">> <<a href="mailto:jmcasanova@igalia.com">jmcasanova@igalia.com</a> <mailto:<a href="mailto:jmcasanova@igalia.com">jmcasanova@igalia.com</a>><wbr>> wrote:<br>
> <br>
>     ---<br>
>      src/intel/compiler/brw_fs_<wbr>nir.cpp | 13 ++++++-------<br>
>      1 file changed, 6 insertions(+), 7 deletions(-)<br>
> <br>
>     diff --git a/src/intel/compiler/brw_fs_<wbr>nir.cpp<br>
>     b/src/intel/compiler/brw_fs_<wbr>nir.cpp<br>
>     index 2521f3c001b..833fad4247a 100644<br>
>     --- a/src/intel/compiler/brw_fs_<wbr>nir.cpp<br>
>     +++ b/src/intel/compiler/brw_fs_<wbr>nir.cpp<br>
>     @@ -2839,8 +2839,7 @@ fs_visitor::nir_emit_tcs_<wbr>intrinsic(const<br>
>     fs_builder &bld,<br>
>                      * for that.<br>
>                      */<br>
>                     unsigned channel = iter * 2 + i;<br>
>     -               fs_reg dest = shuffle_64bit_data_for_32bit_<wbr>write(bld,<br>
>     -                  offset(value, bld, channel), 1);<br>
>     +               fs_reg dest = shuffle_for_32bit_write(bld, value,<br>
>     channel, 1);<br>
> <br>
> <br>
> What happened to offsetting "value"?<br>
<br>
</span>Using channel as first_component in shuffle_for_32bit_write is<br>
equivalent to offsetting value, and we save one line. :)<br><div><div class="h5"></div></div></blockquote><div><br></div><div>Ah, makes sense.  R-B.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">
>  <br>
> <br>
> <br>
>                     srcs[header_regs + (i + first_component) * 2] = dest;<br>
>                     srcs[header_regs + (i + first_component) * 2 + 1] =<br>
>     @@ -3694,8 +3693,8 @@ fs_visitor::nir_emit_cs_<wbr>intrinsic(const<br>
>     fs_builder &bld,<br>
>            unsigned type_size = 4;<br>
>            if (nir_src_bit_size(instr->src[<wbr>0]) == 64) {<br>
>               type_size = 8;<br>
>     -         val_reg = shuffle_64bit_data_for_32bit_<wbr>write(bld,<br>
>     -            val_reg, instr->num_components);<br>
>     +         val_reg = shuffle_for_32bit_write(bld, val_reg, 0,<br>
>     +                                           instr->num_components);<br>
>            }<br>
> <br>
>            unsigned type_slots = type_size / 4;<br>
>     @@ -4236,8 +4235,8 @@ fs_visitor::nir_emit_<wbr>intrinsic(const<br>
>     fs_builder &bld, nir_intrinsic_instr *instr<br>
>                   * iteration handle the rest.<br>
>                   */<br>
>                  num_components = MIN2(2, num_components);<br>
>     -            write_src = shuffle_64bit_data_for_32bit_<wbr>write(bld,<br>
>     write_src,<br>
>     -                                                         <br>
>      num_components);<br>
>     +            write_src = shuffle_for_32bit_write(bld, write_src, 0,<br>
>     +                                                num_components);<br>
>               } else if (type_size < 4) {<br>
>                  assert(type_size == 2);<br>
>                  /* For 16-bit types we pack two consecutive values into<br>
>     a 32-bit<br>
>     @@ -4333,7 +4332,7 @@ fs_visitor::nir_emit_<wbr>intrinsic(const<br>
>     fs_builder &bld, nir_intrinsic_instr *instr<br>
>            unsigned num_components = instr->num_components;<br>
>            unsigned first_component = nir_intrinsic_component(instr)<wbr>;<br>
>            if (nir_src_bit_size(instr->src[<wbr>0]) == 64) {<br>
>     -         src = shuffle_64bit_data_for_32bit_<wbr>write(bld, src,<br>
>     num_components);<br>
>     +         src = shuffle_for_32bit_write(bld, src, 0, num_components);<br>
>               num_components *= 2;<br>
>            }<br>
>      <br>
>     -- <br>
>     2.17.1<br>
> <br>
>     ______________________________<wbr>_________________<br>
>     mesa-dev mailing list<br>
</div></div>>     <a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a> <mailto:<a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.<wbr>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>
>     <<a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev" rel="noreferrer" target="_blank">https://lists.freedesktop.<wbr>org/mailman/listinfo/mesa-dev</a>><br>
<div class="HOEnZb"><div class="h5">> <br>
> <br>
> <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>
> <br>
</div></div></blockquote></div><br></div></div>