summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mesa/pipe/softpipe/sp_quad_fs.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/mesa/pipe/softpipe/sp_quad_fs.c b/src/mesa/pipe/softpipe/sp_quad_fs.c
index b4470ac94a..7b1c90cba6 100644
--- a/src/mesa/pipe/softpipe/sp_quad_fs.c
+++ b/src/mesa/pipe/softpipe/sp_quad_fs.c
@@ -39,7 +39,7 @@
#include "sp_quad.h"
struct exec_machine {
- const struct setup_coefficient *coef;
+ const struct setup_coefficient *coef; /**< will point to quad->coef */
GLfloat attr[FRAG_ATTRIB_MAX][4][QUAD_SIZE];
};
@@ -200,7 +200,9 @@ shade_quad( struct quad_stage *qs, struct quad_header *quad )
}
#endif
- qs->next->run(qs->next, quad);
+ /* shader may cull fragments */
+ if (quad->mask)
+ qs->next->run(qs->next, quad);
}