ff6e042c7f
Summary: On Wayland in multi-screen a "window" is used to render to per screen. In OpenGL every "window" is at 0/0 and scissoring is in respect to the window geometry. The rendering geometry passed to VBO rendering, which performs the scissoring, is in virtual combined screen geometry space. Thus the scissoring always removes any rendering on the second screen. This results in e.g. wobbly windows not working on any additional screen on Wayland. This change makes the VBO rendering multi-screen aware by passing the current virtual window geometry in each rendering pass. That replaces the so far used virtual screen size. For single screen rendering or multi-screen rendering on X11 this doesn't change anything as there is always only one OpenGL window and the screen geoemetry starts at 0/0. Thus the subtracting of x/y geometry do not affect the scissoring at all. Reviewers: #kwin, #plasma_on_wayland Subscribers: plasma-devel, kwin Tags: #plasma_on_wayland, #kwin Differential Revision: https://phabricator.kde.org/D2955 |
||
---|---|---|
.. | ||
anidata.cpp | ||
anidata_p.h | ||
CMakeLists.txt | ||
kwinanimationeffect.cpp | ||
kwinanimationeffect.h | ||
kwinconfig.h.cmake | ||
kwineffects.cpp | ||
kwineffects.h | ||
kwinglcolorcorrection.cpp | ||
kwinglcolorcorrection.h | ||
kwinglcolorcorrection_p.h | ||
kwinglobals.h | ||
kwinglplatform.cpp | ||
kwinglplatform.h | ||
kwingltexture.cpp | ||
kwingltexture.h | ||
kwingltexture_p.h | ||
kwinglutils.cpp | ||
kwinglutils.h | ||
kwinglutils_funcs.cpp | ||
kwinglutils_funcs.h | ||
kwinxrenderutils.cpp | ||
kwinxrenderutils.h | ||
logging.cpp | ||
logging_p.h | ||
Mainpage.dox | ||
Messages.sh |