[PULL] damage dealing rework

Pekka Paalanen ppaalanen at gmail.com
Mon Feb 13 03:35:11 PST 2012

On Fri, 10 Feb 2012 17:21:23 +0200
Pekka Paalanen <ppaalanen at gmail.com> wrote:

> Hi Kristian,
> here is most of what we talked about the other day, about moving damage
> calls into weston_surface_update_transform(). I also took Tiago's "misc
> cleanup" patch set, since it needed rebasing after these changes.
> I haven't tested this much, so now it's just an RFC, but you could also
> pull it.
> The major point of this patch series is that it fixes the
> surface transformations vs. damage handling. Previously only
> weston_compositor_configure() got that right, and all transformations
> worked by luck or by overkill.

Hi Kristian,

here's the same patch set, with new patches. I added round-offs,
removed some redundant code, and as last added
weston_surface_set_position() helper. I'm not sure the helper really
helps, but you can decide that. The surface resize case was actually
less used, we have it in two places, map() and configure() in shell.

Tested a bit better, also a quick Weston run through Valgrind.

The following changes since commit 6f82cf5dc5366fd903a1c04218bb910b1c0c3950:

  configure: Fix build on debian by avoiding bashisms in the test command. (2012-02-09 14:17:54 -0500)

are available in the git repository at:
  git://git.collabora.co.uk/git/user/pq/wayland-demos.git damage-fixes2

Pekka Paalanen (16):
      shell: remove excessive damage from rotating
      compositor: split weston_surface_damage_below()
      compositor: split weston_surface_update_transform()
      compositor: move surface_to_global_float() definition
      compositor: use floats in computing bounding box
      compositor: simplify weston_surface_damage_rectangle()
      compositor: let update_transform deal damage
      compositor: clarify update_transform vs. repaint
      compositor: move opaque tracking into transform
      compositor: move output assignment to update_transform
      shell: replace identity calls to weston_surface_configure()
      compositor: round off fractions
      compositor: remove redundant cursor damage calls
      shell: do not apply damage on window type set
      shell: remove two redundant statements from map()
      compositor, shell: add and use weston_surface_set_position()

Tiago Vignatti (5):
      window: explicitly set TYPE_TOPLEVEL for new windows
      window: simplify a bit widget_set_size and widget_set_allocation
      clients: fix spelling
      shell: remove duplicated code
      compositor: make functions static

 clients/cairo-util.c |   16 ++--
 clients/gears.c      |    2 +-
 clients/window.c     |    6 +-
 src/compositor.c     |  274 ++++++++++++++++++++++++++++----------------------
 src/compositor.h     |   20 +---
 src/shell.c          |   99 ++++++-------------
 src/tablet-shell.c   |   19 +---
 7 files changed, 208 insertions(+), 228 deletions(-)


More information about the wayland-devel mailing list