Mesa (staging/22.1): intel/blorp/gen6: Set BLEND_STATEChange only if emitting the blend state

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Jun 27 16:23:26 UTC 2022


Module: Mesa
Branch: staging/22.1
Commit: 78a64e862fa140712ca7265afcd76f6f9d66ada5
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=78a64e862fa140712ca7265afcd76f6f9d66ada5

Author: Sviatoslav Peleshko <sviatoslav.peleshko at globallogic.com>
Date:   Mon Jun 20 12:47:25 2022 +0300

intel/blorp/gen6: Set BLEND_STATEChange only if emitting the blend state

This change is pretty straightforward: if set this field when we don't emit
the blend state, then the garbage at offset=0 will be set as a blend state,
and this will cause artifacts until the proper blend state will be given.

Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6544
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6232

Signed-off-by: Sviatoslav Peleshko <sviatoslav.peleshko at globallogic.com>
Reviewed-by: Nanley Chery <nanley.g.chery at intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17132>
(cherry picked from commit 318473eaf133e8ec332591c8eb234278b025f7e0)

---

 .pick_status.json                 | 2 +-
 src/intel/blorp/blorp_genX_exec.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/.pick_status.json b/.pick_status.json
index 7171a3f992b..9e699d99277 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -58,7 +58,7 @@
         "description": "intel/blorp/gen6: Set BLEND_STATEChange only if emitting the blend state",
         "nominated": true,
         "nomination_type": 0,
-        "resolution": 0,
+        "resolution": 1,
         "main_sha": null,
         "because_sha": null
     },
diff --git a/src/intel/blorp/blorp_genX_exec.h b/src/intel/blorp/blorp_genX_exec.h
index 7085b51e51f..d63bea31f8a 100644
--- a/src/intel/blorp/blorp_genX_exec.h
+++ b/src/intel/blorp/blorp_genX_exec.h
@@ -1323,7 +1323,7 @@ blorp_emit_pipeline(struct blorp_batch *batch,
     * one CC_STATE_POINTERS packet so we have to emit that here.
     */
    blorp_emit(batch, GENX(3DSTATE_CC_STATE_POINTERS), cc) {
-      cc.BLEND_STATEChange = true;
+      cc.BLEND_STATEChange = params->wm_prog_data ? true : false;
       cc.ColorCalcStatePointerValid = true;
       cc.DEPTH_STENCIL_STATEChange = true;
       cc.PointertoBLEND_STATE = blend_state_offset;



More information about the mesa-commit mailing list