Summary: | Incorrect surface rendering in fullscreen mode when exposay is activated | ||
---|---|---|---|
Product: | Wayland | Reporter: | Anu Reddy <anasuyax.r.nannuri> |
Component: | weston | Assignee: | Wayland bug list <wayland-bugs> |
Status: | VERIFIED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | medium | CC: | pochu27 |
Version: | unspecified | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: | exposay_fullscreen |
Description
Anu Reddy
2014-01-13 22:44:36 UTC
Created attachment 92005 [details]
exposay_fullscreen
I can reproduce this on the drm backend, but on x11 it works just fine. There's no corruption when running on the drm backend with the pixman renderer either. So it only seems to happen on the drm backend with the egl renderer. Some more hints: launch weston-terminal, fullscreen it, type weston-terminal and hit enter, press mod goes to exposay with a black background (and screen corruption in the drm compositor), but launch weston-terminal, fullscreen it, type weston-terminal and hit enter, press mod+tab twice, press mod goes to exposay with a normal background (and no screen corruption) This seems related to the fullscreen black views, though I haven't figured out why it happens in the first case but not in the second yet. Commenting here so nobody duplicates work... I have a fix for this but I've found a few more somewhat related bugs and I'm trying to find a solution that suites every problem. commit 9e7c7598aa44a9caaa5ebd525426623e8e86880e Author: Emilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk> Date: Thu Jan 30 14:01:10 2014 +0100 desktop-shell: Properly handle lowered fullscreen surfaces lower_fullscreen_surface() was removing fullscreen surfaces from the fullscreen layer and inserting them in the normal workspace layer. However, those fullscreen surfaces were never put back in the fullscreen layer, causing bugs such as unrelated surfaces being drawn between a fullscreen surface and its black view. Change the lower_fullscreen_surface() logic so that it lowers fullscreen surfaces to the workspace layer *and* hides the black views. Make this reversible by re-configuring the lowered fullscreen surface: when it is re-configured, the black view will be shown again and the surface will be restacked in the fullscreen layer. https://bugs.freedesktop.org/show_bug.cgi?id=73575 https://bugs.freedesktop.org/show_bug.cgi?id=74221 https://bugs.freedesktop.org/show_bug.cgi?id=74222 |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.