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