graesslin created this revision. graesslin added reviewers: KWin, Plasma. Restricted Application added a project: KWin. Restricted Application added subscribers: kwin, plasma-devel.
REVISION SUMMARY Instead of having the egl extensions in the global kwinglutils lib it becomes private to the AbstractEglBackend. Just like on glx the glxextensions are moved into the platform. The extensions are queried from initEglAPI, that is as early as possible after initializing the EGLDisplay. This ensures that any implementing subclass can access the extensions early enough. As a note: the EglOnXBackend had a potentially wrong sequence for initializing the buffer age extension. It is now moved to the correct place where the result is needed for the first time. From the global API eglExtensions are removed from hasGLExtension and the eglExtensions function is dropped. As by that initEGL did not do anything it is also dropped. TEST PLAN Tested nested kwin on Wayland, still works, extensions shown in debug console REPOSITORY rKWIN KWin BRANCH drop-init-egl REVISION DETAIL https://phabricator.kde.org/D3396 AFFECTED FILES abstract_egl_backend.cpp debug_console.cpp libkwineffects/kwinglutils.cpp libkwineffects/kwinglutils.h platform.cpp plugins/platforms/x11/common/eglonxbackend.cpp EMAIL PREFERENCES https://phabricator.kde.org/settings/panel/emailpreferences/ To: graesslin, #kwin, #plasma Cc: plasma-devel, kwin, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas