summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2015-07-26 21:08:18 +0200
committerMarek Olšák <[email protected]>2015-07-31 16:49:17 +0200
commit3ca21320583a4c0ba9bee755935df5e1f1637fdf (patch)
treef8f1111d2097faa573ab831800da296a6b282640
parent2d3ae154ba36546485468b9552e6da905b42aaa4 (diff)
radeonsi: fix broken st/nine from merging tessellation
st/nine uses GENERIC slots greater than 60.
-rw-r--r--src/gallium/drivers/radeonsi/si_shader.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c
index 4151e011d58..92382e85985 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: