swrast: fix active attribs with atifragshader
[mesa.git] / src / mesa / swrast / s_context.c
index ecde292e37b6e347cfa2ea802f8625394c03bf7f..a63179c05f302b775474556780f28a77ef1c309e 100644 (file)
@@ -27,7 +27,6 @@
 
 #include "main/imports.h"
 #include "main/bufferobj.h"
-#include "main/colormac.h"
 #include "main/mtypes.h"
 #include "main/samplerobj.h"
 #include "main/teximage.h"
@@ -505,7 +504,8 @@ _swrast_update_active_attribs(struct gl_context *ctx)
       attribsMask &= ~VARYING_BIT_POS; /* WPOS is always handled specially */
    }
    else if (ctx->ATIFragmentShader._Enabled) {
-      attribsMask = ~0;  /* XXX fix me */
+      attribsMask = VARYING_BIT_COL0 | VARYING_BIT_COL1 |
+                    VARYING_BIT_FOGC | VARYING_BITS_TEX_ANY;
    }
    else {
       /* fixed function */
@@ -901,11 +901,16 @@ void
 _swrast_render_finish( struct gl_context *ctx )
 {
    SWcontext *swrast = SWRAST_CONTEXT(ctx);
+   struct gl_query_object *query = ctx->Query.CurrentOcclusionObject;
 
    _swrast_flush(ctx);
 
    if (swrast->Driver.SpanRenderFinish)
       swrast->Driver.SpanRenderFinish( ctx );
+
+   if (query && (query->Target == GL_ANY_SAMPLES_PASSED ||
+                 query->Target == GL_ANY_SAMPLES_PASSED_CONSERVATIVE))
+      query->Result = !!query->Result;
 }