Merge lp:~kdub/mir/fix-1274189 into lp:mir
Status: | Merged | ||||
---|---|---|---|---|---|
Approved by: | Alan Griffiths | ||||
Approved revision: | no longer in the source branch. | ||||
Merged at revision: | 1367 | ||||
Proposed branch: | lp:~kdub/mir/fix-1274189 | ||||
Merge into: | lp:mir | ||||
Diff against target: |
261 lines (+46/-20) 6 files modified
include/test/mir_test_doubles/mock_hwc_composer_device_1.h (+9/-1) src/platform/graphics/android/hwc_device.cpp (+4/-7) src/platform/graphics/android/hwc_device.h (+2/-3) src/platform/graphics/android/resource_factory.cpp (+3/-1) tests/unit-tests/graphics/android/test_hwc_common_device.cpp (+3/-1) tests/unit-tests/graphics/android/test_hwc_device.cpp (+25/-7) |
||||
To merge this branch: | bzr merge lp:~kdub/mir/fix-1274189 | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Ricardo Salveti (community) | Approve | ||
Gerry Boland (community) | functional | Approve | |
Daniel van Vugt | Approve | ||
PS Jenkins bot (community) | continuous-integration | Approve | |
Review via email:
|
Commit message
graphics: android: remove wait on retireFenceFd. On some platforms (specifically the 4.4-based flo and grouper), this wait was causing us to miss vsync.
fixes lp: #1274189
Description of the change
graphics: android: remove wait on retireFenceFd. On some platforms (specifically the 4.4-based flo and grouper), this wait was causing us to miss vsync.
top level summary:
retireFenceFd as described (line 296 https:/
Lastly, surfaceflinger doesn't wait for this fence for the physical display, rather it seems used to coordinate with the 'virtual' display (which mir doesn't implement yet). We still have the responsibility to close the fd, which we do in this MP.
historical note:
I think this code was put in when we weren't implementing fences correctly in the system, circa october 2013-ish. It didn't manifest itself as a problem until now because none of the drivers we were commonly running on would either 1) not wait here at all because the driver didn't set it, or 2) just wait here as opposed to waiting on the subsequent gpu render of the framebuffer.
fixes lp: #1274189
test procedure:
Since this affects display, was tested with the full stack manually to check for tears and the frame times were logged.
tested (no tears, ~16 ms frame time):
flo (android 4.4, hwc 1.2)
manta (android 4.4, hwc 1.1)
mako (android 4.4, hwc 1.2)
grouper (android 4.4, hwc 1.1)
mako (android 4.2, hwc 1.1)
manta (android 4.2, hwc 1.1)
PASSED: Continuous integration, rev:1365 jenkins. qa.ubuntu. com/job/ mir-team- mir-development -branch- ci/759/ jenkins. qa.ubuntu. com/job/ mir-android- trusty- i386-build/ 779 jenkins. qa.ubuntu. com/job/ mir-clang- trusty- amd64-build/ 776 jenkins. qa.ubuntu. com/job/ mir-mediumtests -trusty- touch/380 jenkins. qa.ubuntu. com/job/ mir-team- mir-development -branch- trusty- amd64-ci/ 489 jenkins. qa.ubuntu. com/job/ mir-team- mir-development -branch- trusty- amd64-ci/ 489/artifact/ work/output/ *zip*/output. zip jenkins. qa.ubuntu. com/job/ mir-team- mir-development -branch- trusty- armhf-ci/ 493 jenkins. qa.ubuntu. com/job/ mir-team- mir-development -branch- trusty- armhf-ci/ 493/artifact/ work/output/ *zip*/output. zip jenkins. qa.ubuntu. com/job/ mir-mediumtests -builder- trusty- armhf/381 jenkins. qa.ubuntu. com/job/ mir-mediumtests -builder- trusty- armhf/381/ artifact/ work/output/ *zip*/output. zip jenkins. qa.ubuntu. com/job/ mir-mediumtests -runner- mako/383 s-jenkins. ubuntu- ci:8080/ job/touch- flash-device/ 3544
http://
Executed test runs:
SUCCESS: 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/759/ rebuild
http://