Copy the damage region to scanout drm_plane_state which will be sent to kernel during atomic state update.
Signed-off-by: Deepak Rawat <dra...@vmware.com> --- libweston/compositor-drm.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/libweston/compositor-drm.c b/libweston/compositor-drm.c index 30f6fce9..e2ee35eb 100644 --- a/libweston/compositor-drm.c +++ b/libweston/compositor-drm.c @@ -2111,6 +2111,21 @@ drm_output_render(struct drm_output_state *state, pixman_region32_t *damage) scanout_state->dest_w = scanout_state->src_w >> 16; scanout_state->dest_h = scanout_state->src_h >> 16; + pixman_region32_copy(&scanout_state->damage, damage); + if (output->base.zoom.active) { + weston_matrix_transform_region(&scanout_state->damage, + &output->base.matrix, + &scanout_state->damage); + } else { + pixman_region32_translate(&scanout_state->damage, + -output->base.x, -output->base.y); + weston_transformed_region(output->base.width, + output->base.height, + output->base.transform, + output->base.current_scale, + &scanout_state->damage, + &scanout_state->damage); + } pixman_region32_subtract(&c->primary_plane.damage, &c->primary_plane.damage, damage); -- 2.17.1 _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel