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:
parent
8af45aa962
commit
0284aeb7bb
3 changed files with 0 additions and 10 deletions
|
@ -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;
|
||||||
|
|
|
@ -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();
|
||||||
|
|
|
@ -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;
|
||||||
|
|
Loading…
Reference in a new issue