Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9a1f28636a83147a1869bca262371225d4c6ed40
      
https://github.com/WebKit/WebKit/commit/9a1f28636a83147a1869bca262371225d4c6ed40
  Author: Matt Woodrow <[email protected]>
  Date:   2025-07-10 (Thu, 10 Jul 2025)

  Changed paths:
    M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
    M Source/WebCore/page/Page.cpp
    M Source/WebCore/page/Page.h
    M Source/WebCore/page/SettingsBase.cpp
    M Source/WebCore/page/SettingsBase.h
    M Source/WebCore/platform/graphics/GraphicsLayer.cpp
    M Source/WebCore/platform/graphics/GraphicsLayer.h
    M Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp
    M Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h
    M Source/WebCore/platform/graphics/ca/PlatformCALayer.h
    M Source/WebCore/platform/graphics/ca/PlatformCALayer.mm
    M Source/WebCore/platform/graphics/ca/TileController.cpp
    M Source/WebCore/platform/graphics/ca/TileController.h
    M Source/WebCore/platform/graphics/ca/TileGrid.cpp
    M Source/WebCore/rendering/RenderLayerBacking.cpp
    M Source/WebKit/Shared/RemoteLayerTree/LayerProperties.h
    M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm
    M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTree.serialization.in
    M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm
    M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/GraphicsLayerCARemote.mm
    M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.h
    M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.mm
    M 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteTiledBacking.cpp
    M 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteTiledBacking.h

  Log Message:
  -----------
  [HDR] Add an option to let the system compositor apply tone mapping.
https://bugs.webkit.org/show_bug.cgi?id=295754
<rdar://155574245>

Reviewed by Simon Fraser.

Makes the tonemap mode an explicit property in LayerProperties, rather than
inferring it in RemoteLayerBackingStoreProperties.

Page makes a decision about whether to tonemap at paint time or composite time
based on the setting and available headroom, and this is used an input to the
computed tonemap mode on the layer.

* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:
* Source/WebCore/page/Page.cpp:
(WebCore::Page::updateDisplayEDRHeadroom):
* Source/WebCore/page/Page.h:
(WebCore::Page::hdrLayersRequireTonemapping const):
* Source/WebCore/page/SettingsBase.cpp:
(WebCore::SettingsBase::updateDisplayEDRHeadroom):
* Source/WebCore/page/SettingsBase.h:
* Source/WebCore/platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::setTonemappingEnabled):
* Source/WebCore/platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::tonemappingEnabled const):
* Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::setTonemappingEnabled):
(WebCore::GraphicsLayerCA::setContentsDisplayDelegate):
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
(WebCore::GraphicsLayerCA::ensureStructuralLayer):
* Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h:
* Source/WebCore/platform/graphics/ca/PlatformCALayer.h:
* Source/WebCore/platform/graphics/ca/PlatformCALayer.mm:
(WebCore::PlatformCALayer::setTonemappingEnabled):
(WebCore::PlatformCALayer::tonemappingEnabled const):
* Source/WebCore/platform/graphics/ca/TileController.cpp:
(WebCore::TileController::setTonemappingEnabled):
(WebCore::TileController::tonemappingEnabled const):
(WebCore::TileController::createTileLayer):
* Source/WebCore/platform/graphics/ca/TileController.h:
* Source/WebCore/platform/graphics/ca/TileGrid.cpp:
(WebCore::TileGrid::updateTileLayerProperties):
* Source/WebCore/rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateDrawsContent):
* Source/WebKit/Shared/RemoteLayerTree/LayerProperties.h:
* Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStoreProperties::applyBackingStoreToLayer):
* Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTree.serialization.in:
* Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm:
(WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer):
* Source/WebKit/WebProcess/WebPage/RemoteLayerTree/GraphicsLayerCARemote.mm:
(WebKit::GraphicsLayerCARemote::setLayerContentsToImageBuffer):
* Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.h:
* Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.mm:
(WebKit::PlatformCALayerRemote::setTonemappingEnabled):
(WebKit::PlatformCALayerRemote::tonemappingEnabled const):
* 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteTiledBacking.cpp:
(WebKit::PlatformCALayerRemoteTiledBacking::setTonemappingEnabled):
* 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteTiledBacking.h:

Canonical link: https://commits.webkit.org/297244@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to