From e69a0f830eaa5c17d97a7c1527b84af7c205a66e Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Fri, 1 Dec 2023 17:41:56 -0400 Subject: [PATCH] asahi: fix size calculation for 2d msaa arrays otherwise the hw can overprefetch. fixes KHR-GL42.shader_image_load_store.basic-allTargets-load-ms Signed-off-by: Alyssa Rosenzweig Part-of: --- src/gallium/drivers/asahi/agx_state.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/asahi/agx_state.c b/src/gallium/drivers/asahi/agx_state.c index 86dfbb37d9a..e1fadeb848b 100644 --- a/src/gallium/drivers/asahi/agx_state.c +++ b/src/gallium/drivers/asahi/agx_state.c @@ -1294,7 +1294,9 @@ agx_batch_upload_pbe(struct agx_batch *batch, struct agx_pbe_packed *out, * image_write_block instructions. */ unsigned blocksize_B = util_format_get_blocksize(view->format); - unsigned size_px = tex->layout.size_B / blocksize_B; + unsigned size_px = + (tex->layout.size_B - tex->layout.layer_stride_B * layer) / + blocksize_B; cfg.dimension = AGX_TEXTURE_DIMENSION_2D; cfg.layout = AGX_LAYOUT_LINEAR;