kwin/libkwineffects
Martin Gräßlin ff6e042c7f Fix scissoring of VBO rendering in multi-screen setup on Wayland
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
2016-10-06 13:30:04 +02:00
..
anidata.cpp
anidata_p.h
CMakeLists.txt Introduce an EffectsHandler::animationsSupported -> bool 2016-08-15 17:38:33 +02:00
kwinanimationeffect.cpp
kwinanimationeffect.h
kwinconfig.h.cmake
kwineffects.cpp Support highlighting windows through EffectsHandlerImpl 2016-09-13 08:36:12 +02:00
kwineffects.h Support highlighting windows through EffectsHandlerImpl 2016-09-13 08:36:12 +02:00
kwinglcolorcorrection.cpp
kwinglcolorcorrection.h
kwinglcolorcorrection_p.h
kwinglobals.h Support triggering application launcher through screenedge 2016-08-10 20:39:28 +02:00
kwinglplatform.cpp [libkwineffects] Port getXServerVersion from X11 to xcb 2016-08-23 11:45:59 +02:00
kwinglplatform.h [libkwineffects] Add detection code for Qualcomm Adreno to GLPlatform 2016-08-12 09:59:38 +02:00
kwingltexture.cpp
kwingltexture.h [libkwineffects] Fix includes in kwingltexture.h 2016-08-08 15:46:25 +02:00
kwingltexture_p.h
kwinglutils.cpp Fix scissoring of VBO rendering in multi-screen setup on Wayland 2016-10-06 13:30:04 +02:00
kwinglutils.h Fix scissoring of VBO rendering in multi-screen setup on Wayland 2016-10-06 13:30:04 +02:00
kwinglutils_funcs.cpp
kwinglutils_funcs.h
kwinxrenderutils.cpp [libkwinxrenderutils] Clean up static blend picture before going down 2016-06-13 15:29:07 +02:00
kwinxrenderutils.h [libkwinxrenderutils] Clean up static blend picture before going down 2016-06-13 15:29:07 +02:00
logging.cpp pedantic fixes 2016-07-16 13:14:44 -04:00
logging_p.h pedantic fixes 2016-07-16 13:14:44 -04:00
Mainpage.dox
Messages.sh