Mesa (master): panfrost: Set zs_samples as necessary
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed Jul 15 22:34:42 UTC 2020
Module: Mesa
Branch: master
Commit: 64734c0947ecfb8908e6bdfd4e73a4c724019476
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=64734c0947ecfb8908e6bdfd4e73a4c724019476
Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date: Wed Jul 15 12:02:32 2020 -0400
panfrost: Set zs_samples as necessary
Fixes MSAA Z/S.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5929>
---
src/gallium/drivers/panfrost/pan_mfbd.c | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/src/gallium/drivers/panfrost/pan_mfbd.c b/src/gallium/drivers/panfrost/pan_mfbd.c
index e1c389c3904..247dfd1ae18 100644
--- a/src/gallium/drivers/panfrost/pan_mfbd.c
+++ b/src/gallium/drivers/panfrost/pan_mfbd.c
@@ -285,6 +285,15 @@ panfrost_mfbd_set_zsbuf(
bool is_bifrost = dev->quirks & IS_BIFROST;
struct panfrost_resource *rsrc = pan_resource(surf->texture);
+ unsigned nr_samples = surf->nr_samples;
+
+ if (!nr_samples)
+ nr_samples = surf->texture->nr_samples;
+
+ nr_samples = MAX2(nr_samples, 1);
+
+ fbx->zs_samples = MALI_POSITIVE(nr_samples);
+
unsigned level = surf->u.tex.level;
unsigned first_layer = surf->u.tex.first_layer;
assert(surf->u.tex.last_layer == first_layer);
@@ -315,11 +324,6 @@ panfrost_mfbd_set_zsbuf(
int stride = rsrc->slices[level].stride;
- unsigned nr_samples = surf->nr_samples;
-
- if (!nr_samples)
- nr_samples = surf->texture->nr_samples;
-
unsigned layer_stride = (nr_samples > 1) ? rsrc->slices[level].size0 : 0;
fb->mfbd_flags |= MALI_MFBD_EXTRA | MALI_MFBD_DEPTH_WRITE;
More information about the mesa-commit
mailing list