Looking at the tdfx driver I see this:

   /* FIXME: Combine this into one call...
    */
   FALLBACK( tmesa, TDFX_FALLBACK_BLEND_EQ, mode != GL_FUNC_ADD_EXT );
   FALLBACK( tmesa, TDFX_FALLBACK_BLEND_EQ,
             ctx->Color.ColorLogicOpEnabled && ctx->Color.LogicOp != GL_COPY );


This is broken because the two conditions attempt to use a single bit. 
Imagine the case where (mode == GL_FUNC_ADD_EXT) but (ctx->Color.ColorLogicOp
== GL_COPY):  The first call will install a fallback, but the second will
immediately clear the fallback...

The solution is to associate a single logical condition for each bit in the
fallback mask.  In this case you could combine the two conditions with a
disjunctive, or alternatively use different bits in the mask for the two
conditions.

Keith

_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to