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