From 176dac684a65d9140d3f1ce4d3bd4220ff5b653f Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 28 Feb 2006 15:48:43 +0000 Subject: only run shader on active fragments in the span --- src/mesa/swrast/s_arbshader.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/mesa') diff --git a/src/mesa/swrast/s_arbshader.c b/src/mesa/swrast/s_arbshader.c index e17e799100..c915b97d6e 100644 --- a/src/mesa/swrast/s_arbshader.c +++ b/src/mesa/swrast/s_arbshader.c @@ -46,6 +46,8 @@ void _swrast_exec_arbshader (GLcontext *ctx, struct sw_span *span) for (i = span->start; i < span->end; i++) { + /* only run shader on active fragments */ + if (span->array->mask[i]) { GLfloat vec[4]; GLuint j; GLboolean discard; @@ -89,6 +91,7 @@ void _swrast_exec_arbshader (GLcontext *ctx, struct sw_span *span) UNCLAMPED_FLOAT_TO_CHAN(span->array->rgba[i][BCOMP], vec[2]); UNCLAMPED_FLOAT_TO_CHAN(span->array->rgba[i][ACOMP], vec[3]); } + } } } -- cgit v1.2.3