diff options
author | Jonathan Marek <[email protected]> | 2019-07-02 17:05:27 -0400 |
---|---|---|
committer | Christian Gmeiner <[email protected]> | 2019-11-18 20:59:02 +0100 |
commit | e2b9d6277e56c93092ed53cec953f7a5936197c0 (patch) | |
tree | 7f36d98931e71bce48916af686f60cc880045191 /src/gallium/drivers/etnaviv | |
parent | d819d4b34442a5b7663234bd08f117e7b3fb5ca2 (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]>
Diffstat (limited to 'src/gallium/drivers/etnaviv')
-rw-r--r-- | src/gallium/drivers/etnaviv/etnaviv_blt.c | 2 |
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; |