[Mesa-dev] [PATCH 11/33] intel/blorp: Use fake_interleaved_msaa in retile_w_to_y
Jason Ekstrand
jason at jlekstrand.net
Sat Sep 3 16:07:03 UTC 2016
On Sat, Sep 3, 2016 at 9:04 AM, Pohjolainen, Topi <
topi.pohjolainen at gmail.com> wrote:
> On Thu, Sep 01, 2016 at 12:02:17PM -0700, Jason Ekstrand wrote:
> > On Thu, Sep 1, 2016 at 12:09 AM, Pohjolainen, Topi
> > <[1]topi.pohjolainen at gmail.com> wrote:
> >
> > On Wed, Aug 31, 2016 at 02:22:30PM -0700, Jason Ekstrand wrote:
> > > ---
> > > src/intel/blorp/blorp_blit.c | 4 +---
> > > 1 file changed, 1 insertion(+), 3 deletions(-)
> > >
> > > diff --git a/src/intel/blorp/blorp_blit.c
> > b/src/intel/blorp/blorp_blit.c
> > > index 05fad8f..2838a26 100644
> > > --- a/src/intel/blorp/blorp_blit.c
> > > +++ b/src/intel/blorp/blorp_blit.c
> > > @@ -1342,9 +1342,7 @@ surf_retile_w_to_y(const struct isl_device
> > *isl_dev,
> > > */
> > > if (isl_dev->info->gen > 6 &&
> > > info->surf.msaa_layout == ISL_MSAA_LAYOUT_INTERLEAVED) {
> > > - info->surf.logical_level0_px = info->surf.phys_level0_sa;
> > > - info->surf.samples = 1;
> > > - info->surf.msaa_layout = ISL_MSAA_LAYOUT_NONE;
> > > + surf_fake_interleaved_msaa(isl_dev, info);
> > So now we start calling surf_convert_to_single_slice() twice,
> > surf_retile_w_to_y() itself calls it and then
> > surf_fake_interleaved_msaa()
> > again. I'll read ahead a little how this evolves...
> >
> > Yes, we do. That *was* supposed to be safe, but actually wasn't due
> to
> > a mistake made a while ago. As of an earlier patch in the series, it
> > is safe.
>
> Could we this instead, or do we really need surf_convert_to_single_slice()
> to be called twice?
>
> if (isl_dev->info->gen > 6 &&
> info->surf.msaa_layout == ISL_MSAA_LAYOUT_INTERLEAVED) {
> surf_fake_interleaved_msaa(isl_dev, info);
> } else {
> surf_convert_to_single_slice(isl_dev, info);
> }
>
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.
> > > }
> > >
> > > if (isl_dev->info->gen == 6) {
> > > --
> > > 2.5.0.400.gff86faf
> > >
> > > _______________________________________________
> > > mesa-dev mailing list
> > > [2]mesa-dev at lists.freedesktop.org
> > > [3]https://lists.freedesktop.org/mailman/listinfo/mesa-dev
> >
> > References
> >
> > 1. mailto:topi.pohjolainen at gmail.com
> > 2. mailto:mesa-dev at lists.freedesktop.org
> > 3. https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20160903/14716271/attachment-0001.html>
More information about the mesa-dev
mailing list