Factor out drivers' DRI2 buffer counting logic
Christopher James Halse Rogers
christopher.halse.rogers at canonical.com
Tue Dec 7 22:56:32 PST 2010
The DRI2 SwapBuffers request requires drivers to defer the swap work
until some point in the future. It's entirely possible for the client
that requested the swap to go away before that trigger occurs, resulting
in DRI2 buffers being freed in DRI2DrawableGone and then the swap
event crashing the server trying to access the freed buffers.
The relevant (fixed) crasher bugs are
Intel: https://bugs.freedesktop.org/show_bug.cgi?id=28080
Radeon: http://bugs.freedesktop.org/show_bug.cgi?id=29065
I haven't tested nouveau's new pageflipping support, but it looks like
it suffers the same problem.
Since the big three drivers all suffer this problem, and all
need to solve it in the same way, it might as well be done
in DRI2 itself.
More information about the xorg-devel
mailing list