[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