Mesa (master): r600g: skip SPI setup for position and face inputs

Dave Airlie airlied at kemper.freedesktop.org
Mon Jun 13 23:17:28 UTC 2011


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

Author: Vadim Girlin <vadimgirlin at gmail.com>
Date:   Mon Jun 13 05:43:47 2011 +0400

r600g: skip SPI setup for position and face inputs

fixes fdo bug 38145

Signed-off-by: Vadim Girlin <vadimgirlin at gmail.com>
Signed-off-by: Dave Airlie <airlied at redhat.com>

---

 src/gallium/drivers/r600/r600_shader.c       |    4 ----
 src/gallium/drivers/r600/r600_state_common.c |    4 ++++
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/gallium/drivers/r600/r600_shader.c b/src/gallium/drivers/r600/r600_shader.c
index d111caa..1b9f663 100644
--- a/src/gallium/drivers/r600/r600_shader.c
+++ b/src/gallium/drivers/r600/r600_shader.c
@@ -63,10 +63,6 @@ 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) {
diff --git a/src/gallium/drivers/r600/r600_state_common.c b/src/gallium/drivers/r600/r600_state_common.c
index d58c1f0..fa0c5cb 100644
--- a/src/gallium/drivers/r600/r600_state_common.c
+++ b/src/gallium/drivers/r600/r600_state_common.c
@@ -358,6 +358,10 @@ static void r600_spi_update(struct r600_pipe_context *rctx)
 
 	rstate->nregs = 0;
 	for (i = 0; i < rshader->ninput; i++) {
+		if (rshader->input[i].name == TGSI_SEMANTIC_POSITION ||
+		    rshader->input[i].name == TGSI_SEMANTIC_FACE)
+			continue;
+
 		tmp = S_028644_SEMANTIC(r600_find_vs_semantic_index(&rctx->vs_shader->shader, rshader, i));
 
 		if (rshader->input[i].name == TGSI_SEMANTIC_COLOR ||




More information about the mesa-commit mailing list