Mesa (master): radeonsi: fix broken st/nine from merging tessellation

Marek Olšák mareko at kemper.freedesktop.org
Fri Jul 31 14:51:32 UTC 2015


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

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Sun Jul 26 21:08:18 2015 +0200

radeonsi: fix broken st/nine from merging tessellation

st/nine uses GENERIC slots greater than 60.

---

 src/gallium/drivers/radeonsi/si_shader.c |    9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c
index 4151e01..92382e8 100644
--- a/src/gallium/drivers/radeonsi/si_shader.c
+++ b/src/gallium/drivers/radeonsi/si_shader.c
@@ -136,8 +136,13 @@ unsigned si_shader_io_get_unique_index(unsigned semantic_name, unsigned index)
 		assert(index <= 1);
 		return 2 + index;
 	case TGSI_SEMANTIC_GENERIC:
-		assert(index <= 63-4);
-		return 4 + index;
+		if (index <= 63-4)
+			return 4 + index;
+		else
+			/* same explanation as in the default statement,
+			 * the only user hitting this is st/nine.
+			 */
+			return 0;
 
 	/* patch indices are completely separate and thus start from 0 */
 	case TGSI_SEMANTIC_TESSOUTER:




More information about the mesa-commit mailing list