<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>