diff --git a/.pick_status.json b/.pick_status.json index a50fafc67e3..ee98b9d9f81 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -571,7 +571,7 @@ "description": "radeonsi: add back a workaround for DCC MSAA on gfx9 due to conformance issues", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "8b95f51ef139b9995da020c19340410340f959db" }, diff --git a/src/gallium/drivers/radeonsi/si_texture.c b/src/gallium/drivers/radeonsi/si_texture.c index cf41f4842eb..0744872d04d 100644 --- a/src/gallium/drivers/radeonsi/si_texture.c +++ b/src/gallium/drivers/radeonsi/si_texture.c @@ -232,6 +232,13 @@ static int si_init_surface(struct si_screen *sscreen, struct radeon_surf *surfac break; case GFX9: + /* DCC MSAA fails this on Raven: + * https://www.khronos.org/registry/webgl/sdk/tests/deqp/functional/gles3/fbomultisample.2_samples.html + * and this on Picasso: + * https://www.khronos.org/registry/webgl/sdk/tests/deqp/functional/gles3/fbomultisample.4_samples.html + */ + if (sscreen->info.family == CHIP_RAVEN && ptex->nr_storage_samples >= 2 && bpe < 4) + flags |= RADEON_SURF_DISABLE_DCC; break; case GFX10: