freedreno/a6xx: Use fallback path for MSAA clear_texture()
authorRob Clark <robdclark@chromium.org>
Sun, 20 Nov 2022 17:21:43 +0000 (09:21 -0800)
committerMarge Bot <emma+marge@anholt.net>
Mon, 21 Nov 2022 23:38:56 +0000 (23:38 +0000)
The trick for emulating MSAA clear by adjusting blit coords tends to
fall over with tiled/ubwc, so just use the fallback path instead.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19884>

src/gallium/drivers/freedreno/a6xx/fd6_blitter.c
src/gallium/drivers/freedreno/freedreno_resource.h

index 43b0f9f..6976e6c 100644 (file)
@@ -239,7 +239,8 @@ can_do_clear(const struct pipe_resource *prsc, unsigned level,
              const struct pipe_box *box)
 {
    return ok_format(prsc->format) &&
-          ok_dims(prsc, box, level);
+          ok_dims(prsc, box, level) &&
+          (fd_resource_nr_samples(prsc) == 1);
 
    return true;
 }
index b328cb4..ace24fb 100644 (file)
@@ -340,7 +340,7 @@ fd_resource_ubwc_enabled(struct fd_resource *rsc, int level)
  * most of the time)
  */
 static inline unsigned
-fd_resource_nr_samples(struct pipe_resource *prsc)
+fd_resource_nr_samples(const struct pipe_resource *prsc)
 {
    return MAX2(1, prsc->nr_samples);
 }