From: Pauli Nieminen <ext-pauli.niemi...@nokia.com> This version has a major fix. It fixes resource destruction order problems between glx and dri2. Now glx can increment the reference count of DRI2Drawable which keeps DRI2Drawable allocated until glx is ready to free it. Problem happens when client disconnects where resource cleanup can free DRI2Drawable and GLXDrawable in random order.
There is also minor cleanup based on Ville's review comments. Christopher James Halse Rogers (2): DRI2: Reference count buffers across SwapBuffers DRI2: Track clients' outstanding swap requests. Pauli Nieminen (9): DRI2: Free DRI2 drawable references in DRI2DestroyDrawable dri2: Refactor interface to take DRI2DrawablePtr dri2: Change driver interface to support DRI2Drawable dri2: Add reference counting to DRI2 dri2: Keep DRI2Drawable resource allocated until creator frees it dri2: Send events only to known clients dri2: Check that client still except the event before sending it dri2: copy front to fake front in SwapBuffers glx: Cleanup DRI2Drawable glx/glxdri2.c | 35 +++- hw/xfree86/dri2/dri2.c | 511 ++++++++++++++++++++++++++++++++------------- hw/xfree86/dri2/dri2.h | 119 +++++++++-- hw/xfree86/dri2/dri2ext.c | 119 +++++++---- 4 files changed, 571 insertions(+), 213 deletions(-) _______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel