<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sat, Sep 3, 2016 at 9:04 AM, Pohjolainen, Topi <span dir="ltr"><<a href="mailto:topi.pohjolainen@gmail.com" target="_blank">topi.pohjolainen@gmail.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 Thu, Sep 01, 2016 at 12:02:17PM -0700, Jason Ekstrand wrote:<br>
>    On Thu, Sep 1, 2016 at 12:09 AM, Pohjolainen, Topi<br>
</span><div><div class="h5">>    <[1]<a href="mailto:topi.pohjolainen@gmail.com">topi.pohjolainen@gmail.com</a><wbr>> wrote:<br>
><br>
>      On Wed, Aug 31, 2016 at 02:22:30PM -0700, Jason Ekstrand wrote:<br>
>      > ---<br>
>      >  src/intel/blorp/blorp_blit.c | 4 +---<br>
>      >  1 file changed, 1 insertion(+), 3 deletions(-)<br>
>      ><br>
>      > diff --git a/src/intel/blorp/blorp_blit.c<br>
>      b/src/intel/blorp/blorp_blit.c<br>
>      > index 05fad8f..2838a26 100644<br>
>      > --- a/src/intel/blorp/blorp_blit.c<br>
>      > +++ b/src/intel/blorp/blorp_blit.c<br>
>      > @@ -1342,9 +1342,7 @@ surf_retile_w_to_y(const struct isl_device<br>
>      *isl_dev,<br>
>      >      */<br>
>      >     if (isl_dev->info->gen > 6 &&<br>
>      >         info->surf.msaa_layout == ISL_MSAA_LAYOUT_INTERLEAVED) {<br>
>      > -      info->surf.logical_level0_px = info->surf.phys_level0_sa;<br>
>      > -      info->surf.samples = 1;<br>
>      > -      info->surf.msaa_layout = ISL_MSAA_LAYOUT_NONE;<br>
>      > +      surf_fake_interleaved_msaa(<wbr>isl_dev, info);<br>
>      So now we start calling surf_convert_to_single_slice() twice,<br>
>      surf_retile_w_to_y() itself calls it and then<br>
>      surf_fake_interleaved_msaa()<br>
>      again. I'll read ahead a little how this evolves...<br>
><br>
>    Yes, we do.  That *was* supposed to be safe, but actually wasn't due to<br>
>    a mistake made a while ago.  As of an earlier patch in the series, it<br>
>    is safe.<br>
<br>
</div></div>Could we this instead, or do we really need surf_convert_to_single_slice()<br>
to be called twice?<br>
<span class=""><br>
     if (isl_dev->info->gen > 6 &&<br>
         info->surf.msaa_layout == ISL_MSAA_LAYOUT_INTERLEAVED) {<br>
</span>        surf_fake_interleaved_msaa(<wbr>isl_dev, info);<br>
     } else {<br>
        surf_convert_to_single_slice(<wbr>isl_dev, info);<br>
<span class="">     }<br></span></blockquote><div><br></div><div>We could in this case, but for interleaved MSAA destinations on gen7+, we call fake_interleaved_msaa separately.  This particular use only happens for W-tiled sources (all HW) and W-tiled destinations on Sandy Bridge.  It's way easier just to make calling it twice safe than to sort out all of the different places we may call it.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
>      >     }<br>
>      ><br>
>      >     if (isl_dev->info->gen == 6) {<br>
>      > --<br>
>      > 2.5.0.400.gff86faf<br>
>      ><br>
>      > ______________________________<wbr>_________________<br>
>      > mesa-dev mailing list<br>
</span>>      > [2]<a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.<wbr>org</a><br>
>      > [3]<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>
><br>
> References<br>
><br>
>    1. mailto:<a href="mailto:topi.pohjolainen@gmail.com">topi.pohjolainen@gmail.<wbr>com</a><br>
>    2. mailto:<a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.<wbr>freedesktop.org</a><br>
>    3. <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>
</blockquote></div><br></div></div>