[PATCH 1/2] etnaviv: don't flush resource to self without TS

Lucas Stach l.stach at pengutronix.de
Tue Jun 6 11:46:58 UTC 2017


Am Dienstag, den 06.06.2017, 12:59 +0200 schrieb Wladimir J. van der
Laan:
> On Tue, Jun 06, 2017 at 12:38:23PM +0200, Lucas Stach wrote:
> > From: Lucas Stach <dev at lynxeye.de>
> > 
> > A resolve to self is only necessary if the resource is fast cleared, so
> > there is never a need to do so if there is no TS allocated.
> > 
> > Signed-off-by: Lucas Stach <dev at lynxeye.de>
> 
> Does this take into account the case on GC2000, where there can be a texture resource
> that is out of date with the rendered-to resource?

Yes, etna_resource_needs_flush is only used for the self-resolve cases.
Other cases are handled by explicitly comparing the seqno of the
resource with the seqno of the derived (like texture) resources.

Regards,
Lucas

> If so:
> Reviewed-By: Wladimir J. van der Laan <laanwj at gmail.com>
> 
> > ---
> >  src/gallium/drivers/etnaviv/etnaviv_resource.h | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/src/gallium/drivers/etnaviv/etnaviv_resource.h b/src/gallium/drivers/etnaviv/etnaviv_resource.h
> > index a8d42ee1a09f..1084103386ef 100644
> > --- a/src/gallium/drivers/etnaviv/etnaviv_resource.h
> > +++ b/src/gallium/drivers/etnaviv/etnaviv_resource.h
> > @@ -102,7 +102,7 @@ etna_resource_older(struct etna_resource *a, struct etna_resource *b)
> >  static inline bool
> >  etna_resource_needs_flush(struct etna_resource *res)
> >  {
> > -   return (int)(res->seqno - res->flush_seqno) > 0;
> > +   return res->ts_bo && ((int)(res->seqno - res->flush_seqno) > 0);
> >  }
> >  
> >  /* is the resource only used on the sampler? */
> > -- 
> > 2.11.0
> > 
> > _______________________________________________
> > etnaviv mailing list
> > etnaviv at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/etnaviv




More information about the etnaviv mailing list