platforms/drm: fix EglStreamBackend init

BUG: 438363
This commit is contained in:
Xaver Hugl 2021-06-10 00:15:03 +02:00
parent 3d6659b0d7
commit 40c485f2a6

View file

@ -257,6 +257,10 @@ void EglStreamBackend::init()
setFailed("Failed to initialize EGL api");
return;
}
if (!supportsSurfacelessContext()) {
setFailed("EGL_KHR_surfaceless_context extension is unavailable!");
return;
}
if (!initRenderingContext()) {
setFailed("Failed to initialize rendering context");
return;
@ -283,7 +287,7 @@ bool EglStreamBackend::initRenderingContext()
{
initBufferConfigs();
if (!createContext()) {
if (!createContext() || !makeCurrent()) {
return false;
}
@ -291,14 +295,7 @@ bool EglStreamBackend::initRenderingContext()
for (DrmOutput *drmOutput : outputs) {
addOutput(drmOutput);
}
if (m_outputs.isEmpty()) {
qCCritical(KWIN_DRM) << "Failed to create output surface";
return false;
}
// set our first surface as the one for the abstract backend
setSurface(m_outputs.first().eglSurface);
return makeContextCurrent(m_outputs.first());
return true;
}
bool EglStreamBackend::resetOutput(Output &o, DrmOutput *drmOutput)