backends/drm: remove the race condition in DrmAtomicCommit
There is a chance that DrmGpu::pageFlipHandler gets executed on the main thread while drmModeAtomicCommit hasn't returned yet on the commit thread. When this situation happens, the destructor of DrmAtomicCommit doesn't set the buffers to be current for the relevant drm planes, and once it gets deleted, the framebuffers get destroyed and the output turns off. To prevent that from happening, this commit moves the relevant code to a method that gets explicitly called from the pageflip handler.
parent
4610a916
Please register or sign in to comment