commit | 8776b325f2b740c7061b34ea9a813102aeccc9ce | [log] [tgz] |
---|---|---|
author | Colin Blundell <blundell@chromium.org> | Mon Dec 18 12:57:18 2023 |
committer | Chromium LUCI CQ <chromium-scoped@luci-project-accounts.iam.gserviceaccount.com> | Mon Dec 18 12:57:18 2023 |
tree | 60dc2c6367195865717f4911797fc6a7a61c6906 | |
parent | cb8cccc2bda72585b5d6a2946789d0dc80ad02c4 [diff] |
[Blink] Convert DrawingBuffer to MappableSharedImage This CL converts DrawingBuffer from using GpuMemoryBuffer to using MappableSharedImage. The conversion is straightforward: * Currently DrawingBuffer creates a GMB and then immediately creates an SI from the GMB's handle. * We instead create an SI via the CreateSI() path that causes a backing GMBHandle to be created internally. * Where the code previously checked for the GMB having been created, we now track a bool explicitly for whether the MapppableSI was created. * We remove ColorBuffer's keeping the GMB alive for its lifetime. ColorBuffer already keeps the SI alive for its lifetime (it's put into `back_buffer_mailbox`, which is passed to the created ColorBuffer and on which that ColorBuffer calls DestroySI() at the same time as it resets() the gmb) * We remove the check for Platform having a GMBManager from ShouldUseChromiumImage(). This check only served to ensure that the code didn't try to create a GMB from a null GMBManager. MappableSI doesn't use Platform's GMBManager to create GMBs internally. In the current structure of the code any failure to create MappableSI will flow down to the non-ShouldUseChromiumImage() case, as the code is currently doing if there is no GMBManager. Bug: 1431497 Change-Id: If15f199ee6d63176e70625c99b567c84fffcf125 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5119550 Commit-Queue: Colin Blundell <blundell@chromium.org> Reviewed-by: Vasiliy Telezhnikov <vasilyt@chromium.org> Reviewed-by: Kentaro Hara <haraken@chromium.org> Cr-Commit-Position: refs/heads/main@{#1238562}
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.
To check out the source code locally, don't use git clone
! Instead, follow the instructions on how to get the code.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .
For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.
If you found a bug, please file it at https://crbug.com/new.