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)

Conflicts:
	src/amd/ci/radeonsi-raven-fails.txt
	src/amd/ci/radeonsi-stoney-fails.txt
This commit is contained in:
Erik Faye-Lund 2023-01-20 11:39:27 +01:00 committed by Dylan Baker
parent 01ff451d34
commit a3c2f78c3d
3 changed files with 6 additions and 4 deletions

View file

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

View file

@ -235,4 +235,4 @@ spec@khr_texture_compression_astc@miptree-gles srgb-fp@sRGB decode full precisio
spec@khr_texture_compression_astc@sliced-3d-miptree-gl srgb-fp,Fail
spec@khr_texture_compression_astc@sliced-3d-miptree-gl srgb-fp@sRGB decode full precision,Fail
spec@khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp,Fail
spec@khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp@sRGB decode full precision,Fail
spec@khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp@sRGB decode full precision,Fail

View file

@ -3804,7 +3804,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 */
@ -3826,7 +3827,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);