nv2a: Reset all draw arrays tracking on expand

This commit is contained in:
Matt Borgerson 2022-06-20 18:34:47 -07:00 committed by mborgerson
parent baa7e914fb
commit bb855d43da
1 changed files with 11 additions and 5 deletions

View File

@ -2684,15 +2684,20 @@ DEF_METHOD_INC(NV097, SET_EYE_DIRECTION)
pg->ltctxa_dirty[NV_IGRAPH_XF_LTCTXA_EYED] = true;
}
static void pgraph_reset_draw_arrays(PGRAPHState *pg)
{
pg->draw_arrays_length = 0;
pg->draw_arrays_min_start = -1;
pg->draw_arrays_max_count = 0;
pg->draw_arrays_prevent_connect = false;
}
static void pgraph_reset_inline_buffers(PGRAPHState *pg)
{
pg->inline_elements_length = 0;
pg->inline_array_length = 0;
pg->inline_buffer_length = 0;
pg->draw_arrays_length = 0;
pg->draw_arrays_min_start = -1;
pg->draw_arrays_max_count = 0;
pg->draw_arrays_prevent_connect = false;
pgraph_reset_draw_arrays(pg);
}
static void pgraph_flush_draw(NV2AState *d)
@ -3214,7 +3219,8 @@ static void pgraph_expand_draw_arrays(NV2AState *d)
for (unsigned int i = 0; i < count; i++) {
pg->inline_elements[pg->inline_elements_length++] = start + i;
}
pg->draw_arrays_length = 0;
pgraph_reset_draw_arrays(pg);
}
static void pgraph_check_within_begin_end_block(PGRAPHState *pg)