Title: [211358] trunk/Source/WebCore
- Revision
- 211358
- Author
- [email protected]
- Date
- 2017-01-30 00:47:30 -0800 (Mon, 30 Jan 2017)
Log Message
[Threaded Compositor] Crash in GraphicsContext3D::deleteTexture when destroying TextureMapperPlatformLayerProxy
https://bugs.webkit.org/show_bug.cgi?id=167575
Reviewed by Žan Doberšek.
We should clear all the buffers on invalidate to ensure we don't have textures alive after CoordinatedGraphicsScene::purgeGLResources().
Fix crash in media/video-poster-background.html.
* platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp:
(WebCore::TextureMapperPlatformLayerProxy::invalidate): Clear current, pending and all used buffers.
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (211357 => 211358)
--- trunk/Source/WebCore/ChangeLog 2017-01-30 05:55:34 UTC (rev 211357)
+++ trunk/Source/WebCore/ChangeLog 2017-01-30 08:47:30 UTC (rev 211358)
@@ -1,3 +1,17 @@
+2017-01-30 Carlos Garcia Campos <[email protected]>
+
+ [Threaded Compositor] Crash in GraphicsContext3D::deleteTexture when destroying TextureMapperPlatformLayerProxy
+ https://bugs.webkit.org/show_bug.cgi?id=167575
+
+ Reviewed by Žan Doberšek.
+
+ We should clear all the buffers on invalidate to ensure we don't have textures alive after CoordinatedGraphicsScene::purgeGLResources().
+
+ Fix crash in media/video-poster-background.html.
+
+ * platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp:
+ (WebCore::TextureMapperPlatformLayerProxy::invalidate): Clear current, pending and all used buffers.
+
2017-01-29 Carlos Garcia Campos <[email protected]>
[Threaded Compositor] Crash on WebCore::GLContext::version()
Modified: trunk/Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp (211357 => 211358)
--- trunk/Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp 2017-01-30 05:55:34 UTC (rev 211357)
+++ trunk/Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp 2017-01-30 08:47:30 UTC (rev 211358)
@@ -78,6 +78,11 @@
m_compositor = nullptr;
m_targetLayer = nullptr;
+ m_currentBuffer = nullptr;
+ m_pendingBuffer = nullptr;
+ m_releaseUnusedBuffersTimer.stop();
+ m_usedBuffers.clear();
+
// Clear the timer and dispatch the update function manually now.
m_compositorThreadUpdateTimer = nullptr;
if (!m_compositorThreadUpdateFunction)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes