[webkit-changes] [WebKit/WebKit] e9dc30: GraphicsLayerWC leaks BitmapTexture in BitmapTextu...

Fujii Hironori noreply at github.com
Fri Apr 14 12:27:52 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e9dc300e16eb7fc765368bd157a2eba4759a45d6
      https://github.com/WebKit/WebKit/commit/e9dc300e16eb7fc765368bd157a2eba4759a45d6
  Author: Fujii Hironori <Hironori.Fujii at sony.com>
  Date:   2023-04-14 (Fri, 14 Apr 2023)

  Changed paths:
    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/WebKit/GPUProcess/graphics/wc/WCScene.cpp

  Log Message:
  -----------
  GraphicsLayerWC leaks BitmapTexture in BitmapTexturePool
https://bugs.webkit.org/show_bug.cgi?id=255435

Reviewed by Don Olmstead.

GraphicsLayerWC runs TextureMapper in the OpenGL thread of the GPU
process that doesn't use RunLoop. BitmapTexturePool leaks cached
textures because RunLoop::Timer doesn't work in the thread.

We should explicitly remove cached textures in the thread.

* Source/WebCore/platform/graphics/texmap/BitmapTexturePool.h:
* Source/WebCore/platform/graphics/texmap/TextureMapper.cpp:
(WebCore::TextureMapper::releaseUnusedTexturesNow):
* Source/WebCore/platform/graphics/texmap/TextureMapper.h:
* Source/WebKit/GPUProcess/graphics/wc/WCScene.cpp:
(WebKit::WCScene::update):

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




More information about the webkit-changes mailing list