[Wayland-bugs] [Bug 761733] New: wayland: drawing artifacts as a result of incorrect use of shm_surface busy state
gtk+ (GNOME Bugzilla)
bugzilla at gnome.org
Mon Feb 8 21:56:44 UTC 2016
https://bugzilla.gnome.org/show_bug.cgi?id=761733
Bug ID: 761733
Summary: wayland: drawing artifacts as a result of incorrect
use of shm_surface busy state
Classification: Platform
Product: gtk+
Version: unspecified
OS: Linux
Status: NEW
Severity: normal
Priority: Normal
Component: Backend: Wayland
Assignee: gtk-bugs at gtk.org
Reporter: reveman at chromium.org
QA Contact: gtk-bugs at gtk.org
CC: rob at robster.org.uk, wayland-bugs at lists.freedesktop.org
GNOME version: ---
Gdk's wayland backend attempts to use the "busy" state of the shm_surface to
determine if a blit is needed or if the buffer can be updated directly. This is
broken as by committing a buffer that is currently busy you lose track of when
the buffer is actually released.
Example:
1. gdk creates buffer [gdk-state:not-busy][actual-state:not-busy]
2. gdk updates buffer WITHOUT blit
3. gdk commits and marks buffer as busy [gdk-state:busy][actual-state:busy]
4. compositor is done with buffer and sends a release event to gdk
[gdk-state:busy][actual-state:not-busy]
5. gdk updates buffer WITH blit as it's still seen as busy before the release
event as been processed
6. gdk commits and marks buffer as busy [gdk-state:busy][actual-state:busy]
7. gdk receives/processes the release event from the previous commit
[gdk-state:not-busy][actual-state:busy] (BAD)
8. gdk updates buffer WITHOUT blit as from gdk's pov it's not busy (BAD)
This can result in drawing artifacts as the compositor might use the buffer at
the same time as gdk is updating it.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/wayland-bugs/attachments/20160208/e269a2be/attachment.html>
More information about the wayland-bugs
mailing list