From 40babe1efbe80d973ac5cee06215accc58a535cc Mon Sep 17 00:00:00 2001 From: Connor Abbott Date: Fri, 14 Mar 2025 18:32:00 -0400 Subject: [PATCH] tu: Fix GMEM offset for multisample layered separate stencil Fixes a bug uncovered by CTS when enabling GMEM with layered rendering. Fixes: def56b531c8 ("tu: Support GMEM with layered rendering and multiview") Part-of: (cherry picked from commit 6cadc1baea75136d720fc82b72f04eb6b3786d1e) --- .pick_status.json | 2 +- src/freedreno/vulkan/tu_cmd_buffer.h | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 0ab3f885559..278cb74a191 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -1904,7 +1904,7 @@ "description": "tu: Fix GMEM offset for multisample layered separate stencil", "nominated": true, "nomination_type": 2, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "def56b531c86f529bc32d1834ccb479457717db7", "notes": null diff --git a/src/freedreno/vulkan/tu_cmd_buffer.h b/src/freedreno/vulkan/tu_cmd_buffer.h index 7774fdaa858..f8e606c4674 100644 --- a/src/freedreno/vulkan/tu_cmd_buffer.h +++ b/src/freedreno/vulkan/tu_cmd_buffer.h @@ -648,7 +648,8 @@ tu_attachment_gmem_offset_stencil(struct tu_cmd_buffer *cmd, { assert(cmd->state.gmem_layout < TU_GMEM_LAYOUT_COUNT); return att->gmem_offset_stencil[cmd->state.gmem_layout] + - layer * cmd->state.tiling->tile0.width * cmd->state.tiling->tile0.height; + layer * cmd->state.tiling->tile0.width * cmd->state.tiling->tile0.height * + att->samples; } void tu_render_pass_state_merge(struct tu_render_pass_state *dst,