[PATCH v2 4/5] etnaviv: Flush TS cache before changing TS configuration

Christian Gmeiner christian.gmeiner at gmail.com
Wed Nov 15 22:24:33 UTC 2017


2017-11-14 10:21 GMT+01:00 Wladimir J. van der Laan <laanwj at gmail.com>:
> This is to make sure that the TS is properly flushed to memory before
> rendering to a new surface starts.
>
> Signed-off-by: Wladimir J. van der Laan <laanwj at gmail.com>

Reviewed-by: Christian Gmeiner <christian.gmeiner at gmail.com>

> ---
>  src/gallium/drivers/etnaviv/etnaviv_emit.c | 5 +++++
>  1 file changed, 5 insertions(+)
>
> diff --git a/src/gallium/drivers/etnaviv/etnaviv_emit.c b/src/gallium/drivers/etnaviv/etnaviv_emit.c
> index d313af6..b6b06e3 100644
> --- a/src/gallium/drivers/etnaviv/etnaviv_emit.c
> +++ b/src/gallium/drivers/etnaviv/etnaviv_emit.c
> @@ -322,6 +322,11 @@ etna_emit_state(struct etna_context *ctx)
>        etna_stall(stream, SYNC_RECIPIENT_RA, SYNC_RECIPIENT_PE);
>     }
>
> +   /* Flush TS cache before changing TS configuration. */
> +   if (unlikely(dirty & ETNA_DIRTY_TS)) {
> +      etna_set_state(stream, VIVS_TS_FLUSH_CACHE, VIVS_TS_FLUSH_CACHE_FLUSH);
> +   }
> +
>     /* If MULTI_SAMPLE_CONFIG.MSAA_SAMPLES changed, clobber affected shader
>      * state to make sure it is always rewritten. */
>     if (unlikely(dirty & (ETNA_DIRTY_FRAMEBUFFER))) {
> --
> 2.7.4
>



-- 
greets
--
Christian Gmeiner, MSc

https://christian-gmeiner.info


More information about the etnaviv mailing list