[PATCH weston 00/11] implement damage_buffer
Derek Foreman
derekf at osg.samsung.com
Wed Nov 18 14:32:23 PST 2015
As usual I've included random NOPwork in the vicinity of the
important changes.
It was convenient to have a way to transform a region with a matrix
so I cherry-picked Jason Ekstrand's patch to do so out of my transform
series from over a year ago. This changes pixman zooming, which is
utterly broken now and works properly (if slowly) after the patch.
If that's a problem I can keep the function and stop using it in
the pixman renderer, I just didn't want to change the patch.
There should be no problem with interaction between damage and
damage_buffer. damage_buffer just converts its damage into
surface co-ordinates at commit time. The implementation came
out fairly clean so I removed warnings about mixing the two
from the wayland proto xml.
I didn't bother making toytoolkit prefer damage_buffer if
available (though I did a hack job of it for testing
weston-subsurfaces, not included here). simple-damage has
been updated with a --use-damage-buffer switch for testing.
There's a bit of a bug fix in here too - currently if we post
damage with negative width or height those values are passed
right on to pixman which whines in the log.
Thanks for looking,
Derek
Derek Foreman (10):
smoke: Don't post extra damage
toytoolkit: Remove window_damage()
compositor: Change "touched" to bool
gl-renderer: Use a bool for needs_full_upload
gl-renderer: Make texture_used a bool instead of an int
compositor: Move weston_matrix_transform_region to compositor.c and
export it
compositor: ignore surface_damage with negative height or width
compositor: Add buffer_damage
simple-damage: Offset drawing co-ordinates not buffer start
simple-damage: Add --use-buffer-damage flag
Jason Ekstrand (1):
pixman-renderer: Use output->matrix for region transformations and
enable output zoom
clients/simple-damage.c | 120 ++++++++++++++++++++++++++-------------
clients/smoke.c | 2 -
clients/window.c | 7 ---
clients/window.h | 4 --
src/compositor.c | 148 ++++++++++++++++++++++++++++++++++++++++++------
src/compositor.h | 10 +++-
src/gl-renderer.c | 12 ++--
src/pixman-renderer.c | 19 +++----
src/rpi-renderer.c | 4 +-
9 files changed, 237 insertions(+), 89 deletions(-)
--
2.6.2
More information about the wayland-devel
mailing list