https://bugs.kde.org/show_bug.cgi?id=356992
--- Comment #19 from Thomas Lübking <thomas.luebk...@gmail.com> --- No, we only want to skip that bit if we've buffer_age support anyway. I've not looked into it, but guess the extension check requires a context, what means we cannot depend this bit on the absence of buffer_age - or we cannot avoid surface recreation - either because it failed due to that bit or because we skipped the bit initially and afterwards figure we need it because we lack buffer_age support. This sucks. Can you debug the result of initEGL? diff --git a/eglonxbackend.cpp b/eglonxbackend.cpp index 480e533..abacdaa 100644 --- a/eglonxbackend.cpp +++ b/eglonxbackend.cpp @@ -89,6 +89,8 @@ EglOnXBackend::~EglOnXBackend() void EglOnXBackend::init() { + initEgl(); // required to toggle + initBufferAge(); // EGL_SWAP_BEHAVIOR_PRESERVED_BIT if (!initRenderingContext()) { setFailed(QStringLiteral("Could not initialize rendering context")); return; @@ -267,7 +269,7 @@ EGLSurface EglOnXBackend::createSurface(xcb_window_t window) bool EglOnXBackend::initBufferConfigs() { const EGLint config_attribs[] = { - EGL_SURFACE_TYPE, EGL_WINDOW_BIT|EGL_SWAP_BEHAVIOR_PRESERVED_BIT, + EGL_SURFACE_TYPE, EGL_WINDOW_BIT|(supportsBufferAge() ? 0 : EGL_SWAP_BEHAVIOR_PRESERVED_BIT), EGL_RED_SIZE, 1, EGL_GREEN_SIZE, 1, EGL_BLUE_SIZE, 1, diff --git a/libkwineffects/kwinglutils.cpp b/libkwineffects/kwinglutils.cpp index 438b785..b44b821 100644 --- a/libkwineffects/kwinglutils.cpp +++ b/libkwineffects/kwinglutils.cpp @@ -101,6 +101,7 @@ void initEGL() eglVersion = MAKE_GL_VERSION(major, minor, 0); const QByteArray string = eglQueryString(dpy, EGL_EXTENSIONS); eglExtensions = string.split(' '); + qDebug() << eglExtensions; eglResolveFunctions(); } -- You are receiving this mail because: You are watching all bug changes.