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 optimize string operations 2015-11-05 14:14:06 +00:00
anidata_p.h use a global static for animation ids 2016-03-23 12:03:31 +01:00
CMakeLists.txt Introduce an EffectsHandler::animationsSupported -> bool 2016-08-15 17:38:33 +02:00
kwinanimationeffect.cpp use a global static for animation ids 2016-03-23 12:03:31 +01:00
kwinanimationeffect.h allow to retarget animations 2016-02-16 13:59:22 +01:00
kwinconfig.h.cmake Bind building of glx support on whether epoxy has a glx header 2015-11-03 09:29:31 +01:00
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 [libkwinglutils] Cleanup Shader API: removal of ShaderType 2016-01-26 09:42:49 +01:00
kwinglcolorcorrection.h
kwinglcolorcorrection_p.h Remove most calls to checkGLError() 2014-11-25 21:57:57 +01:00
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 [kwinglutils] Don't setup old shader API for rendering a texture 2016-01-25 14:11:54 +01:00
kwingltexture.h [libkwineffects] Fix includes in kwingltexture.h 2016-08-08 15:46:25 +02:00
kwingltexture_p.h Check GL version and/or extension for using texture format GL_R8 2015-02-18 09:09:50 +01:00
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 Don't query for GL_CONTEXT_FLAGS if not at least OpenGL 3.0 2015-11-19 11:20:33 +01:00
kwinglutils_funcs.h Revert "Handle conflicts between epoxy and manually resolved function pointers" 2015-11-17 14:58:59 +01:00
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