<html>
<head>
<base href="https://bugzilla.gnome.org/" />
</head>
<body><span class="vcard"><a href="page.cgi?id=describeuser.html&login=ebassi%40gmail.com" title="Emmanuele Bassi (:ebassi) <ebassi@gmail.com>"> <span class="fn">Emmanuele Bassi (:ebassi)</span></a>
</span> changed
<a class="bz_bug_link
bz_status_NEW "
title="NEW - [wayland] input shape and opaque region not applied without begin_paint()/end_paint()"
href="https://bugzilla.gnome.org/show_bug.cgi?id=774534">bug 774534</a>
<br>
<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>What</th>
<th>Removed</th>
<th>Added</th>
</tr>
<tr>
<td style="text-align:right;">CC</td>
<td>
</td>
<td>ebassi@gmail.com
</td>
</tr></table>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - [wayland] input shape and opaque region not applied without begin_paint()/end_paint()"
href="https://bugzilla.gnome.org/show_bug.cgi?id=774534#c6">Comment # 6</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - [wayland] input shape and opaque region not applied without begin_paint()/end_paint()"
href="https://bugzilla.gnome.org/show_bug.cgi?id=774534">bug 774534</a>
from <span class="vcard"><a href="page.cgi?id=describeuser.html&login=ebassi%40gmail.com" title="Emmanuele Bassi (:ebassi) <ebassi@gmail.com>"> <span class="fn">Emmanuele Bassi (:ebassi)</span></a>
</span></b>
<pre>(In reply to Olivier Fourdan from <a href="show_bug.cgi?id=774534#c4">comment #4</a>)
<span class="quote">> (In reply to Matthias Clasen from <a href="show_bug.cgi?id=774534#c3">comment #3</a>)
> > I know there was irc discussion of this issue. What was the outcome ?
>
> Emmanuele pointed out we want people to use begin_paint()/end_paint(), but
> Clutter doesn't and this is precisely for clutter and its subsurface on
> Wayland.</span >
Indeed, Clutter is "special" in that it assumes complete control over the
windowing system surface.
The main issue is that begin_draw_frame()/end_draw_frame() redirect rendering
to a Pixmap on X11, which is not a valid target for a GLX context, since we
cannot call glXSwapBuffers() on that intermediate buffer; for Wayland it's less
of a problem because the target is still going to be an EGL surface, and it's
assumed that all rendering is client-side. It may be interesting to just add
the begin_draw_frame()/end_draw_frame() calls when using the GDK backend on
Wayland, and see if that breaks everything or not.
The only other option would be to port Cogl and Clutter to use GdkGLContext,
and do their rendering on a separate FBO, but it would be a massive rework of
their internals, and it's something I'm not going to commit myself doing —
especially since applications are porting away from the whole Clutter API.
The path of least resistance is to update the input and opaque regions
immediately after changing them, but I'm not familiar enough with Wayland to
determine whether or not it's a good approach.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>