[Mesa-dev] [PATCH 2/2] i965/miptree: Use format_ccs_compat_with_miptree for textures

Nanley Chery nanleychery at gmail.com
Wed Nov 1 18:41:51 UTC 2017


On Wed, Nov 01, 2017 at 10:58:03AM -0700, Jason Ekstrand wrote:
> On Wed, Nov 1, 2017 at 10:46 AM, Nanley Chery <nanleychery at gmail.com> wrote:
> 
> > On Tue, Oct 31, 2017 at 08:01:05PM -0700, Jason Ekstrand wrote:
> > > This function is a bit more accurate because it lets us sample from sRGB
> > > textures if sRGB decode is off.  This should improve performance in
> >           ^                                                         ^
> >      missing "with CCS_E"?                                       extra
> > word?
> >
> 
> Yup.  Commit message improved:
> 
>     Using this function is a bit more accurate because it lets us sample
>     from sRGB textures with CCS_E whenever sRGB decode is disabled.  The
>     old check for CCS_E compatibility would bail if the miptree's native
>     format were sRGB even if the view format is linear.  This should improve
>     performance whenever GL_SKIP_DECODE_EXT is used.
> 
> 
> 

Nice!

> >
> > > whenever GL_SKIP_DECODE_EXT is used.
> > > ---
> > >  src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 5 ++---
> > >  1 file changed, 2 insertions(+), 3 deletions(-)
> > >
> > > diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
> > b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
> > > index 82f5a81..835d7ae 100644
> > > --- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
> > > +++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
> > > @@ -2566,9 +2566,8 @@ can_texture_with_ccs(struct brw_context *brw,
> > >     if (mt->aux_usage != ISL_AUX_USAGE_CCS_E)
> > >        return false;
> > >
> > > -   /* TODO: Replace with format_ccs_e_compat_with_miptree for better
> > perf. */
> > > -   if (!isl_formats_are_ccs_e_compatible(&brw->screen->devinfo,
> > > -                                         mt->surf.format, view_format))
> > {
> > > +   if (!format_ccs_e_compat_with_miptree(&brw->screen->devinfo,
> > > +                                         mt, view_format)) {
> > >        perf_debug("Incompatible sampling format (%s) for rbc (%s)\n",
> > >                   isl_format_get_layout(view_format)->name,
> > >                   _mesa_get_format_name(mt->format));
> >
> > Do we want to update this perf_debug to return the linear format of the
> > miptree
> >
> 
> I don't know that it matters much since it's just a perf debug.  I think
> I'd prefer we leave it as-is because right now it tells us the exact
> miptree format not some format calculated from it.

Yeah, that's what I was leaning towards as well.

This patch is
Reviewed-by: Nanley Chery <nanley.g.chery at intel.com>


More information about the mesa-dev mailing list