summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Airlie <[email protected]>2011-05-25 10:01:25 +1000
committerDave Airlie <[email protected]>2011-05-25 10:01:25 +1000
commitd1b8f8e8b3b41ab6092fa3f18a4891a0198f64de (patch)
treeb7c70e5002cb9e0d0bb96a283d2408da0e1325e5
parentece871c03876221636166ebd3f091ebeb10afbf1 (diff)
r600g: don't lookup a vs semantic for position/face.
These don't need one, and I was seeing 0xff being returned and set in the GPU registers with some tests. Signed-off-by: Dave Airlie <[email protected]>
-rw-r--r--src/gallium/drivers/r600/r600_shader.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/r600_shader.c b/src/gallium/drivers/r600/r600_shader.c
index 845d41ace02..a27f4950dd7 100644
--- a/src/gallium/drivers/r600/r600_shader.c
+++ b/src/gallium/drivers/r600/r600_shader.c
@@ -41,6 +41,10 @@ int r600_find_vs_semantic_index(struct r600_shader *vs,
{
struct r600_shader_io *input = &ps->input[id];
+ /* position/face doesn't get/need a semantic index */
+ if (input->name == TGSI_SEMANTIC_POSITION || input->name == TGSI_SEMANTIC_FACE)
+ return 0;
+
for (int i = 0; i < vs->noutput; i++) {
if (input->name == vs->output[i].name &&
input->sid == vs->output[i].sid) {