Kaido Kärner wrote:
>> Could someone skilled with gdb do the following? We might get to the
>> bottom of this.
>>
>> 1. Put a breakpoint on viaDeleteRenderbuffer() and make note of the
>> value of rb each time it's called, and get a stack trace each time.
>>
>> 2. When the assertion in renderbuffer.c fails, print 'oldRb' and
>> provide a stack trace.
>
> The problem is, that the buffers are allocated in the context structure, not the drawable.
Yes, that's the root problem but would take more effort to fix. I'm
just looking for a work-around for now (without hacking core Mesa).
> And if the context is freed before the drawable - which has pointers to buffers - the
> crash is inevitable, as viaDestroyContext frees the memory which holds the buffers.
We may be able to "fix" that with a tweak to the refcounting.
> I can do any additional debugging, if needed, tomorrow.
Please do.
-Brian
|