Summary: | wayland/weston EGL/GLESv2 client corruption/flicker on r600 mesa-10.x | ||
---|---|---|---|
Product: | Mesa | Reporter: | emiettin |
Component: | EGL/Wayland | Assignee: | Wayland bug list <wayland-bugs> |
Status: | RESOLVED FIXED | QA Contact: | mesa-dev |
Severity: | major | ||
Priority: | medium | ||
Version: | git | ||
Hardware: | x86-64 (AMD64) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: | patch |
Description
emiettin
2013-12-19 21:00:01 UTC
Can you bisect? *** Bug 72890 has been marked as a duplicate of this bug. *** I had the the same issue and I bisected it to this commit http://cgit.freedesktop.org/mesa/mesa/commit/?h=10.0&id=e64633e8c3a5498998a45ab721bf80edca101cf5 (r600g,radeonsi: share r600_texture.c) As far as I can tell that commit changed the default tiling mode from LINEAR_ALIGNED to 2D. That change seems to cause this issue, because when I change the last return in r600_choose_tiling from: return RADEON_SURF_MODE_2D; to return RADEON_SURF_MODE_LINEAR_ALIGNED; It works correctly. I suspect the problem is that fast colour clears are not resolved during buffer swaps on Wayland (linear buffers cannot use fast clears, which is why your r600_choose_tiling change works around the problem) and that something like commit 6349b3235cc07d396325863ece9ca6261daf8e77 ('st/egl: flush resources before presentation') needs to be done in src/gallium/state_trackers/egl/wayland/ as well. Created attachment 91188 [details] [review] patch Yep, that seems to be the issue. The attached patch fixes the issue for me, but I'm not familiar with that code so I have no idea if this is the proper fix. Looks like a good start at least. Please submit it to the mesa-dev / wayland-devel mailing list(s) for review. commit c156d245258842c41d1ffac06a08ee7eeb45b33f Author: Martin Andersson <g02maran@gmail.com> Date: Thu Dec 26 10:33:28 2013 +0100 st/egl: Flush resources before presentation |
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.