[PATCH weston 3/3] compositor-drm: Set damage for scanout plane
Deepak Rawat
drawat at vmware.com
Thu Sep 6 00:18:17 UTC 2018
Copy the damage region to scanout drm_plane_state which will be sent to
kernel during atomic state update.
Signed-off-by: Deepak Rawat <drawat at 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
More information about the wayland-devel
mailing list