[Wayland-bugs] [Bug 727452] Wayland windows with non-trivial alpha get new content drawn over old

gtk+ (bugzilla.gnome.org) bugzilla at gnome.org
Wed Apr 2 02:39:39 PDT 2014


https://bugzilla.gnome.org/show_bug.cgi?id=727452
  gtk+ | Backend: Wayland | 3.12.x

Simon McVittie <simon.mcvittie> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #273425|0                           |1
        is obsolete|                            |
 Attachment #273427|0                           |1
        is obsolete|                            |

--- Comment #9 from Simon McVittie <simon.mcvittie at collabora.co.uk> 2014-04-02 09:39:33 UTC ---
Created an attachment (id=273458)
 View: https://bugzilla.gnome.org/attachment.cgi?id=273458
 Review: https://bugzilla.gnome.org/review?bug=727452&attachment=273458

gdk_window_impl_wayland_begin_paint_region: clear the buffer  for each frame

GtkWindowImplWayland tries to optimize by doing the Gtk drawing directly
into the same buffer it gives to Wayland, as long as Wayland is not
using that buffer right now.

Normally, this would be fine, because we clear that buffer to the
window's background pattern with gdk_window_clear_backing_region()
before painting it.

However, if you're making a fancy composited shell with semitransparent
bits, the background pattern might itself have an alpha channel. If it
does, at the moment we just paint it over the top of whatever happens
to be left in the buffer from the previous frame, which will shine
through any areas with non-trivial alpha.

---

This also works, and might be a bit nicer for performance than Attachment
#273425.

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


More information about the Wayland-bugs mailing list