From 075eefc42263f5db66a5fc4a0aa9c8f624b376e5 Mon Sep 17 00:00:00 2001 From: Lucas Stach Date: Sun, 15 Oct 2023 14:36:51 +0200 Subject: [PATCH] etnaviv: blt: fix tile count calculation for in-place resolve A in-place resolve via the BLT engine is only supposed to fill the tiles of a single layer of a resource, so the size to calculate the number of tiles is the layer stride, same as done for the in-place resolve via the RS engine in 8df11f3fad52 ("etnaviv: fix in-place resolve tile count.") CC: mesa-stable Signed-off-by: Lucas Stach Reviewed-by: Christian Gmeiner Part-of: --- src/gallium/drivers/etnaviv/etnaviv_blt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/drivers/etnaviv/etnaviv_blt.c b/src/gallium/drivers/etnaviv/etnaviv_blt.c index cf9283eba3c..77ba3913681 100644 --- a/src/gallium/drivers/etnaviv/etnaviv_blt.c +++ b/src/gallium/drivers/etnaviv/etnaviv_blt.c @@ -700,7 +700,7 @@ etna_try_blt_blit(struct pipe_context *pctx, op.ts_clear_value[0] = src_lev->clear_value; op.ts_clear_value[1] = src_lev->clear_value >> 32; op.ts_mode = src_lev->ts_mode; - op.num_tiles = DIV_ROUND_UP(src_lev->size, tile_size); + op.num_tiles = src_lev->layer_stride / tile_size; op.bpp = util_format_get_blocksize(src->base.format); etna_set_state(ctx->stream, VIVS_GL_FLUSH_CACHE, 0x00000c23);