From 9bbe93d158915f5b4b0904c12e52d393dc30f4ae Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Sat, 26 Oct 2024 23:01:07 -0400 Subject: [PATCH] hk: fix alpha-to-coverage with sample shading fixes sascha willem's deferredmultisampling. Signed-off-by: Alyssa Rosenzweig Part-of: --- src/asahi/lib/agx_nir_prolog_epilog.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/asahi/lib/agx_nir_prolog_epilog.c b/src/asahi/lib/agx_nir_prolog_epilog.c index 805a38d5975..99a4bcb6a01 100644 --- a/src/asahi/lib/agx_nir_prolog_epilog.c +++ b/src/asahi/lib/agx_nir_prolog_epilog.c @@ -451,6 +451,13 @@ agx_nir_fs_epilog(nir_builder *b, const void *key_) NIR_PASS(_, b->shader, agx_nir_lower_to_per_sample); NIR_PASS(_, b->shader, agx_nir_lower_fs_active_samples_to_register); + /* Lower the resulting discards. Done in agx_nir_lower_monolithic_msaa for + * the pixel shaded path. + */ + if (key->blend.alpha_to_coverage) { + NIR_PASS(_, b->shader, agx_nir_lower_sample_mask); + } + /* Ensure the sample ID is preserved in register. We do this late since it * has to go in the last block, and the above passes might add control * flow when lowering.