Mesa (master): r600g: change programming of CB_SHADER_MASK on r600-r700

Marek Olšák mareko at kemper.freedesktop.org
Thu Aug 30 17:45:01 UTC 2012


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

Author: Marek Olšák <maraeo at gmail.com>
Date:   Tue Aug 21 20:26:20 2012 +0200

r600g: change programming of CB_SHADER_MASK on r600-r700

This one actually makes more sense and gives the expected value
for MSAA resolve.

Reviewed-by: Jerome Glisse <jglisse at redhat.com>

---

 src/gallium/drivers/r600/r600_state.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/src/gallium/drivers/r600/r600_state.c b/src/gallium/drivers/r600/r600_state.c
index 8f6b0cd..cf7fa01 100644
--- a/src/gallium/drivers/r600/r600_state.c
+++ b/src/gallium/drivers/r600/r600_state.c
@@ -1510,7 +1510,8 @@ static void r600_emit_cb_misc_state(struct r600_context *rctx, struct r600_atom
 
 	r600_write_context_reg_seq(cs, R_028238_CB_TARGET_MASK, 2);
 	r600_write_value(cs, a->blend_colormask & fb_colormask); /* R_028238_CB_TARGET_MASK */
-	r600_write_value(cs, (a->dual_src_blend ? ps_colormask : 0) | fb_colormask); /* R_02823C_CB_SHADER_MASK */
+	/* Always enable the first color output to make sure alpha-test works even without one. */
+	r600_write_value(cs, 0xf | (multiwrite ? fb_colormask : ps_colormask)); /* R_02823C_CB_SHADER_MASK */
 	r600_write_context_reg(cs, R_028808_CB_COLOR_CONTROL,
 			       a->cb_color_control |
 			       S_028808_MULTIWRITE_ENABLE(multiwrite));




More information about the mesa-commit mailing list