mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 11:18:08 +02:00
gallium: added a flushing_vcache flag, test in draw_do_flush()
Fixes broken polygon stipple, aaline, aapoint stages
This commit is contained in:
parent
91e37b7140
commit
72fd5b9c5a
3 changed files with 4 additions and 1 deletions
|
|
@ -367,7 +367,7 @@ draw_set_mapped_element_buffer( struct draw_context *draw,
|
|||
*/
|
||||
void draw_do_flush( struct draw_context *draw, unsigned flags )
|
||||
{
|
||||
if (!draw->flushing)
|
||||
if (!draw->flushing && !draw->vcache_flushing)
|
||||
{
|
||||
draw->flushing = TRUE;
|
||||
|
||||
|
|
|
|||
|
|
@ -179,6 +179,7 @@ struct draw_context
|
|||
} driver;
|
||||
|
||||
boolean flushing;
|
||||
boolean vcache_flushing;
|
||||
boolean bypass_clipping; /* set if either api or driver bypass_clipping true */
|
||||
|
||||
/* pipe state that we need: */
|
||||
|
|
|
|||
|
|
@ -63,6 +63,7 @@ struct vcache_frontend {
|
|||
|
||||
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,
|
||||
|
|
@ -74,6 +75,7 @@ static void vcache_flush( struct vcache_frontend *vcache )
|
|||
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 )
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue