Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 0c499e9e1049c4d57593a538d5f0ebfb3f74a687
      
https://github.com/WebKit/WebKit/commit/0c499e9e1049c4d57593a538d5f0ebfb3f74a687
  Author: Nikolas Zimmermann <[email protected]>
  Date:   2024-02-19 (Mon, 19 Feb 2024)

  Changed paths:
    M Source/WebCore/platform/Skia.cmake
    M Source/WebCore/platform/SourcesSkia.txt
    A Source/WebCore/platform/graphics/skia/SkiaAcceleratedBufferPool.cpp
    A Source/WebCore/platform/graphics/skia/SkiaAcceleratedBufferPool.h
    M 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h
    M 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayerSkia.cpp
    M 
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp
    M 
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.h

  Log Message:
  -----------
  [Skia] Cleanup / refactor AcceleratedBufferPool
https://bugs.webkit.org/show_bug.cgi?id=269650

Reviewed by Carlos Garcia Campos.

Move AcceleratedBufferPool out of CoordinatedGraphicsLayerSkia.cpp into
Source/WebCore/platform/graphics/skia/SkiaAcceleratedBufferPool.* -
rename the class to SkiaAcceleratedBufferPool.

AcceleratedBufferPools destructor contains code to cleanup the GL
resources - this was never called as the class was managed as a
singleton. SkiaAcceleratedBufferPool is instead owned by
CopositingCoordinator. It allocates the pool if GPU rendering is used
and properly destructs it in the invalidate() method, which is called
during LayerTreeHost destruction. This ensures that we don't leave
around unclaimed resources.

* Source/WebCore/platform/Skia.cmake:
* Source/WebCore/platform/SourcesSkia.txt:
* Source/WebCore/platform/graphics/skia/SkiaAcceleratedBufferPool.cpp: Added.
(WebCore::SkiaAcceleratedBufferPool::SkiaAcceleratedBufferPool):
(WebCore::SkiaAcceleratedBufferPool::~SkiaAcceleratedBufferPool):
(WebCore::SkiaAcceleratedBufferPool::acquireBuffer):
(WebCore::SkiaAcceleratedBufferPool::createAcceleratedBuffer):
(WebCore::SkiaAcceleratedBufferPool::scheduleReleaseUnusedBuffers):
(WebCore::SkiaAcceleratedBufferPool::releaseUnusedBuffersTimerFired):
* Source/WebCore/platform/graphics/skia/SkiaAcceleratedBufferPool.h: Added.
(WebCore::SkiaAcceleratedBufferPool::Entry::Entry):
(WebCore::SkiaAcceleratedBufferPool::Entry::markIsInUse):
(WebCore::SkiaAcceleratedBufferPool::Entry::canBeReleased const):
* 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
* 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayerSkia.cpp:
(WebCore::CoordinatedGraphicsLayer::paintTile):
(WebCore::AcceleratedBufferPool::singleton): Deleted.
(WebCore::AcceleratedBufferPool::AcceleratedBufferPool): Deleted.
(WebCore::AcceleratedBufferPool::~AcceleratedBufferPool): Deleted.
(WebCore::AcceleratedBufferPool::acquireBuffer): Deleted.
(WebCore::AcceleratedBufferPool::Entry::Entry): Deleted.
(WebCore::AcceleratedBufferPool::Entry::markIsInUse): Deleted.
(WebCore::AcceleratedBufferPool::Entry::canBeReleased const): Deleted.
(WebCore::AcceleratedBufferPool::createAcceleratedBuffer): Deleted.
(WebCore::AcceleratedBufferPool::scheduleReleaseUnusedBuffers): Deleted.
(WebCore::AcceleratedBufferPool::releaseUnusedBuffersTimerFired): Deleted.
* 
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp:
(WebKit::skiaForceUseCpuRendering):
(WebKit::CompositingCoordinator::CompositingCoordinator):
(WebKit::CompositingCoordinator::invalidate):
* Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.h:

Canonical link: https://commits.webkit.org/274990@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