Merge lp:~kdub/mir/fix-1238695 into lp:mir
Status: | Merged | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Approved by: | Kevin DuBois | ||||||||||||
Approved revision: | no longer in the source branch. | ||||||||||||
Merged at revision: | 1320 | ||||||||||||
Proposed branch: | lp:~kdub/mir/fix-1238695 | ||||||||||||
Merge into: | lp:mir | ||||||||||||
Diff against target: |
124 lines (+56/-13) 3 files modified
src/platform/graphics/android/buffer.cpp (+19/-10) src/platform/graphics/android/buffer.h (+3/-3) tests/unit-tests/graphics/android/test_buffer_tex_bind.cpp (+34/-0) |
||||||||||||
To merge this branch: | bzr merge lp:~kdub/mir/fix-1238695 | ||||||||||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
PS Jenkins bot (community) | continuous-integration | Approve | |
Gerry Boland (community) | functional | Approve | |
Andreas Pokorny (community) | Approve | ||
Alan Griffiths | Needs Fixing | ||
Alexandros Frantzis (community) | Approve | ||
Daniel van Vugt | Approve | ||
Kevin DuBois | Pending | ||
Review via email: mp+200754@code.launchpad.net |
Commit message
Fix: unity8 display flickers and stops responding on Nexus 7 grouper (LP: #1238695)
It seems the issue with the nexus 7 was that its driver had a tough time binding one EGLImage object to two different gl contexts at the same time. This is why the screenshotting thread could mess up the compositing thread and cause the flickering in the bug. If we have two sibling EGLImage objects pointing to the same underlying buffer, we can bind them as textures in both the compositing and screenshotting thread without problems.
Description of the change
It seems the issue with the nexus 7 was that its driver had a tough time binding one EGLImage object to two different gl contexts at the same time. This is why the screenshotting thread could mess up the compositing thread and cause the flickering in the bug. If we have two sibling EGLImage objects pointing to the same underlying buffer, we can bind them as textures in both the compositing and screenshotting thread without problems.
this is indeed a workaround, but its pretty palatable.
tested on nexus 4, galaxy nexus, nexus 7, and nexus 10
FAILED: Continuous integration, rev:1316 /code.launchpad .net/~kdub/ mir/fix- 1238695/ +merge/ 200754/ +edit-commit- message
No commit message was specified in the merge proposal. Click on the following link and set the commit message (if you want a jenkins rebuild you need to trigger it yourself):
https:/
http:// jenkins. qa.ubuntu. com/job/ mir-team- mir-development -branch- ci/630/ jenkins. qa.ubuntu. com/job/ mir-android- trusty- i386-build/ 583/console jenkins. qa.ubuntu. com/job/ mir-clang- trusty- amd64-build/ 579 jenkins. qa.ubuntu. com/job/ mir-mediumtests -trusty- touch/187 jenkins. qa.ubuntu. com/job/ mir-team- mir-development -branch- trusty- amd64-ci/ 356 jenkins. qa.ubuntu. com/job/ mir-team- mir-development -branch- trusty- amd64-ci/ 356/artifact/ work/output/ *zip*/output. zip jenkins. qa.ubuntu. com/job/ mir-team- mir-development -branch- trusty- armhf-ci/ 359 jenkins. qa.ubuntu. com/job/ mir-team- mir-development -branch- trusty- armhf-ci/ 359/artifact/ work/output/ *zip*/output. zip jenkins. qa.ubuntu. com/job/ mir-mediumtests -builder- trusty- armhf/187 jenkins. qa.ubuntu. com/job/ mir-mediumtests -builder- trusty- armhf/187/ artifact/ work/output/ *zip*/output. zip jenkins. qa.ubuntu. com/job/ mir-mediumtests -runner- mako/209 s-jenkins. ubuntu- ci:8080/ job/touch- flash-device/ 2804
Executed test runs:
FAILURE: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild: s-jenkins. ubuntu- ci:8080/ job/mir- team-mir- development- branch- ci/630/ rebuild
http://