panfrost: Don't mask coverage mask to 4-bits
authorAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Thu, 6 Aug 2020 14:31:28 +0000 (10:31 -0400)
committerTomeu Vizoso <tomeu.vizoso@collabora.com>
Thu, 13 Aug 2020 06:55:16 +0000 (08:55 +0200)
While it is correct for MSAA 4x, it will break for MSAA 8x and 16x, and
it is only dubiously correct for no-MSAA. Drop the mask.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6195>

src/gallium/drivers/panfrost/pan_cmdstream.c
src/panfrost/lib/pan_blit.c

index e17dae981e9a44e366401289619a94d3f865193d..cff19bf121dbabdc08668919a5cf6bba7f53e0f9 100644 (file)
@@ -741,7 +741,7 @@ panfrost_frag_shader_meta_init(struct panfrost_context *ctx,
         fs = panfrost_get_shader_state(ctx, PIPE_SHADER_FRAGMENT);
 
         bool msaa = ctx->rasterizer && ctx->rasterizer->base.multisample;
-        fragmeta->coverage_mask = (msaa ? ctx->sample_mask : ~0) & 0xF;
+        fragmeta->coverage_mask = msaa ? ctx->sample_mask : ~0;
 
         fragmeta->unknown2_3 = MALI_DEPTH_FUNC(MALI_FUNC_ALWAYS) | 0x10;
         fragmeta->unknown2_4 = 0x4e0;
index b93fcee962c9b11b7b3ba0a3324f61cab6171d29..69b4b41791287e7186a42b4deb88ed9c8ee5884b 100644 (file)
@@ -245,7 +245,7 @@ panfrost_load_midg(
                         .flags_lo = 0x20,
                         .work_count = 4,
                 },
-                .coverage_mask = 0xF,
+                .coverage_mask = ~0,
                 .unknown2_3 = MALI_DEPTH_FUNC(MALI_FUNC_ALWAYS) | 0x10,
                 .unknown2_4 = 0x4e0,
                 .stencil_mask_front = ~0,