Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 18abb7fe7acbbae52060ef6a9c14fbe123de86f1
      
https://github.com/WebKit/WebKit/commit/18abb7fe7acbbae52060ef6a9c14fbe123de86f1
  Author: Carlos Garcia Campos <[email protected]>
  Date:   2026-03-03 (Tue, 03 Mar 2026)

  Changed paths:
    M Source/WebCore/platform/graphics/skia/SkiaPaintingEngine.cpp
    M Source/WebCore/platform/graphics/skia/SkiaPaintingEngine.h
    M Source/WebCore/platform/graphics/texmap/BitmapTexture.cpp
    M Source/WebCore/platform/graphics/texmap/BitmapTexture.h
    M Source/WebCore/platform/graphics/texmap/BitmapTexturePool.cpp
    M Source/WebCore/platform/graphics/texmap/BitmapTexturePool.h
    M Source/WebCore/platform/graphics/texmap/TextureMapper.cpp
    M Source/WebCore/platform/graphics/texmap/TextureMapper.h
    M Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp
    M 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedBackingStore.cpp
    M 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedBackingStore.h
    M 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedBackingStoreTile.cpp
    M 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedBackingStoreTile.h
    M 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayer.cpp
    M 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayer.h
    M 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferDMABuf.cpp
    M 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferDMABuf.h
    M 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferExternalOES.cpp
    M 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferNativeImage.cpp
    M 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferNativeImage.h
    M 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferVideo.cpp
    M 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferYUV.cpp
    M Source/WebKit/GPUProcess/graphics/wc/WCScene.cpp
    M 
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/ThreadedCompositor.cpp
    M 
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/ThreadedCompositorPlayStation.cpp

  Log Message:
  -----------
  [TextureMapper] Make BitmapTexturePool a singleton
https://bugs.webkit.org/show_bug.cgi?id=308739

Reviewed by Miguel Gomez.

It's currently used by the main thread to create textures for the layer
tiles and from the compositing thread to create the compositing layer
textures. All those textures belong to the global PlatformDisplay
sharing context, so we could have only one global pool that could be
used from different threads.

* Source/WebCore/platform/graphics/skia/SkiaPaintingEngine.cpp:
(WebCore::SkiaPaintingEngine::SkiaPaintingEngine):
(WebCore::SkiaPaintingEngine::createBuffer const):
* Source/WebCore/platform/graphics/skia/SkiaPaintingEngine.h:
* Source/WebCore/platform/graphics/texmap/BitmapTexture.cpp:
(WebCore::BitmapTexture::sizeInBytes const):
* Source/WebCore/platform/graphics/texmap/BitmapTexture.h:
* Source/WebCore/platform/graphics/texmap/BitmapTexturePool.cpp:
(WebCore::BitmapTexturePool::singleton):
(WebCore::BitmapTexturePool::BitmapTexturePool):
(WebCore::BitmapTexturePool::acquireTexture):
(WebCore::BitmapTexturePool::createTextureForImage):
(WebCore::BitmapTexturePool::scheduleReleaseUnusedTextures):
(WebCore::BitmapTexturePool::releaseUnusedTexturesTimerFired):
(WebCore::BitmapTexturePool::enterLimitExceededModeIfNeeded):
(WebCore::BitmapTexturePool::exitLimitExceededModeIfNeeded):
* Source/WebCore/platform/graphics/texmap/BitmapTexturePool.h:
(WebCore::BitmapTexturePool::Entry::Entry): Deleted.
(WebCore::BitmapTexturePool::Entry::markIsInUse): Deleted.
(WebCore::BitmapTexturePool::Entry::canBeReleased const): Deleted.
* Source/WebCore/platform/graphics/texmap/TextureMapper.cpp:
(WebCore::TextureMapper::releaseUnusedTexturesNow):
(WebCore::TextureMapper::drawNumber):
(WebCore::TextureMapper::applyBlurFilter):
(WebCore::TextureMapper::applyDropShadowFilter):
(WebCore::TextureMapper::applySinglePassFilter):
(WebCore::TextureMapper::acquireTextureFromPool): Deleted.
(WebCore::TextureMapper::createTextureForImage): Deleted.
* Source/WebCore/platform/graphics/texmap/TextureMapper.h:
* Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::paintWithIntermediateSurface):
(WebCore::TextureMapperLayer::paintSelfAndChildrenWithIntermediateSurface):
* 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedBackingStore.cpp:
(WebCore::CoordinatedBackingStore::processPendingUpdates):
* Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedBackingStore.h:
* 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedBackingStoreTile.cpp:
(WebCore::CoordinatedBackingStoreTile::processPendingUpdates):
* 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedBackingStoreTile.h:
* 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayer.cpp:
(WebCore::CoordinatedPlatformLayer::flushCompositingState):
* 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayer.h:
* 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferDMABuf.cpp:
(WebCore::importToTexture):
(WebCore::CoordinatedPlatformLayerBufferDMABuf::importYUV const):
(WebCore::CoordinatedPlatformLayerBufferDMABuf::importDMABuf const):
(WebCore::CoordinatedPlatformLayerBufferDMABuf::paintToTextureMapper):
* 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferDMABuf.h:
* 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferExternalOES.cpp:
(WebCore::CoordinatedPlatformLayerBufferExternalOES::paintToTextureMapper):
* 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferNativeImage.cpp:
(WebCore::CoordinatedPlatformLayerBufferNativeImage::tryEnsureBuffer):
(WebCore::CoordinatedPlatformLayerBufferNativeImage::paintToTextureMapper):
* 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferNativeImage.h:
* 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferVideo.cpp:
(WebCore::CoordinatedPlatformLayerBufferVideo::paintToTextureMapper):
* 
Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedPlatformLayerBufferYUV.cpp:
* Source/WebKit/GPUProcess/graphics/wc/WCScene.cpp:
(WebKit::WCScene::update):
* Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/ThreadedCompositor.cpp:
(WebKit::ThreadedCompositor::flushCompositingState):
* 
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/ThreadedCompositorPlayStation.cpp:
(WebKit::ThreadedCompositor::updateSceneState):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to