summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorMichel Dänzer <[email protected]>2013-02-13 16:07:15 +0100
committerMichel Dänzer <[email protected]>2013-02-21 10:07:18 +0100
commitb63b3012c91cceafc59c0f727b66ff75f09c98d2 (patch)
tree0ec0e728b9a4c78d4c7d070a862410e781a836eb /src/gallium
parent954bc4ac34b821cdc4ecb3ea8e394a66bcc2dda0 (diff)
radeonsi: Don't match TGSI_SEMANTIC_POSITION fs inputs to vs outputs
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/drivers/radeonsi/si_state_draw.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/gallium/drivers/radeonsi/si_state_draw.c b/src/gallium/drivers/radeonsi/si_state_draw.c
index 61dea74ac12..f8460b0f823 100644
--- a/src/gallium/drivers/radeonsi/si_state_draw.c
+++ b/src/gallium/drivers/radeonsi/si_state_draw.c
@@ -319,11 +319,14 @@ static void si_update_spi_map(struct r600_context *rctx)
unsigned name = ps->input[i].name;
unsigned param_offset = ps->input[i].param_offset;
+ if (name == TGSI_SEMANTIC_POSITION)
+ /* Read from preloaded VGPRs, not parameters */
+ continue;
+
bcolor:
tmp = 0;
- if (name == TGSI_SEMANTIC_POSITION ||
- ps->input[i].interpolate == TGSI_INTERPOLATE_CONSTANT ||
+ if (ps->input[i].interpolate == TGSI_INTERPOLATE_CONSTANT ||
(ps->input[i].interpolate == TGSI_INTERPOLATE_COLOR &&
rctx->ps_shader->current->key.flatshade)) {
tmp |= S_028644_FLAT_SHADE(1);