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