Felix Kühling wrote:
On Mon, 2 Dec 2002 00:59:34 +0100
Felix Kühling <[EMAIL PROTECTED]> wrote:


Hi,

I reported a DMA buffer allocation problem earlier today with glean. It
terminated with "Error: Could not get dma buffer ... exiting". I looked
into it a bit more now. I made a glean run with RADEON_DEBUG_DMA and
wrote a small TCL script to analyse the output. It revealed a leak of
DMA buffers. It might be a bug with my script, but I'm pretty sure it's
ok. It is obvious that towards the end of the log only a subset of the
available DMA buffers is used.
[snip]

I tracked it down to radeonDestroyContext. There radeonReleaseDmaRegion
is called but after that the CmdBuf is never flushed. So when the
context is destroyed any record of the last DMA buffer still being
allocated is lost in the client. As glean destroys and recreates
contexts quite often, all DMA buffers were lost like this. I think we
introduced this problem when we moved the RADEON_FIRE_VERTICES further
up in radeonDestroyContext. Before that RADEON_FIRE_VERTICES implicitly
flushed the CmdBuf.

Here is a patch that fixes the problem. I hope is doesn't introduce any
new ones ;-)
I've committed this...

Keith






-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to