Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 84a1b08a7a8fe0f12baa697dacdc369feacc43bf
https://github.com/WebKit/WebKit/commit/84a1b08a7a8fe0f12baa697dacdc369feacc43bf
Author: Pawel Lampe <[email protected]>
Date: 2024-11-20 (Wed, 20 Nov 2024)
Changed paths:
M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
M Source/WebCore/platform/graphics/texmap/TextureMapperFPSCounter.h
M Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp
M Source/WebCore/platform/graphics/texmap/TextureMapperLayer.h
M Source/WebKit/WebProcess/WebPage/AcceleratedSurface.h
M
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsScene.cpp
M
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsScene.h
M
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/ThreadedCompositor.cpp
M Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/ThreadedCompositor.h
M Source/WebKit/WebProcess/WebPage/dmabuf/AcceleratedSurfaceDMABuf.cpp
M Source/WebKit/WebProcess/WebPage/dmabuf/AcceleratedSurfaceDMABuf.h
Log Message:
-----------
[GTK][WPE] Use damaging information in the composition
https://bugs.webkit.org/show_bug.cgi?id=277337
Reviewed by Carlos Garcia Campos.
This PR adds a mechanism that leverages the damage information to reduce the
amount of painting during composition.
The idea behind above mechanism is very simple - the individual damage
information
is being tracked for every RenderTarget. Once the painting is being performed
to the
certain RenderTarget, its individual damage information is used to clip
painting to
modified rects thus reducing the amount of actual painting.
This PR also separates damage collection from painting to make the above
possible.
* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:
* Source/WebCore/platform/graphics/texmap/TextureMapperFPSCounter.h:
(WebCore::TextureMapperFPSCounter::isActive const):
* Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::collectDamage):
(WebCore::TextureMapperLayer::paintSelf):
(WebCore::TextureMapperLayer::collectDamageSelf):
(WebCore::TextureMapperLayer::collectDamageRecursive):
* Source/WebCore/platform/graphics/texmap/TextureMapperLayer.h:
* Source/WebKit/WebProcess/WebPage/AcceleratedSurface.h:
(WebKit::AcceleratedSurface::addDamage):
*
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
(WebKit::CoordinatedGraphicsScene::paintToCurrentGLContext):
*
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsScene.h:
* Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/ThreadedCompositor.cpp:
(WebKit::ThreadedCompositor::addSurfaceDamage):
(WebKit::ThreadedCompositor::renderLayerTree):
* Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/ThreadedCompositor.h:
* Source/WebKit/WebProcess/WebPage/dmabuf/AcceleratedSurfaceDMABuf.cpp:
(WebKit::AcceleratedSurfaceDMABuf::RenderTarget::addDamage):
(WebKit::AcceleratedSurfaceDMABuf::RenderTargetSHMImage::didRenderFrame):
(WebKit::AcceleratedSurfaceDMABuf::SwapChain::addDamage):
(WebKit::AcceleratedSurfaceDMABuf::addDamage):
* Source/WebKit/WebProcess/WebPage/dmabuf/AcceleratedSurfaceDMABuf.h:
Canonical link: https://commits.webkit.org/286854@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