asahi: fix a2c with sample shading, harder

Fixes: 9bbe93d158 ("hk: fix alpha-to-coverage with sample shading")
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32081>
This commit is contained in:
Alyssa Rosenzweig 2024-11-05 09:52:40 -04:00 committed by Marge Bot
parent b9429930b9
commit b94bcf0318

View file

@ -448,16 +448,17 @@ agx_nir_fs_epilog(nir_builder *b, const void *key_)
* to the epilog, when sample shading is not used but blending is.
*/
if (key->link.sample_shading) {
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.
* the pixel shaded path. Must be done before agx_nir_lower_to_per_sample
* to avoid duplicating tests.
*/
if (key->blend.alpha_to_coverage) {
NIR_PASS(_, b->shader, agx_nir_lower_sample_mask);
}
NIR_PASS(_, b->shader, agx_nir_lower_to_per_sample);
NIR_PASS(_, b->shader, agx_nir_lower_fs_active_samples_to_register);
/* 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.