From d4bd6ca8162be0684e4bff06a17b9dea1a02d217 Mon Sep 17 00:00:00 2001 From: Brian Date: Sat, 26 Jan 2008 14:12:33 -0700 Subject: Cell: add check to catch recursive batch flushing --- src/mesa/pipe/cell/ppu/cell_batch.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/mesa/pipe/cell/ppu') diff --git a/src/mesa/pipe/cell/ppu/cell_batch.c b/src/mesa/pipe/cell/ppu/cell_batch.c index ab4553f16c..5a25f1b266 100644 --- a/src/mesa/pipe/cell/ppu/cell_batch.c +++ b/src/mesa/pipe/cell/ppu/cell_batch.c @@ -34,13 +34,18 @@ void cell_batch_flush(struct cell_context *cell) { + static boolean flushing = FALSE; uint batch = cell->cur_batch; const uint size = cell->batch_buffer_size[batch]; uint spu, cmd_word; + assert(!flushing); + if (size == 0) return; + flushing = TRUE; + assert(batch < CELL_NUM_BATCH_BUFFERS); /* @@ -86,6 +91,8 @@ cell_batch_flush(struct cell_context *cell) cell->batch_buffer_size[batch] = 0; /* empty */ cell->cur_batch = batch; + + flushing = FALSE; } -- cgit v1.2.3