From d240b30e35eb6b6f24c14bfd8a2878ce52bef5bf Mon Sep 17 00:00:00 2001 From: Erik Faye-Lund Date: Fri, 20 Jan 2023 11:39:27 +0100 Subject: [PATCH] radeonsi: respect smoothing_enabled MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When this was last changed, the smoothing_enabled flag seems to have been forgotten about, breaking line-smoothing (and probably also polygon smoothing). Fixes: 4147add280e ("radeonsi: update db_eqaa even if msaa is disabled") Reviewed-by: Marek Olšák Part-of: (cherry picked from commit 9f4f131f2e9403f8757be33b3a5c10bcbe9b7644) --- .pick_status.json | 2 +- src/gallium/drivers/radeonsi/si_state.c | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index abec8a0e427..c54b2ecd2af 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -1669,7 +1669,7 @@ "description": "radeonsi: respect smoothing_enabled", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "4147add280e408c68d7910c6cadd860cf92bf5f3" }, diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c index 802ab1c2229..3ab4216b71b 100644 --- a/src/gallium/drivers/radeonsi/si_state.c +++ b/src/gallium/drivers/radeonsi/si_state.c @@ -3808,7 +3808,8 @@ static void si_emit_msaa_config(struct si_context *sctx) unsigned sc_line_cntl = 0; unsigned sc_aa_config = 0; - if (coverage_samples > 1 && rs->multisample_enable) { + if (coverage_samples > 1 && (rs->multisample_enable || + sctx->smoothing_enabled)) { /* distance from the pixel center, indexed by log2(nr_samples) */ static unsigned max_dist[] = { 0, /* unused */ @@ -3830,7 +3831,8 @@ static void si_emit_msaa_config(struct si_context *sctx) S_028BE0_COVERED_CENTROID_IS_CENTER(sctx->gfx_level >= GFX10_3); } - if (sctx->framebuffer.nr_samples > 1) { + if (sctx->framebuffer.nr_samples > 1 || + sctx->smoothing_enabled) { if (sctx->framebuffer.state.zsbuf) { z_samples = sctx->framebuffer.state.zsbuf->texture->nr_samples; z_samples = MAX2(1, z_samples);