Hi Pekka,<div class="gmail_extra"><br><br><div class="gmail_quote">On 23 November 2012 18:35, Pekka Paalanen <span dir="ltr"><<a href="mailto:ppaalanen@gmail.com" target="_blank">ppaalanen@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">\<span style="color:rgb(34,34,34)">Weston_surface:opaque is referenced only in the transform_disable()</span><br>
</div>
path, because we never bothered to write an algorithm for the<br>
transform_enable() path. A pixman region deals with axis-aligned<br>
rectangles, and the conversion from an arbitrary rectangle to an<br>
approximating set of axis-aligned rectangles is not trivial nor<br>
unique. In the transform enabled case, we just imagine that nothing is<br>
opaque, and compute repaint regions accordingly. The only downside is<br>
that we may repaint more than absolutely necessary. It should not cause<br>
misrendering, though.<br></blockquote><div><br></div><div>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.</div>
<div><br></div><div>Cheers,</div><div>Daniel</div></div></div>