Keith Whitwell wrote:
> Brian,
> 
> Do you have any idea why it is necessary to short-circuit these tests? 
> If there is a problem with relying on the new_state flag for 
> notification on those statechanges, we've got much more serious 
> problems.  It would be good to get to a root cause for this rather than 
> disabling these tests which ostensibly look like reasonable code.

Basically, I'm just playing it safe for the 6.5.3 release.

The real solution is something like this:

    [...]
    /* don't zero-out _TriangleCaps*/

    if (new_state & _NEW_POINT) {
       if (ctx->Point.SmoothFlag)
          ctx->_TriangleCaps |= DD_POINT_SMOOTH;
       else
          ctx->_TriangleCaps &= ~DD_POINT_SMOOTH;
       if (ctx->Point._Size != 1.0F)
          ctx->_TriangleCaps |= DD_POINT_SIZE;
       else
          ctx->_TriangleCaps &= ~DD_POINT_SIZE;
       if (ctx->Point._Attenuated)
          ctx->_TriangleCaps |= DD_POINT_ATTEN;
       else
          ctx->_TriangleCaps &= ~DD_POINT_ATTEN;
    }
    [...]

I'll look at this again after 6.5.3 when I have more time for testing. 
The long term move, which I think we discussed before, is to get away 
from _TriangleCaps entirely.  I had collected all the _TriangleCaps code 
in one place as a step in that direction - and botched it, apparently.

-Brian

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Mesa3d-dev mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to