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

Reply via email to