[Mesa-dev] [PATCH] isl: Finish tiling filtering for Gen6.

Jason Ekstrand jason at jlekstrand.net
Fri Aug 26 21:59:59 UTC 2016


On Aug 26, 2016 2:47 PM, "Chad Versace" <chadversary at chromium.org> wrote:
>
> On Fri 26 Aug 2016, Kenneth Graunke wrote:
> > Gen6 only has one additional restriction over Gen7+, so we just add it
> > to the existing gen7 function (which actually covers later gens too).
> >
> > This should stop FINISHME spew when running GL on Sandybridge.
> >
> > Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
> > ---
> >  src/intel/isl/isl.c      | 2 +-
> >  src/intel/isl/isl_gen7.c | 9 +++++++++
> >  2 files changed, 10 insertions(+), 1 deletion(-)
> >
> > Should probably rename the function or something, but I figured I'd
throw
> > this out there and let Jason/Chad tell me what they'd rather see happen.
>
> I'd like to see this patch rename the function to gen6_filter_tiling.
> I don't mind if the function stays in isl_gen7.c, at least for now,
> because makes the patch more cherry-pickable.

I'll second that.

> >
> > diff --git a/src/intel/isl/isl.c b/src/intel/isl/isl.c
> > index 59429fb..e97da58 100644
> > --- a/src/intel/isl/isl.c
> > +++ b/src/intel/isl/isl.c
> > @@ -226,7 +226,7 @@ isl_surf_choose_tiling(const struct isl_device *dev,
> >  {
> >     isl_tiling_flags_t tiling_flags = info->tiling_flags;
> >
> > -   if (ISL_DEV_GEN(dev) >= 7) {
> > +   if (ISL_DEV_GEN(dev) >= 6) {
> >        gen7_filter_tiling(dev, info, &tiling_flags);
> >     } else {
> >        isl_finishme("%s: gen%u", __func__, ISL_DEV_GEN(dev));
> > diff --git a/src/intel/isl/isl_gen7.c b/src/intel/isl/isl_gen7.c
> > index 02273f8..37700fd 100644
> > --- a/src/intel/isl/isl_gen7.c
> > +++ b/src/intel/isl/isl_gen7.c
> > @@ -297,6 +297,15 @@ gen7_filter_tiling(const struct isl_device *dev,
> >         */
> >        *flags &= ~ISL_TILING_Y0_BIT;
> >     }
> > +
> > +   /* From the Sandybridge PRM, Volume 1, Part 2, page 32:
> > +    * "NOTE: 128BPE Format Color Buffer ( render target ) MUST be
either TileX
> > +    *  or Linear."
> > +    * 128 bits per pixel translates to 16 bytes per pixel. This is
necessary
> > +    * all the way back to 965, but is permitted on Gen7+.
> > +    */
> > +   if (ISL_DEV_GEN(dev) <= 6 &&
isl_format_get_layout(info->format)->bpb >= 16)

I believe you probably want >= 128 here.  The bpb field is bits per block.

--Jason

> > +      *flags &= ~ISL_TILING_Y0_BIT;
> >  }
> >
> >  /**
> > --
> > 2.9.3
> >
> > _______________________________________________
> > mesa-dev mailing list
> > mesa-dev at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/mesa-dev
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20160826/a955d322/attachment.html>


More information about the mesa-dev mailing list