summaryrefslogtreecommitdiff
path: root/src/mesa/swrast/s_alpha.c
diff options
context:
space:
mode:
authorBrian Paul <brian.paul@tungstengraphics.com>2002-01-27 18:32:03 +0000
committerBrian Paul <brian.paul@tungstengraphics.com>2002-01-27 18:32:03 +0000
commit2a182a98973edc9ecf2936b1288485bb2b3fa722 (patch)
tree4c832bef597d1cbbccb7e7ab80f508aac2bbaba9 /src/mesa/swrast/s_alpha.c
parent6a731f343e847226537080122e2fb327e2486564 (diff)
LOTS of changes, building upon Klaus's work.
struct sw_span is used throughout span/fragment processing. This is leading to less code and more chances for optimization.
Diffstat (limited to 'src/mesa/swrast/s_alpha.c')
-rw-r--r--src/mesa/swrast/s_alpha.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/src/mesa/swrast/s_alpha.c b/src/mesa/swrast/s_alpha.c
index 7aa47f230f..ca34c120b4 100644
--- a/src/mesa/swrast/s_alpha.c
+++ b/src/mesa/swrast/s_alpha.c
@@ -1,4 +1,4 @@
-/* $Id: s_alpha.c,v 1.5 2002/01/21 18:12:34 brianp Exp $ */
+/* $Id: s_alpha.c,v 1.6 2002/01/27 18:32:03 brianp Exp $ */
/*
* Mesa 3-D graphics library
@@ -49,11 +49,7 @@ _mesa_alpha_test( const GLcontext *ctx, struct sw_span *span,
const GLchan ref = ctx->Color.AlphaRef;
GLubyte *mask = span->mask;
- ASSERT (span->filledMask == GL_TRUE);
- ASSERT (span->filledAlpha == GL_TRUE);
-
- SW_SPAN_SET_FLAG(span->testedAlpha);
-
+ ASSERT (span->filledAlpha == GL_TRUE || (span->arrayMask & SPAN_RGBA));
/* switch cases ordered from most frequent to less frequent */
switch (ctx->Color.AlphaFunc) {
@@ -97,6 +93,8 @@ _mesa_alpha_test( const GLcontext *ctx, struct sw_span *span,
return 0;
}
+#if 0
+ /* XXXX This causes conformance failures!!!! */
while ((span->start <= span->end) &&
(mask[span->start] == 0))
span->start ++;
@@ -104,7 +102,7 @@ _mesa_alpha_test( const GLcontext *ctx, struct sw_span *span,
while ((span->end >= span->start) &&
(mask[span->end] == 0))
span->end --;
-
+#endif
span->writeAll = GL_FALSE;
if (span->start >= span->end)