Summary:
as different windows can have different contrast region parameters,
store color matrices per window
BUG:339237
Test Plan: logout window doesn't break panel anymore
Reviewers: #plasma, graesslin
Reviewed By: #plasma, graesslin
Subscribers: broulik, plasma-devel, kwin, #kwin
Tags: #kwin
Differential Revision: https://phabricator.kde.org/D5048
Summary:
The glCopyTex(Sub)Image calls are adjusted to take the per output
rendering into account. In addition contrast effect sets the model view
projection matrix in each call to ensure it's on the correct screen.
Blur probably needs more changes for the cached texture to work, but
it's a start.
Test Plan: Blur and Background contrast work on multi-screen wayland
Reviewers: #kwin, #plasma_on_wayland
Subscribers: plasma-devel, kwin
Tags: #plasma_on_wayland, #kwin
Differential Revision: https://phabricator.kde.org/D3101
Following the approach how it's done for X11: only create the interface
if the shader succeeded to compile and remove support again if it failed
to compile after a reconfigure.
REVIEW: 125444
This method replaces the X-KDE-ORDERING property in the Effect's desktop
files. This change is a preparation step for integrating the new Effect
Loader which doesn't read the ordering information. Thus it needs to be
provided by the Effect itself so that the EffectsHandler can properly
insert it into the chain.
Also for the built-in Effects on the long run it doesn't make much sense
to install the desktop files. And binary plugin effects will migrate to
json metadata which also doesn't have the KService::Ptr. Thus overall it
simplifies to read this information directly from the Effect.
* this effect is way cheaper than blur, don't cache it
* use its own atom
* also pass the matrix in the x property
* remove remnants of the cache
* do just a single pass
* get rid of config ui remnants
* a copy of the blur shader to become a copy of the background contrast effect
* contrastshader actually doing the light modification
* don't expand/shrink the area