etnaviv: dirty TS state when framebuffer has changed
authorLucas Stach <l.stach@pengutronix.de>
Thu, 11 Jan 2018 10:29:29 +0000 (11:29 +0100)
committerChristian Gmeiner <christian.gmeiner@gmail.com>
Sun, 21 Jan 2018 11:58:02 +0000 (12:58 +0100)
When switching between framebuffers with and without TS, the TS state
needs to be flushed to the command stream even if the derived state
isn't changed.

Fixes: 4ee7c2c2843c ("etnaviv: enable TS, but disable autodisable")
Cc: mesa-stable@lists.freedesktop.org
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
src/gallium/drivers/etnaviv/etnaviv_state.c

index b859f40c29fe46b5b645fb93e7ea9644b8ff59ac..e4ad0f62f176b39c32c5977a7beaa45c4a161b40 100644 (file)
@@ -611,7 +611,8 @@ etna_update_ts_config(struct etna_context *ctx)
       }
    }
 
-   if (new_ts_config != ctx->framebuffer.TS_MEM_CONFIG) {
+   if (new_ts_config != ctx->framebuffer.TS_MEM_CONFIG ||
+       (ctx->dirty & ETNA_DIRTY_FRAMEBUFFER)) {
       ctx->framebuffer.TS_MEM_CONFIG = new_ts_config;
       ctx->dirty |= ETNA_DIRTY_TS;
    }