Module: Mesa
Branch: master
Commit: 3ba753d9f58aee0bd1e72e835953560fb1fbbe46
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=3ba753d9f58aee0bd1e72e835953560fb1fbbe46

Author: Lucas Stach <[email protected]>
Date:   Tue Oct 27 15:34:13 2020 +0100

etnaviv: blt: properly program surface TS offset for clears

We clear the wrong TS region for != level 0 surfaces or TS buffers
with a internal offset.

Cc: <[email protected]>
Signed-off-by: Lucas Stach <[email protected]>
Reviewed-by: Christian Gmeiner <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7367>

---

 src/gallium/drivers/etnaviv/etnaviv_blt.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/etnaviv/etnaviv_blt.c 
b/src/gallium/drivers/etnaviv/etnaviv_blt.c
index 63fcb8c649b..ec762024573 100644
--- a/src/gallium/drivers/etnaviv/etnaviv_blt.c
+++ b/src/gallium/drivers/etnaviv/etnaviv_blt.c
@@ -229,7 +229,7 @@ etna_blit_clear_color_blt(struct pipe_context *pctx, struct 
pipe_surface *dst,
    if (surf->surf.ts_size) {
       clr.dest.use_ts = 1;
       clr.dest.ts_addr.bo = res->ts_bo;
-      clr.dest.ts_addr.offset = 0;
+      clr.dest.ts_addr.offset = surf->level->ts_offset;
       clr.dest.ts_addr.flags = ETNA_RELOC_WRITE;
       clr.dest.ts_clear_value[0] = new_clear_value;
       clr.dest.ts_clear_value[1] = new_clear_value >> 32;
@@ -308,7 +308,7 @@ etna_blit_clear_zs_blt(struct pipe_context *pctx, struct 
pipe_surface *dst,
    if (surf->surf.ts_size) {
       clr.dest.use_ts = 1;
       clr.dest.ts_addr.bo = res->ts_bo;
-      clr.dest.ts_addr.offset = 0;
+      clr.dest.ts_addr.offset = surf->level->ts_offset;
       clr.dest.ts_addr.flags = ETNA_RELOC_WRITE;
       clr.dest.ts_clear_value[0] = surf->level->clear_value;
       clr.dest.ts_clear_value[1] = surf->level->clear_value;

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to