Mesa (staging/21.1): radeonsi: dirty msaa_config on rs->multisample_enable change

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Jun 10 11:32:24 UTC 2021


Module: Mesa
Branch: staging/21.1
Commit: 14755c8a8672b8cbd174a370312f7e0d8b050a89
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=14755c8a8672b8cbd174a370312f7e0d8b050a89

Author: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>
Date:   Fri Jun  4 12:21:58 2021 +0200

radeonsi: dirty msaa_config on rs->multisample_enable change

si_emit_msaa_config uses si_get_num_coverage_samples, and
si_get_num_coverage_samples depends on old_rs->multisample_enable.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4613
Cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11182>
(cherry picked from commit cd9be8741ff0e93bd45aca29e7bb5de649f20a55)

---

 .pick_status.json                       | 2 +-
 src/gallium/drivers/radeonsi/si_state.c | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/.pick_status.json b/.pick_status.json
index a653ccea9d8..37d8be420c9 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -1588,7 +1588,7 @@
         "description": "radeonsi: dirty msaa_config on rs->multisample_enable change",
         "nominated": true,
         "nomination_type": 0,
-        "resolution": 0,
+        "resolution": 1,
         "main_sha": null,
         "because_sha": null
     },
diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c
index 1c531292e8a..869cc0417df 100644
--- a/src/gallium/drivers/radeonsi/si_state.c
+++ b/src/gallium/drivers/radeonsi/si_state.c
@@ -1013,6 +1013,8 @@ static void si_bind_rs_state(struct pipe_context *ctx, void *state)
    if (old_rs->multisample_enable != rs->multisample_enable) {
       si_mark_atom_dirty(sctx, &sctx->atoms.s.db_render_state);
 
+      si_mark_atom_dirty(sctx, &sctx->atoms.s.msaa_config);
+
       /* Update the small primitive filter workaround if necessary. */
       if (sctx->screen->info.has_msaa_sample_loc_bug && sctx->framebuffer.nr_samples > 1)
          si_mark_atom_dirty(sctx, &sctx->atoms.s.msaa_sample_locs);



More information about the mesa-commit mailing list