[PATCH weston] xwm: Fix opaque region system.

Daniel Stone daniel at fooishbar.org
Fri Nov 23 08:56:25 PST 2012


Hi Pekka,


On 23 November 2012 18:35, Pekka Paalanen <ppaalanen at gmail.com> wrote:

> \Weston_surface:opaque is referenced only in the transform_disable()
> path, because we never bothered to write an algorithm for the
> transform_enable() path. A pixman region deals with axis-aligned
> rectangles, and the conversion from an arbitrary rectangle to an
> approximating set of axis-aligned rectangles is not trivial nor
> unique. In the transform enabled case, we just imagine that nothing is
> opaque, and compute repaint regions accordingly. The only downside is
> that we may repaint more than absolutely necessary. It should not cause
> misrendering, though.
>

It does cause misrendering with XWayland though, as we often have an
A8R8G8B8 frame window enclosing an X8R8G8B8 content window.  While the
frame has a proper alpha channel, assuming the content window has a valid
alpha channel causes serious misrendering.  So in this case, it's not just
an optimisation, but a necessity.

Cheers,
Daniel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/wayland-devel/attachments/20121124/e2f3aef8/attachment.html>


More information about the wayland-devel mailing list