Re: [Mesa-dev] [PATCH 1/3] i965/mipmap_tree: Don't allocate CCS when emulating ETC support

2018-03-06 Thread Nanley Chery
On Tue, Mar 06, 2018 at 12:19:39AM -0800, Kenneth Graunke wrote:
> On Monday, March 5, 2018 2:07:53 PM PST Nanley Chery wrote:
> > ---
> >  src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 8 
> >  1 file changed, 4 insertions(+), 4 deletions(-)
> > 
> > diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c 
> > b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
> > index c6213b21629..8586968fd6f 100644
> > --- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
> > +++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
> > @@ -205,11 +205,11 @@ intel_miptree_supports_ccs(struct brw_context *brw,
> > if (devinfo->gen < 8 && (mip_mapped || arrayed))
> >return false;
> >  
> > -   /* There's no point in using an MCS buffer if the surface isn't in a
> > -* renderable format.
> > -*/
> > -   if (!brw->mesa_format_supports_render[mt->format])
> > +   /* There's no need for an MCS buffer if the surface isn't renderable. */
> > +   if (!brw->mesa_format_supports_render[mt->format] ||
> > +   (mt->etc_format != MESA_FORMAT_NONE)) {
> >return false;
> > +   }
> >  
> > return true;
> >  }
> > 
> 
> I'm confused...we only emulate ETC on Gen < 8.  CCS_E only exists on
> Gen >= 9.  CCS_D does exsit on Gen7-7.5...but I thought we deferred
> CCS_D allocations until the first fast clear...and I don't think it's
> possible to bind an ETC texture as a render target for clearing anyway.
> Maybe ClearTexture but I have my doubts there, too...

Oh, you're right. It's never allocated. I saw that were were setting the
aux_usage to CCS_D and assumed the allocation. I'll send a v2.

-Nanley
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH 1/3] i965/mipmap_tree: Don't allocate CCS when emulating ETC support

2018-03-06 Thread Kenneth Graunke
On Monday, March 5, 2018 2:07:53 PM PST Nanley Chery wrote:
> ---
>  src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 8 
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c 
> b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
> index c6213b21629..8586968fd6f 100644
> --- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
> +++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
> @@ -205,11 +205,11 @@ intel_miptree_supports_ccs(struct brw_context *brw,
> if (devinfo->gen < 8 && (mip_mapped || arrayed))
>return false;
>  
> -   /* There's no point in using an MCS buffer if the surface isn't in a
> -* renderable format.
> -*/
> -   if (!brw->mesa_format_supports_render[mt->format])
> +   /* There's no need for an MCS buffer if the surface isn't renderable. */
> +   if (!brw->mesa_format_supports_render[mt->format] ||
> +   (mt->etc_format != MESA_FORMAT_NONE)) {
>return false;
> +   }
>  
> return true;
>  }
> 

I'm confused...we only emulate ETC on Gen < 8.  CCS_E only exists on
Gen >= 9.  CCS_D does exsit on Gen7-7.5...but I thought we deferred
CCS_D allocations until the first fast clear...and I don't think it's
possible to bind an ETC texture as a render target for clearing anyway.
Maybe ClearTexture but I have my doubts there, too...


signature.asc
Description: This is a digitally signed message part.
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


[Mesa-dev] [PATCH 1/3] i965/mipmap_tree: Don't allocate CCS when emulating ETC support

2018-03-05 Thread Nanley Chery
---
 src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c 
b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
index c6213b21629..8586968fd6f 100644
--- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
+++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
@@ -205,11 +205,11 @@ intel_miptree_supports_ccs(struct brw_context *brw,
if (devinfo->gen < 8 && (mip_mapped || arrayed))
   return false;
 
-   /* There's no point in using an MCS buffer if the surface isn't in a
-* renderable format.
-*/
-   if (!brw->mesa_format_supports_render[mt->format])
+   /* There's no need for an MCS buffer if the surface isn't renderable. */
+   if (!brw->mesa_format_supports_render[mt->format] ||
+   (mt->etc_format != MESA_FORMAT_NONE)) {
   return false;
+   }
 
return true;
 }
-- 
2.16.1

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev