Mesa (master): r600g: don't lookup a vs semantic for position/face.

Dave Airlie airlied at kemper.freedesktop.org
Wed May 25 00:02:11 UTC 2011


Module: Mesa
Branch: master
Commit: d1b8f8e8b3b41ab6092fa3f18a4891a0198f64de
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d1b8f8e8b3b41ab6092fa3f18a4891a0198f64de

Author: Dave Airlie <airlied at redhat.com>
Date:   Wed May 25 10:01:25 2011 +1000

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 <airlied at redhat.com>

---

 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 845d41a..a27f495 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) {




More information about the mesa-commit mailing list