summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r600/r600_shader.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2010-10-14 14:27:34 +1000
committerDave Airlie <airlied@redhat.com>2010-10-14 14:27:34 +1000
commit68014c8d19559576d368e158932278df05fe659b (patch)
tree421a778d594d1e1c9bd595ad30449292d82e0ad4 /src/gallium/drivers/r600/r600_shader.c
parent0637044add50b3a4aee8e915b84c18813c9130f3 (diff)
r600g: select linear interpolate if tgsi input requests it
Diffstat (limited to 'src/gallium/drivers/r600/r600_shader.c')
-rw-r--r--src/gallium/drivers/r600/r600_shader.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/r600_shader.c b/src/gallium/drivers/r600/r600_shader.c
index d6f73cb743..141adcc54b 100644
--- a/src/gallium/drivers/r600/r600_shader.c
+++ b/src/gallium/drivers/r600/r600_shader.c
@@ -117,6 +117,9 @@ static void r600_pipe_shader_ps(struct pipe_context *ctx, struct r600_pipe_shade
tmp = S_028644_SEMANTIC(r600_find_vs_semantic_index(&rctx->vs_shader->shader, rshader, i));
if (rshader->input[i].centroid)
tmp |= S_028644_SEL_CENTROID(1);
+ if (rshader->input[i].interpolate == TGSI_INTERPOLATE_LINEAR)
+ tmp |= S_028644_SEL_LINEAR(1);
+
if (rshader->input[i].name == TGSI_SEMANTIC_POSITION)
pos_index = i;
if (rshader->input[i].name == TGSI_SEMANTIC_COLOR ||