This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/106142/

This review has been submitted with commit 33724eee626872abeb15149d22cf5f28d0d7ecef by Thomas Lübking to branch master.

- Commit


On August 23rd, 2012, 3:13 p.m., Thomas Lübking wrote:

Review request for kwin and Martin Gräßlin.
By Thomas Lübking.

Updated Aug. 23, 2012, 3:13 p.m.

Description

actually wasn't about the swapinterval (just on nvidia, where the issue was gone with the 304 driver)

The fullscreen effects require some "slide into buffer swapping" - to not make the entire thing to expensive for the simple painting the patch exports whether there's a pending flush and invokes that in the decision whether having to do some "dead" flushes (ie. trigger paint w/o actual pending)

Background:
during a fullscreen effect the m_lastDamage is always not empty (so ::paint() will flush / swap buffers ratther unconditional)
Otherwise it will be empty after the wanted patch so we can just idle but for the fullscreen effect the buffers need to be harmonized.
(The former s_pending covered that insufficiently)

Testing

Yes. Also ensured there's still idling.

Did NOT test EGL so far (but i doubt it's an issue at all - ideally it can or will idle immediately in fullscreen mode as well because there's no "legacy" back -> front copying)
Bugs: 304375

Diffs

  • kwin/composite.cpp (c65716b)
  • kwin/scene.h (3891198)
  • kwin/scene_opengl.h (de33ce4)

View Diff