Fixes broken polygon stipple, aaline, aapoint stages
*/
void draw_do_flush( struct draw_context *draw, unsigned flags )
{
- if (!draw->flushing)
+ if (!draw->flushing && !draw->vcache_flushing)
{
draw->flushing = TRUE;
} driver;
boolean flushing;
+ boolean vcache_flushing;
boolean bypass_clipping; /* set if either api or driver bypass_clipping true */
/* pipe state that we need: */
static void vcache_flush( struct vcache_frontend *vcache )
{
+ vcache->draw->vcache_flushing = TRUE;
if (vcache->draw_count) {
vcache->middle->run( vcache->middle,
vcache->fetch_elts,
memset(vcache->in, ~0, sizeof(vcache->in));
vcache->fetch_count = 0;
vcache->draw_count = 0;
+ vcache->draw->vcache_flushing = FALSE;
}
static void vcache_check_flush( struct vcache_frontend *vcache )