radeonsi: respect smoothing_enabled

When this was last changed, the smoothing_enabled flag seems to have
been forgotten about, breaking line-smoothing (and probably also polygon
smoothing).

Fixes: 4147add280 ("radeonsi: update db_eqaa even if msaa is disabled")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20810>
(cherry picked from commit 9f4f131f2e)
This commit is contained in:
Erik Faye-Lund 2023-01-20 11:39:27 +01:00 committed by Eric Engestrom
parent 8e2e275985
commit d240b30e35
2 changed files with 5 additions and 3 deletions

View file

@ -1669,7 +1669,7 @@
"description": "radeonsi: respect smoothing_enabled",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": "4147add280e408c68d7910c6cadd860cf92bf5f3"
},

View file

@ -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);