From 8accf0a891c85c7d747c5f7f4a4d8a99adb91b2a Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Mon, 31 May 2010 09:58:25 +0100 Subject: intel: Initialize batch->reserved_space on allocation Fixes the assert (and buffer overrun): glknots: intel_batchbuffer.c:164: _intel_batchbuffer_flush: Assertion 'used >= batch->buf->size' failed. Reported in bug: Bug 28274 - xscreensaver's glknots hangs GPU (945GME/Pineview) https://bugs.freedesktop.org/show_bug.cgi?id=28274 Signed-off-by: Chris Wilson --- src/mesa/drivers/dri/intel/intel_batchbuffer.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'src/mesa/drivers/dri/intel') diff --git a/src/mesa/drivers/dri/intel/intel_batchbuffer.c b/src/mesa/drivers/dri/intel/intel_batchbuffer.c index 446ce29984..27bd4fe605 100644 --- a/src/mesa/drivers/dri/intel/intel_batchbuffer.c +++ b/src/mesa/drivers/dri/intel/intel_batchbuffer.c @@ -55,6 +55,7 @@ intel_batchbuffer_reset(struct intel_batchbuffer *batch) } batch->size = intel->maxBatchSize; batch->ptr = batch->map; + batch->reserved_space = BATCH_RESERVED; batch->dirty_state = ~0; } @@ -180,8 +181,6 @@ _intel_batchbuffer_flush(struct intel_batchbuffer *batch, const char *file, /* Check that we didn't just wrap our batchbuffer at a bad time. */ assert(!intel->no_batch_wrap); - batch->reserved_space = BATCH_RESERVED; - /* TODO: Just pass the relocation list and dma buffer up to the * kernel. */ -- cgit v1.2.3