On Sun, 11 Mar 2012 19:48:43 -0500 Rob Clark <[email protected]> wrote:
> From: Rob Clark <[email protected]> > > --- > src/compositor-drm.c | 9 ++++----- > 1 files changed, 4 insertions(+), 5 deletions(-) > > diff --git a/src/compositor-drm.c b/src/compositor-drm.c > index 500ec15..cf9a937 100644 > --- a/src/compositor-drm.c > +++ b/src/compositor-drm.c > @@ -538,13 +538,12 @@ drm_output_prepare_overlay_surface(struct weston_output > *output_base, > &output_base->region); > pixman_region32_translate(&src_rect, -es->geometry.x, -es->geometry.y); > box = pixman_region32_extents(&src_rect); > - s->src_x = box->x1; > - s->src_y = box->y1; > - s->src_w = box->x2 - box->x1; > - s->src_h = box->y2 - box->y1; > + s->src_x = box->x1 << 16; > + s->src_y = box->y1 << 16; > + s->src_w = (box->x2 - box->x1) << 16; > + s->src_h = (box->y2 - box->y1) << 16; > pixman_region32_fini(&src_rect); > > - > wl_list_insert(es->buffer->resource.destroy_listener_list.prev, > &s->pending_destroy_listener.link); > return 0; This is correct, but why hasn't testing shown this to be broken? We've tested windows with a nonzero width & height, and also partially offscreen windows, and they worked... Somewhere must be ignoring the shifts, but it looks like we honor them in i915... ah no it looks like we don't treat src_w/src_h that way, just x & y. Guess we should fix the kernel driver before we have hardware that actually supports alpha so this will work nicely! -- Jesse Barnes, Intel Open Source Technology Center
signature.asc
Description: PGP signature
_______________________________________________ wayland-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/wayland-devel
