commit | 3824a888dd6ed3014445573d0944508f10318b9a | [log] [tgz] |
---|---|---|
author | Klaus Weidner <klausw@chromium.org> | Fri Nov 03 06:24:57 2017 |
committer | Commit Bot <commit-bot@chromium.org> | Fri Nov 03 06:24:57 2017 |
tree | 1814b23555671825a6e7061ee033769c7b7a5dfe | |
parent | d86db3179e62391655589f67fd723baf1779e906 [diff] |
AHardwareBuffer-based GpuMemoryBuffer implementation AHardwareBuffer support is included on Android O and up. The NDK functions are included as of platform level 26, but Chromium currently doesn't use this as the target level, so we have to use dynamic loading to get the symbols at runtime. This is encapsulated in gfx::AndroidHardwareBufferCompat which makes it a bit easier to work with them across Android versions. The implementation adds a new ANDROID_HARDWARE_BUFFER subtype to the SharedMemoryHandle Android implementation in addition to the pre-existing ashmem support, including IPC transport via a SocketPair. It uses one end to write the native object using a NDK call, and the other end is a file descriptor sendable via usual IPC methods from which the receiver can fetch the object. BUG=761432 Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Change-Id: I9edfa733ffccea21dd58a3940aa96cb6955c8f09 Reviewed-on: https://chromium-review.googlesource.com/680100 Commit-Queue: Klaus Weidner <klausw@chromium.org> Reviewed-by: Daniel Cheng <dcheng@chromium.org> Reviewed-by: Mark Mentovai <mark@chromium.org> Reviewed-by: Ken Rockot <rockot@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: David Reveman <reveman@chromium.org> Cr-Commit-Position: refs/heads/master@{#513710}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .