Title: [195258] releases/WebKitGTK/webkit-2.10/Source/WebCore
Revision
195258
Author
[email protected]
Date
2016-01-19 00:23:53 -0800 (Tue, 19 Jan 2016)

Log Message

Merge r194961 - [TexMap] BitmapTextureGL is not released while scene is updated continuously.
https://bugs.webkit.org/show_bug.cgi?id=152524

Patch by YongGeol Jung <[email protected]> on 2016-01-13
Reviewed by Žan Doberšek.

This patch fixes two issues.
First, m_releaseUnusedTexturesTimer is not fired if scene is updated within 0.5s continuously.
In this case, BitmapTexturePool will not remove texture even if texture is not used for long time.
Second, m_releaseUnusedTexturesTimer is triggered by acquireTexture function only.
So, if next scene does not need to use BitmapTexture, remained textures in pool will not removed.

No new tests needed.

* platform/graphics/texmap/BitmapTexturePool.cpp:
(WebCore::BitmapTexturePool::scheduleReleaseUnusedTextures):
(WebCore::BitmapTexturePool::releaseUnusedTexturesTimerFired):

Modified Paths

Diff

Modified: releases/WebKitGTK/webkit-2.10/Source/WebCore/ChangeLog (195257 => 195258)


--- releases/WebKitGTK/webkit-2.10/Source/WebCore/ChangeLog	2016-01-19 08:22:49 UTC (rev 195257)
+++ releases/WebKitGTK/webkit-2.10/Source/WebCore/ChangeLog	2016-01-19 08:23:53 UTC (rev 195258)
@@ -1,3 +1,22 @@
+2016-01-13  YongGeol Jung  <[email protected]>
+
+        [TexMap] BitmapTextureGL is not released while scene is updated continuously.
+        https://bugs.webkit.org/show_bug.cgi?id=152524
+
+        Reviewed by Žan Doberšek.
+
+        This patch fixes two issues.
+        First, m_releaseUnusedTexturesTimer is not fired if scene is updated within 0.5s continuously.
+        In this case, BitmapTexturePool will not remove texture even if texture is not used for long time.
+        Second, m_releaseUnusedTexturesTimer is triggered by acquireTexture function only.
+        So, if next scene does not need to use BitmapTexture, remained textures in pool will not removed.
+
+        No new tests needed.
+
+        * platform/graphics/texmap/BitmapTexturePool.cpp:
+        (WebCore::BitmapTexturePool::scheduleReleaseUnusedTextures):
+        (WebCore::BitmapTexturePool::releaseUnusedTexturesTimerFired):
+
 2016-01-12  Daniel Bates  <[email protected]>
 
         XSS Auditor should navigate to empty substitute data on full page block

Modified: releases/WebKitGTK/webkit-2.10/Source/WebCore/platform/graphics/texmap/BitmapTexturePool.cpp (195257 => 195258)


--- releases/WebKitGTK/webkit-2.10/Source/WebCore/platform/graphics/texmap/BitmapTexturePool.cpp	2016-01-19 08:22:49 UTC (rev 195257)
+++ releases/WebKitGTK/webkit-2.10/Source/WebCore/platform/graphics/texmap/BitmapTexturePool.cpp	2016-01-19 08:23:53 UTC (rev 195258)
@@ -53,7 +53,7 @@
 void BitmapTexturePool::scheduleReleaseUnusedTextures()
 {
     if (m_releaseUnusedTexturesTimer.isActive())
-        m_releaseUnusedTexturesTimer.stop();
+        return;
 
     m_releaseUnusedTexturesTimer.startOneShot(s_releaseUnusedTexturesTimerInterval);
 }
@@ -73,6 +73,9 @@
             break;
         }
     }
+
+    if (!m_textures.isEmpty())
+        scheduleReleaseUnusedTextures();
 }
 
 PassRefPtr<BitmapTexture> BitmapTexturePool::acquireTexture(const IntSize& size)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to