summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorHenri Verbeet <[email protected]>2010-09-20 09:29:43 +1000
committerDave Airlie <[email protected]>2010-09-20 09:30:21 +1000
commitf1cf04dbc0549d1520159be6b4811d6d37ddb5bf (patch)
tree213124d887d66eada5fea1833a864f5255f07efa /src
parentb83156d42fc0230fdbe0a566cc57ed87792ca887 (diff)
r600g: fix exports_ps to export a number not a mask.
Diffstat (limited to 'src')
-rw-r--r--src/gallium/drivers/r600/eg_hw_states.c2
-rw-r--r--src/gallium/drivers/r600/r600_hw_states.c2
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 ad8aa4ca9a6..65a5c6434b3 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 25344c6f82a..5e43085c620 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;