D23504: [platforms/x11] Remove triple buffering detection
Roman Gilg <[email protected]>
| Newsgroups | gmane.comp.kde.devel.kwin |
|---|---|
| Message-ID | <[email protected]> |
romangg created this revision. romangg added a reviewer: KWin. Herald added a project: KWin. Herald added a subscriber: kwin. romangg requested review of this revision. REVISION SUMMARY It is not clear what the advantage of triple buffering is for KWin. An X11 compositor is meant to swap buffers once every frame. For that triple buffering is not necessary. The functionality is not maintained, does not reliably work as displayed by the existence of an environment variable to force some behavior, pollutes our code and every compositing-related problem that might be mitigated with triple buffering should find a simpler and more fitting solution with other means. There is one caveat which is if we shall block for retrace. We set it currently according to the result of the swap profiler and in the most common case with double buffering it is set to true. But on Nvidia systems this might be actual the wrong behavior. Instead of trying to work around this ignore the issue for now and move the overall architecture to something less complex by presenting after paint how we do it in the Wayland DRM backend and with double buffering on GLX (although this is at the moment also borken because we actually present then twice). TEST PLAN kwin_x11 tested on i915. REPOSITORY R108 KWin BRANCH rmTripleBuffering REVISION DETAIL https://phabricator.kde.org/D23504 AFFECTED FILES platformsupport/scenes/opengl/CMakeLists.txt platformsupport/scenes/opengl/backend.h platformsupport/scenes/opengl/swap_profiler.cpp platformsupport/scenes/opengl/swap_profiler.h plugins/platforms/x11/common/eglonxbackend.cpp plugins/platforms/x11/common/eglonxbackend.h plugins/platforms/x11/standalone/glxbackend.cpp plugins/platforms/x11/standalone/glxbackend.h To: romangg, #kwin Cc: kwin, LeGast00n, The-Feren-OS-Dev, sbergeron, jraleigh, fbampaloukas, GB_2, mkulinski, ragreen, jackyalcine, Pitel, iodelay, crozbo, bwowk, ZrenBot, ngraham, alexeymin, himcesjf, lesliezhai, ali-mohamed, hardening, romangg, jensreuterberg, abetts, sebas, apol, mart