[server] Add damage tracking feature to SurfaceInterface

Authored by graesslin on Apr 1 2016, 6:36 AM.

Description

[server] Add damage tracking feature to SurfaceInterface

Summary:
This change introduces a damage tracking feature in SurfaceInterface.
So far the SurfaceInterface only exposes the damage compared to the
last attached buffer. But this is not always usefull for the user of
the library. E.g. if:

  • server renders
  • client damages buffer and commits
  • client damages buffer and commits
  • server wants render

In this situation the last damage information is not helpful to the
user of the library. It would need the combined damage information over
all attached buffers.

The new API combines the damage of the two commits in the example above.
The user of the library can then call resetTrackedDamage once it
processed the current damage (e.g. by updating the OpenGL texture).

Reviewers: Plasma

Subscribers: plasma-devel

Projects: Plasma

Differential Revision: https://phabricator.kde.org/D1281