Mesa (master): st/nine: Set correctly blend max_rt

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue May 5 17:12:55 UTC 2020


Module: Mesa
Branch: master
Commit: aac964af4aa1a215196d6ae351a11c9b6b937a22
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=aac964af4aa1a215196d6ae351a11c9b6b937a22

Author: Axel Davy <davyaxel0 at gmail.com>
Date:   Mon May  4 22:40:08 2020 +0200

st/nine: Set correctly blend max_rt

Currently nine_convert_blend_state has no way
of knowing the number of rts.
For now set to an upper bound.

Signed-off-by: Axel Davy <davyaxel0 at gmail.com>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Reviewed-by: Rob Clark <robdclark at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4891>

---

 src/gallium/state_trackers/nine/nine_pipe.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/gallium/state_trackers/nine/nine_pipe.c b/src/gallium/state_trackers/nine/nine_pipe.c
index 7531845efd6..cc63a9fce8f 100644
--- a/src/gallium/state_trackers/nine/nine_pipe.c
+++ b/src/gallium/state_trackers/nine/nine_pipe.c
@@ -186,7 +186,7 @@ nine_convert_blend_state(struct pipe_blend_state *blend_state, const DWORD *rs)
         nine_convert_blend_state_fixup(&blend, rs); /* for BOTH[INV]SRCALPHA */
     }
 
-    blend.max_rt = 0;
+    blend.max_rt = 3; /* Upper bound. Could be optimized to fb->nr_cbufs for example */
     blend.rt[0].colormask = rs[D3DRS_COLORWRITEENABLE];
 
     if (rs[D3DRS_COLORWRITEENABLE1] != rs[D3DRS_COLORWRITEENABLE] ||
@@ -199,7 +199,6 @@ nine_convert_blend_state(struct pipe_blend_state *blend_state, const DWORD *rs)
         blend.rt[1].colormask = rs[D3DRS_COLORWRITEENABLE1];
         blend.rt[2].colormask = rs[D3DRS_COLORWRITEENABLE2];
         blend.rt[3].colormask = rs[D3DRS_COLORWRITEENABLE3];
-        blend.max_rt = 3;
     }
 
     /* blend.force_srgb = !!rs[D3DRS_SRGBWRITEENABLE]; */



More information about the mesa-commit mailing list