[x11] Name client pixmap instead of frame pixmap
ClosedPublic

Authored by zzag on Nov 29 2019, 11:27 AM.

Details

Summary

Since KDE 4.2 - 4.3 times, KWin doesn't paint window decorations on real
X11 windows, except when compositing is turned off. This leaves us with
a problem. The actual client contents is inside a larger texture with no
useful pixel data around it. This and decoration texture bleeding are
the main factors that contribute to 1px gap between the server-side
decoration and client contents with effects such as wobbly windows, and
zoom.

Another problem with naming frame pixmap instead of client pixmap is
that it doesn't quite go along with wayland. It only makes more difficult
to abstract window quad generation in the scene.

Since we don't actually need the frame window when compositing is on,
there is nothing that holds us from redirecting client windows instead
of frame windows. This will help us to fix the texture bleeding issue
and also help us with the ongoing redesign of the scene.

Test Plan

X11 clients are still composited.

Diff Detail

Repository
R108 KWin
Lint
Lint OK
Unit
No Unit Test Coverage
Build Status
Buildable 19379
Build 19397: arc lint + arc unit
zzag created this revision.Nov 29 2019, 11:27 AM
Restricted Application added a project: KWin. · View Herald TranscriptNov 29 2019, 11:27 AM
Restricted Application added a subscriber: kwin. · View Herald Transcript
zzag requested review of this revision.Nov 29 2019, 11:27 AM
davidedmundson added inline comments.
geometry.cpp
1984–1985

can you talk me through this change?

zzag added inline comments.Nov 29 2019, 5:32 PM
geometry.cpp
1984–1985

We need to reconfigure the frame window if its size gets changed. Previously, the buffer geometry and the geometry of the frame window were the same thing. Now, they are not.

I'll update this patch to make geometry handling less confusing.

zzag updated this revision to Diff 70582.Nov 29 2019, 5:46 PM

Update

zzag updated this revision to Diff 70612.Nov 30 2019, 12:28 PM

Sneaky comment update

zzag updated this revision to Diff 70730.Dec 2 2019, 9:35 AM

Adjust shape

davidedmundson accepted this revision.Dec 2 2019, 12:59 PM
This revision is now accepted and ready to land.Dec 2 2019, 12:59 PM
This revision was automatically updated to reflect the committed changes.