graesslin added a comment. Restricted Application edited projects, added KWin; removed Plasma.
In https://phabricator.kde.org/D9638#196026, @zzag wrote: > In https://phabricator.kde.org/D9638#195979, @graesslin wrote: > > > What you could try is using the PaintClipper to perform clipping. But I don't know whether it's still fully functional on OpenGL. > > > So, adding > > PaintClipper pc(QRegion( > QPoint(0, 0), > effects->virtualScreenSize() > )); > > > in `SlideEffect::paintScreen` would be enough? Doesn't KWin do something like that somewhere else? I've just realized, maybe, this effect doesn't need to clip... I just looked into the source (relevant method Scene::paintScreen). For PAINT_SCREEN_WITH_TRANSFORMED_WINDOWS the region is set to infinite region. if (*mask & (PAINT_SCREEN_TRANSFORMED | PAINT_SCREEN_WITH_TRANSFORMED_WINDOWS)) { // Region painting is not possible with transformations, // because screen damage doesn't match transformed positions. *mask &= ~PAINT_SCREEN_REGION; region = infiniteRegion(); The region in this method is later on used for clipping. Given that you need that paintclipper fragment. REPOSITORY R108 KWin REVISION DETAIL https://phabricator.kde.org/D9638 To: zzag, #vdg, #kwin, #plasma Cc: mart, graesslin, abetts, ngraham, plasma-devel, kwin, iodelay, bwowk, ZrenBot, progwolff, lesliezhai, ali-mohamed, hardening, jensreuterberg, sebas, apol