Procházet zdrojové kódy

Fix minor logic error in get_queued_prim() which caused flushing when there was still room in the prim queue.

tags/mesa_20090313
Brian před 18 roky
rodič
revize
1574611faf
1 změnil soubory, kde provedl 7 přidání a 1 odebrání
  1. 7
    1
      src/mesa/pipe/draw/draw_prim.c

+ 7
- 1
src/mesa/pipe/draw/draw_prim.c Zobrazit soubor

@@ -60,6 +60,10 @@ static void draw_prim_queue_flush( struct draw_context *draw )
struct draw_stage *first = draw->pipeline.first;
unsigned i;

if (0)
printf("Flushing with %d prims, %d verts\n",
draw->pq.queue_nr, draw->vs.queue_nr);

/* Make sure all vertices are available:
*/
if (draw->vs.queue_nr)
@@ -137,11 +141,13 @@ static struct prim_header *get_queued_prim( struct draw_context *draw,
// fprintf(stderr, "v");
draw_do_flush( draw, DRAW_FLUSH_VERTEX_CACHE_INVALIDATE );
}
else if (draw->pq.queue_nr + 1 >= PRIM_QUEUE_LENGTH) {
else if (draw->pq.queue_nr == PRIM_QUEUE_LENGTH) {
// fprintf(stderr, "p");
draw_do_flush( draw, DRAW_FLUSH_PRIM_QUEUE );
}

assert(draw->pq.queue_nr < PRIM_QUEUE_LENGTH);

return &draw->pq.queue[draw->pq.queue_nr++];
}


Načítá se…
Zrušit
Uložit