summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r300/r300_state_derived.c
diff options
context:
space:
mode:
authorMaciej Cencora <m.cencora@gmail.com>2009-09-27 22:20:41 +0200
committerMaciej Cencora <m.cencora@gmail.com>2009-09-27 22:44:28 +0200
commitbedc6b7bdff40156b66cb2473c47512e5c95bdab (patch)
tree17880f8a2e8a5c58d766369fb415e1b106c1085a /src/gallium/drivers/r300/r300_state_derived.c
parent8c8b77a5f3ec1dac0bddc98da3ccbb64f58f22e0 (diff)
r300g: add some assertions
Not sure why we are getting a shader with two inputs with position semantic, but we don't know how to handle it correctly so it's better to stop the app than lock the machine.
Diffstat (limited to 'src/gallium/drivers/r300/r300_state_derived.c')
-rw-r--r--src/gallium/drivers/r300/r300_state_derived.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gallium/drivers/r300/r300_state_derived.c b/src/gallium/drivers/r300/r300_state_derived.c
index 2bbbcdfd9c..083861a071 100644
--- a/src/gallium/drivers/r300/r300_state_derived.c
+++ b/src/gallium/drivers/r300/r300_state_derived.c
@@ -55,6 +55,7 @@ static void r300_vs_tab_routes(struct r300_context* r300,
for (i = 0; i < info->num_inputs; i++) {
switch (info->input_semantic_name[i]) {
case TGSI_SEMANTIC_POSITION:
+ assert(pos == FALSE);
pos = TRUE;
tab[i] = 0;
break;
@@ -63,10 +64,12 @@ static void r300_vs_tab_routes(struct r300_context* r300,
cols++;
break;
case TGSI_SEMANTIC_PSIZE:
+ assert(psize == FALSE);
psize = TRUE;
tab[i] = 15;
break;
case TGSI_SEMANTIC_FOG:
+ assert(fog == FALSE);
fog = TRUE;
/* Fall through */
case TGSI_SEMANTIC_GENERIC: