aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathan Marek <[email protected]>2019-07-02 17:05:27 -0400
committerChristian Gmeiner <[email protected]>2019-11-18 20:59:02 +0100
commite2b9d6277e56c93092ed53cec953f7a5936197c0 (patch)
tree7f36d98931e71bce48916af686f60cc880045191
parentd819d4b34442a5b7663234bd08f117e7b3fb5ca2 (diff)
etnaviv: blt: set TS dirty after clear
RS engine does this already, it is missing for BLT engine. This fixes cases where a clear isn't immediately at the start of the frame. Signed-off-by: Jonathan Marek <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
-rw-r--r--src/gallium/drivers/etnaviv/etnaviv_blt.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gallium/drivers/etnaviv/etnaviv_blt.c b/src/gallium/drivers/etnaviv/etnaviv_blt.c
index c3e9da846f8..ef0bbe92a8f 100644
--- a/src/gallium/drivers/etnaviv/etnaviv_blt.c
+++ b/src/gallium/drivers/etnaviv/etnaviv_blt.c
@@ -252,6 +252,7 @@ etna_blit_clear_color_blt(struct pipe_context *pctx, struct pipe_surface *dst,
if (surf->surf.ts_size) {
ctx->framebuffer.TS_COLOR_CLEAR_VALUE = new_clear_value;
surf->level->ts_valid = true;
+ ctx->dirty |= ETNA_DIRTY_TS | ETNA_DIRTY_DERIVE_TS;
}
surf->level->clear_value = new_clear_value;
@@ -325,6 +326,7 @@ etna_blit_clear_zs_blt(struct pipe_context *pctx, struct pipe_surface *dst,
if (surf->surf.ts_size) {
ctx->framebuffer.TS_DEPTH_CLEAR_VALUE = new_clear_value;
surf->level->ts_valid = true;
+ ctx->dirty |= ETNA_DIRTY_TS | ETNA_DIRTY_DERIVE_TS;
}
surf->level->clear_value = new_clear_value;