[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