summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r300
diff options
context:
space:
mode:
authorMaciej Cencora <[email protected]>2009-09-27 22:20:41 +0200
committerMaciej Cencora <[email protected]>2009-09-27 22:44:28 +0200
commitbedc6b7bdff40156b66cb2473c47512e5c95bdab (patch)
tree17880f8a2e8a5c58d766369fb415e1b106c1085a /src/gallium/drivers/r300
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')
-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 2bbbcdfd9c2..083861a0712 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: