Merge lp:~kdub/mir/rw-fences into lp:mir
Status: | Merged |
---|---|
Approved by: | Kevin DuBois |
Approved revision: | no longer in the source branch. |
Merged at revision: | 1713 |
Proposed branch: | lp:~kdub/mir/rw-fences |
Merge into: | lp:mir |
Prerequisite: | lp:~kdub/mir/arrange-fences-on-buffer-send |
Diff against target: |
525 lines (+127/-63) 24 files modified
include/shared/mir/graphics/android/android_native_buffer.h (+7/-4) include/shared/mir/graphics/android/native_buffer.h (+11/-2) include/test/mir_test_doubles/mock_android_native_buffer.h (+2/-2) src/client/android/android_client_buffer.cpp (+1/-1) src/platform/graphics/android/android_alloc_adaptor.cpp (+1/-1) src/platform/graphics/android/android_platform.cpp (+1/-1) src/platform/graphics/android/buffer.cpp (+1/-1) src/platform/graphics/android/fb_device.cpp (+1/-1) src/platform/graphics/android/hwc_fb_device.cpp (+1/-1) src/platform/graphics/android/hwc_layers.cpp (+1/-1) src/platform/graphics/android/internal_client_window.cpp (+1/-1) src/platform/graphics/android/interpreter_cache.cpp (+1/-1) src/shared/graphics/android/android_native_buffer.cpp (+9/-3) src/shared/graphics/android/mir_native_window.cpp (+1/-1) src/shared/testdraw/android_graphics_region_factory.cpp (+2/-1) tests/unit-tests/client/android/test_android_native_window.cpp (+1/-1) tests/unit-tests/graphics/android/CMakeLists.txt (+1/-1) tests/unit-tests/graphics/android/test_android_platform.cpp (+2/-2) tests/unit-tests/graphics/android/test_buffer.cpp (+4/-4) tests/unit-tests/graphics/android/test_buffer_tex_bind.cpp (+1/-1) tests/unit-tests/graphics/android/test_hwc_device.cpp (+6/-6) tests/unit-tests/graphics/android/test_hwc_layers.cpp (+1/-1) tests/unit-tests/graphics/android/test_interpreter_buffer_cache.cpp (+2/-2) tests/unit-tests/graphics/android/test_native_buffer.cpp (+68/-23) |
To merge this branch: | bzr merge lp:~kdub/mir/rw-fences |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
PS Jenkins bot (community) | continuous-integration | Approve | |
Alexandros Frantzis (community) | Approve | ||
Alan Griffiths | Needs Fixing | ||
Alberto Aguirre (community) | Approve | ||
Review via email: mp+223479@code.launchpad.net |
Commit message
android: designate the buffer usage when attempting to access or update the fence associated with the native buffer. This lets us skip waiting if the buffer is being reserved for reading and a second read is needed.
Specifically, if HWC has a buffer onscreen, and then needs to use that same buffer in the composition of the next frame, it needs to be able to read from the onscreen-buffer to assemble the next frame. We account for this if the buffer was an overlay in frame 1 and and overlay in frame 2, but if its overlay in frame 1, and then gl fallback in frame 2, then we need read-only access for the texture upload.
fixes: lp: #1329868
Description of the change
android: designate the buffer usage when attempting to access or update the fence associated with the native buffer. This lets us skip waiting if the buffer is being reserved for reading and a second read is needed.
Specifically, if HWC has a buffer onscreen, and then needs to use that same buffer in the composition of the next frame, it needs to be able to read from the onscreen-buffer to assemble the next frame. We account for this if the buffer was an overlay in frame 1 and and overlay in frame 2, but if its overlay in frame 1, and then gl fallback in frame 2, then we need read-only access for the texture upload.
checked for tears with full unity stack on:
mx3, nex4, nex10
fixes: lp: #1329868
FAILED: Continuous integration, rev:1700 jenkins. qa.ubuntu. com/job/ mir-team- mir-development -branch- ci/1922/ jenkins. qa.ubuntu. com/job/ mir-android- utopic- i386-build/ 595 jenkins. qa.ubuntu. com/job/ mir-clang- utopic- amd64-build/ 601 jenkins. qa.ubuntu. com/job/ mir-mediumtests -utopic- touch/594/ console jenkins. qa.ubuntu. com/job/ mir-team- mir-development -branch- utopic- amd64-ci/ 443 jenkins. qa.ubuntu. com/job/ mir-team- mir-development -branch- utopic- amd64-ci/ 443/artifact/ work/output/ *zip*/output. zip jenkins. qa.ubuntu. com/job/ mir-team- mir-development -branch- utopic- armhf-ci/ 440 jenkins. qa.ubuntu. com/job/ mir-team- mir-development -branch- utopic- armhf-ci/ 440/artifact/ work/output/ *zip*/output. zip jenkins. qa.ubuntu. com/job/ generic- mediumtests- builder- utopic- armhf/1730 jenkins. qa.ubuntu. com/job/ generic- mediumtests- builder- utopic- armhf/1730/ artifact/ work/output/ *zip*/output. zip jenkins. qa.ubuntu. com/job/ mir-mediumtests -runner- mako/1794/ console s-jenkins. ubuntu- ci:8080/ job/touch- flash-device/ 8553
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
FAILURE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
FAILURE: http://
SUCCESS: http://
Click here to trigger a rebuild: s-jenkins. ubuntu- ci:8080/ job/mir- team-mir- development- branch- ci/1922/ rebuild
http://