diff options
author | Dave Airlie <[email protected]> | 2011-05-25 10:01:25 +1000 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2011-05-25 10:01:25 +1000 |
commit | d1b8f8e8b3b41ab6092fa3f18a4891a0198f64de (patch) | |
tree | b7c70e5002cb9e0d0bb96a283d2408da0e1325e5 | |
parent | ece871c03876221636166ebd3f091ebeb10afbf1 (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.c | 4 |
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) { |