commit | 0d1b134e030842b994387c422eded32d9c4e928b | [log] [tgz] |
---|---|---|
author | Christopher Cameron <ccameron@chromium.org> | Mon Apr 08 19:40:10 2024 |
committer | Chromium LUCI CQ <chromium-scoped@luci-project-accounts.iam.gserviceaccount.com> | Mon Apr 08 19:40:10 2024 |
tree | f4fc7adbf1e495620fc63d0c4b083573eb199f62 | |
parent | 57f2d3610fec942345b40dc47c35a9a105ca80ce [diff] |
cc/viz: Draw less often during HDR transitions The cc::Layer::RequiresSetNeedsDisplayOnHdrHeadroomChange function returns true if a change in HDR headroom will require that a layer be re-drawn. This affects only macOS, where HDR headroom will rapidly fluctuate, and it is important to avoid unnecessary re-draws. This was only implemented for cc::PictureLayer, and a TODO was left behind for cc::TextureLayer. Implement the function for cc::TextureLayer, and add tests. Rename gfx::DisplayColorSpaces::EqualExceptForHdrParameters to EqualExceptForHdrHeadroom, and make the function return false if the SDR white level changes (since that's a very different problem, at least for now). Also change ui::Compositor::SetDisplayColorSpaces to not force a redundant re-draw when only the HDR headroom changes (headroom-only changes will not force buffer reallocation). This significantly reduces the amount of work that will be done during HDR headroom transitions, although further reduction is also possible. Bug: 329479347 Change-Id: Ife8919d803fc10891ffa0ecfd26f75519ca4c8e2 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5419373 Reviewed-by: Sunny Sachanandani <sunnyps@chromium.org> Commit-Queue: ccameron chromium <ccameron@chromium.org> Cr-Commit-Position: refs/heads/main@{#1284037}
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.