panfrost: Set zs_samples as necessary

Fixes MSAA Z/S.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5929>
This commit is contained in:
Alyssa Rosenzweig 2020-07-15 12:02:32 -04:00 committed by Marge Bot
parent 8225604fd5
commit 64734c0947
1 changed files with 9 additions and 5 deletions

View File

@ -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;