| commit | 1b51cdbc6c070658dd23a71c8446dc366d002452 | [log] [tgz] |
|---|---|---|
| author | Saifuddin Hitawala <hitawala@chromium.org> | Tue Sep 13 00:44:07 2022 |
| committer | Chromium LUCI CQ <chromium-scoped@luci-project-accounts.iam.gserviceaccount.com> | Tue Sep 13 00:44:07 2022 |
| tree | 270c327b92695b633682d0b4ae6834748aef6f5b | |
| parent | 5921ff7589236cbc0539f0ccfbf2b9256be18f9a [diff] |
Reland: OzoneImageBacking - Return early if cannot BeginRead/Write Changes from Original CL: DrawingBuffer::CreateColorBuffer creates a shared image passing SHARED_IMAGE_USAGE_CONCURRENT_READ_WRITE usage if low latency is enabled. This flag was not enabled properly by client as the support was added recently for OzoneBacking to ChromeOS and would work earlier with GLImageBacking. This change sets the low latency enabled flag based on the desynchronized flag being passed. Original CL description: When OzoneImageBacking::BeginAccess is called, if read/write is already in progress there's an early return from the function. In such cases, we should return early from calling functions to avoid anything unexpected. Recently, there was a bug b/243039477 where DCHECK_GT(reads_on progress_, 0u) crashes for a debug build. This shouldn't happen unless a client was calling Begin/EndAccess out of order or some usages were not set properly for concurrent access. This CL fixes for the early return suspecting the cause to be elsewhere in client. Test: Tested on ChromeOS amd64, kevin CQ bots Bug: 1359404, 1359118, b/243039477 Change-Id: I990c19cd9bb73a4a578008b812e791c00d1816c5 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3876745 Reviewed-by: Vasiliy Telezhnikov <vasilyt@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Saifuddin Hitawala <hitawala@chromium.org> Cr-Commit-Position: refs/heads/main@{#1046143}
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.