From ea17290fc847f64f5696a6339aae4527a758ef8a Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Wed, 7 Feb 2024 09:11:14 -0800 Subject: [PATCH] freedreno: Fix MSAA z/s layout in GMEM A bit surprised that this didn't show up in any piglit or deqp. Fixes: cf0c7258ee05 ("freedreno/a5xx: MSAA") Signed-off-by: Rob Clark Part-of: (cherry picked from commit c3062e3402fe693dd1cc0137217611081f993f12) --- .pick_status.json | 2 +- src/gallium/drivers/freedreno/freedreno_gmem.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 29a7135ea06..5cb9574176a 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -2824,7 +2824,7 @@ "description": "freedreno: Fix MSAA z/s layout in GMEM", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "cf0c7258ee0524709ab6d05a9aafc7415361bd23", "notes": null diff --git a/src/gallium/drivers/freedreno/freedreno_gmem.c b/src/gallium/drivers/freedreno/freedreno_gmem.c index 6bb90b0284f..893398e7a7b 100644 --- a/src/gallium/drivers/freedreno/freedreno_gmem.c +++ b/src/gallium/drivers/freedreno/freedreno_gmem.c @@ -480,9 +480,9 @@ gmem_key_init(struct fd_batch *batch, bool assume_zs, bool no_scis_opt) if (has_zs || assume_zs) { struct fd_resource *rsc = fd_resource(pfb->zsbuf->texture); - key->zsbuf_cpp[0] = rsc->layout.cpp; + key->zsbuf_cpp[0] = rsc->layout.cpp * pfb->samples; if (rsc->stencil) - key->zsbuf_cpp[1] = rsc->stencil->layout.cpp; + key->zsbuf_cpp[1] = rsc->stencil->layout.cpp * pfb->samples; /* If we clear z or s but not both, and we are using z24s8 (ie. * !separate_stencil) then we need to restore the other, even if