On Tue, 2009-03-17 at 19:20 -0700, Brian Paul wrote:


> +   if (st->ctx->Polygon.StippleFlag) {
> +      invert_stipple(st->state.poly_stipple.stipple,
> st->ctx->PolygonStipple,
> +                     st->ctx->DrawBuffer->Height);
>        st->pipe->set_polygon_stipple(st->pipe,
> &st->state.poly_stipple);
>     }
>  }
>  
>  
> +/** Update the stipple when the pattern or window height changes */
>  const struct st_tracked_state st_update_polygon_stipple = {
>     "st_update_polygon_stipple",                                /*
> name */
>     {                                                   /* dirty */
> -      (_NEW_POLYGONSTIPPLE),                           /* mesa */
> +      (_NEW_POLYGONSTIPPLE |
> +       _NEW_BUFFERS),                                  /* mesa */
>        0,                                               /* st */

Brian,

I'm not sure that the test for ctx->Polygon.StippleFlag makes sense here
- if an app leaves the stipple pattern alone but flips the enable bit on
and off, you'll end up re-uploading the same pattern to the driver again
& again.

It's also worth noting that currently enable(POLYGON_STIPPLE) only
raises the NEW_POLYGON flag (not NEW_POLYGONSTIPPLE), on the logic that
that flag is part of ctx->Polygon, not ctx->PolygonStipple.

Keith


------------------------------------------------------------------------------
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
_______________________________________________
Mesa3d-dev mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to