Mesa (master): r600g: fix exports_ps to export a number not a mask.

Dave Airlie airlied at kemper.freedesktop.org
Sun Sep 19 23:32:13 UTC 2010


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

Author: Henri Verbeet <hverbeet at gmail.com>
Date:   Mon Sep 20 09:29:43 2010 +1000

r600g: fix exports_ps to export a number not a mask.

---

 src/gallium/drivers/r600/eg_hw_states.c   |    2 +-
 src/gallium/drivers/r600/r600_hw_states.c |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/r600/eg_hw_states.c b/src/gallium/drivers/r600/eg_hw_states.c
index ad8aa4c..65a5c64 100644
--- a/src/gallium/drivers/r600/eg_hw_states.c
+++ b/src/gallium/drivers/r600/eg_hw_states.c
@@ -961,10 +961,10 @@ static int eg_ps_shader(struct r600_context *rctx, struct r600_context_state *rp
 		if (rshader->output[i].name == TGSI_SEMANTIC_POSITION)
 			exports_ps |= 1;
 		else if (rshader->output[i].name == TGSI_SEMANTIC_COLOR) {
-			exports_ps |= (1 << (num_cout+1));
 			num_cout++;
 		}
 	}
+	exports_ps |= (1 << num_cout);
 	if (!exports_ps) {
 		/* always at least export 1 component per pixel */
 		exports_ps = 2;
diff --git a/src/gallium/drivers/r600/r600_hw_states.c b/src/gallium/drivers/r600/r600_hw_states.c
index 25344c6..5e43085 100644
--- a/src/gallium/drivers/r600/r600_hw_states.c
+++ b/src/gallium/drivers/r600/r600_hw_states.c
@@ -974,10 +974,10 @@ static int r600_ps_shader(struct r600_context *rctx, struct r600_context_state *
 		if (rshader->output[i].name == TGSI_SEMANTIC_POSITION)
 			exports_ps |= 1;
 		else if (rshader->output[i].name == TGSI_SEMANTIC_COLOR) {
-			exports_ps |= (1 << (num_cout+1));
 			num_cout++;
 		}
 	}
+	exports_ps |= (num_cout << 1);
 	if (!exports_ps) {
 		/* always at least export 1 component per pixel */
 		exports_ps = 2;




More information about the mesa-commit mailing list