commit | bd63605c0b5cbcd45dd8320143b2d511f3112995 | [log] [tgz] |
---|---|---|
author | danakj <danakj@chromium.org> | Tue Feb 06 18:28:49 2018 |
committer | Commit Bot <commit-bot@chromium.org> | Tue Feb 06 18:28:49 2018 |
tree | 6922e1e5e6b4d7a072fa53771e0b1fc3d59c4f18 | |
parent | f68908b0a84e94689e03f94980fd2c197fc50872 [diff] |
Move ownership of ResourcePool zero-copy resources to buffer provider This adds a GpuBacking object to PoolResource, which holds ownership of all the GpuMemoryBuffer-based backing objects. The ZeroCopyRasterBufferImpl has a subclass with its own specific types in it, and populates them: a) When AcquireBufferForRaster is called it creates the GpuBacking and ensures the sync token is waited on if present. b) When the RasterBuffer is destroyed, back on the compositor thread, it binds the GpuMemoryBuffer to a mailbox, and stores those onto the GpuBacking. Then ResourcePool can export the GpuBacking by reading the mailbox of it. And when the resource is destroyed, the GpuBacking cleans up the ownership of the mailboxed texture and GpuMemoryBuffer. R=vmpstr@chromium.org Bug: 730660, 738190 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel Change-Id: Iac964108e2ab767239e9968e03f82bc80d6a6e3b Reviewed-on: https://chromium-review.googlesource.com/888844 Commit-Queue: danakj <danakj@chromium.org> Reviewed-by: Sunny Sachanandani <sunnyps@chromium.org> Cr-Commit-Position: refs/heads/master@{#534726}
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 .