[Mesa-dev] [PATCH v2 12/32] intel/isl: Disallow Yf and Ys for 1D depth surfaces

Jason Ekstrand jason at jlekstrand.net
Wed Nov 7 17:17:38 UTC 2018


On Wed, Nov 7, 2018 at 10:38 AM Pohjolainen, Topi <
topi.pohjolainen at gmail.com> wrote:

> On Fri, Oct 12, 2018 at 01:46:42PM -0500, Jason Ekstrand wrote:
> > ---
> >  src/intel/isl/isl_gen7.c | 9 +++++++++
> >  1 file changed, 9 insertions(+)
> >
> > diff --git a/src/intel/isl/isl_gen7.c b/src/intel/isl/isl_gen7.c
> > index f6f7e1ba7dc..fe420e4fbd8 100644
> > --- a/src/intel/isl/isl_gen7.c
> > +++ b/src/intel/isl/isl_gen7.c
> > @@ -217,6 +217,15 @@ isl_gen6_filter_tiling(const struct isl_device *dev,
> >     if (isl_surf_usage_is_depth(info->usage)) {
> >        /* Depth requires Y. */
> >        *flags &= ISL_TILING_ANY_Y_MASK;
> > +
> > +      /* The Yf and Ys tilings for 1D can't be easily faked as a 2D
> surface
> > +       * because there's no calculable qpitch.
>
> Why is this problem for depth only?
>

Because the depth hardware doesn't allow 1D.  For classic Y, we fake it as
a 2D surface with a height of 1.  We can't do that with Yf and Ys so we
have to disallow them.

Same applies to stencil but it's always W so it doesn't matter.

--Jason


> > +       *
> > +       * TODO: In theory, on could fake it with surface offset tricks
> but
> > +       * that's currently being left as an exercise to the reader.
> > +       */
> > +      if (info->dim == ISL_SURF_DIM_1D)
> > +         *flags &= ~ISL_TILING_STD_Y_MASK;
> >     }
> >
> >     /* Separate stencil requires W tiling, and W tiling requires separate
> > --
> > 2.19.1
> >
> > _______________________________________________
> > 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/20181107/2c1d343e/attachment.html>


More information about the mesa-dev mailing list