mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 09:08:10 +02:00
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: <mesa-stable@lists.freedesktop.org>
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7367>
(cherry picked from commit 3ba753d9f5)
This commit is contained in:
parent
fd3c49bb78
commit
25bc222815
2 changed files with 3 additions and 3 deletions
|
|
@ -616,7 +616,7 @@
|
|||
"description": "etnaviv: blt: properly program surface TS offset for clears",
|
||||
"nominated": true,
|
||||
"nomination_type": 0,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"master_sha": null,
|
||||
"because_sha": null
|
||||
},
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue