Set scale on glScissor calls
ClosedPublic

Authored by davidedmundson on Oct 26 2017, 8:37 AM.

Details

Reviewers
None
Group Reviewers
KWin
Commits
R108:69b2c2fceaba: Set scale on glScissor calls
Summary

glScissor works on window co-ordinates. i.e not scaled by the viewport
We need to multiply by the scale there.

This fixes a minor visual glitch in animations when using hardware
clipping.

Test Plan

Hardcoded my minimise animation to be really slow.
Now every frame looks perfect

Diff Detail

Repository
R108 KWin
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
davidedmundson created this revision.Oct 26 2017, 8:37 AM
Restricted Application added a project: KWin. · View Herald TranscriptOct 26 2017, 8:37 AM
Restricted Application added a subscriber: kwin. · View Herald Transcript

like in D8485 and D8479 it is wrong calculated for multi screens not aligned to the top.

libkwineffects/kwinglutils.cpp
2127–2130

+ s_virtualScreenGeometry.y()

2143

+ s_virtualScreenGeometry.y()

davidedmundson planned changes to this revision.Oct 26 2017, 12:02 PM

Heh, even though this is fixing something totally different, you're absolutely right.

I should probably do this as two patches, so that I can get that one into 5.11.

Rebase on the other patch.
Split as this is targetting master as it has new libkwineffects API.

graesslin added inline comments.
libkwineffects/kwinglutils.h
783

Just for the record: if you do need to extend the API in a minor version: go for it. No objections from my side and we did it in the past.

Just for the record: if you do need to extend the API in a minor version: go for it. No objections from my side and we did it in the past.

In that case I'll push this in 5.11 too so that we don't have code that isn't being tested in stable.

This revision was automatically updated to reflect the committed changes.