platforms/drm: Don't release drm buffers in EglGbmBackend

When we release the buffers that also removes the drm fbs.
This causes failing atomic commits that the atomic code
doesn't (yet) handle correctly, the result is a black
screen when compositing is restarted.
This commit is contained in:
Xaver Hugl 2021-04-26 21:56:35 +02:00
parent 8af45aa962
commit 0284aeb7bb
3 changed files with 0 additions and 10 deletions

View file

@ -74,14 +74,6 @@ void DrmOutput::teardown()
//this is needed so that the pageflipcallback handle isn't deleted //this is needed so that the pageflipcallback handle isn't deleted
} }
void DrmOutput::releaseBuffers()
{
m_crtc->setCurrent(nullptr);
m_crtc->setNext(nullptr);
m_primaryPlane->setCurrent(nullptr);
m_primaryPlane->setNext(nullptr);
}
bool DrmOutput::hideCursor() bool DrmOutput::hideCursor()
{ {
return drmModeSetCursor(m_gpu->fd(), m_crtc->id(), 0, 0, 0) == 0; return drmModeSetCursor(m_gpu->fd(), m_crtc->id(), 0, 0, 0) == 0;

View file

@ -44,7 +44,6 @@ public:
///queues deleting the output after a page flip has completed. ///queues deleting the output after a page flip has completed.
void teardown(); void teardown();
void releaseBuffers();
bool showCursor(DrmDumbBuffer *buffer); bool showCursor(DrmDumbBuffer *buffer);
bool showCursor(); bool showCursor();
bool hideCursor(); bool hideCursor();

View file

@ -69,7 +69,6 @@ void EglGbmBackend::cleanupFramebuffer(Output &output)
void EglGbmBackend::cleanupOutput(Output &output) void EglGbmBackend::cleanupOutput(Output &output)
{ {
cleanupFramebuffer(output); cleanupFramebuffer(output);
output.output->releaseBuffers();
output.buffer = nullptr; output.buffer = nullptr;
output.secondaryBuffer = nullptr; output.secondaryBuffer = nullptr;