From f32b2ce68c45663b1193cfe45a10d2889fd61c81 Mon Sep 17 00:00:00 2001 From: Derek Sollenberger Date: Wed, 23 Mar 2011 11:19:05 -0400 Subject: Fix GPU leak where plugin textures in the WebKit thread were not being deleted. bug: 4165067 Change-Id: I2f50f600133300cec712b0177ead1a7afbbee2c3 --- WebCore/platform/graphics/android/DoubleBufferedTexture.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'WebCore/platform/graphics/android/DoubleBufferedTexture.cpp') diff --git a/WebCore/platform/graphics/android/DoubleBufferedTexture.cpp b/WebCore/platform/graphics/android/DoubleBufferedTexture.cpp index 7dcd1bc..cf640e8 100644 --- a/WebCore/platform/graphics/android/DoubleBufferedTexture.cpp +++ b/WebCore/platform/graphics/android/DoubleBufferedTexture.cpp @@ -102,6 +102,18 @@ EGLContext DoubleBufferedTexture::producerAcquireContext() return context; } +void DoubleBufferedTexture::producerDeleteTextures() +{ + m_textureA.lock(); + m_textureB.lock(); + LOGV("Deleting Producer Textures A/B (%d:%d)", m_textureA.getSourceTextureId(), + m_textureB.getSourceTextureId()); + m_textureA.deleteSourceTexture(); + m_textureB.deleteSourceTexture(); + m_textureA.unlock(); + m_textureB.unlock(); +} + TextureInfo* DoubleBufferedTexture::producerLock() { SharedTexture* sharedTex = getWriteableTexture(); -- cgit v1.1