summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/platform/graphics/android/rendering/TransferQueue.h
diff options
context:
space:
mode:
authorTeng-Hui Zhu <ztenghui@google.com>2012-04-19 14:54:31 -0700
committerTeng-Hui Zhu <ztenghui@google.com>2012-04-20 09:33:49 -0700
commit2ac76fe4e18c3325c8b3bb8f9435fdc7b96c0aca (patch)
treee9a2ec93fffb786b8eccf3f4bdba490c769337e6 /Source/WebCore/platform/graphics/android/rendering/TransferQueue.h
parent7ad2efca85a989d9ab57e311af605a6fed9c9925 (diff)
downloadexternal_webkit-2ac76fe4e18c3325c8b3bb8f9435fdc7b96c0aca.zip
external_webkit-2ac76fe4e18c3325c8b3bb8f9435fdc7b96c0aca.tar.gz
external_webkit-2ac76fe4e18c3325c8b3bb8f9435fdc7b96c0aca.tar.bz2
Better handle the EGL context lost situation.
Unless framework provide a better message, we can't avoid this EGL context issue totally if mis-match happen again. Clean up some obsolete code. Change-Id: Ica03daecd58f9757c8cad41e0f40d5d51b041748
Diffstat (limited to 'Source/WebCore/platform/graphics/android/rendering/TransferQueue.h')
-rw-r--r--Source/WebCore/platform/graphics/android/rendering/TransferQueue.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/Source/WebCore/platform/graphics/android/rendering/TransferQueue.h b/Source/WebCore/platform/graphics/android/rendering/TransferQueue.h
index d1024a4..fe58336 100644
--- a/Source/WebCore/platform/graphics/android/rendering/TransferQueue.h
+++ b/Source/WebCore/platform/graphics/android/rendering/TransferQueue.h
@@ -117,7 +117,6 @@ public:
// This will be called by the browser through nativeSetProperty
void setTextureUploadType(TextureUploadType type);
- void cleanupGLResources();
void updateDirtyTiles();
void initGLResources(int width, int height);
@@ -140,10 +139,10 @@ public:
void addItemInPureColorQueue(const TileRenderInfo* renderInfo);
- void setPendingDiscardWithLock();
- void emptyQueue();
+ void cleanupGLResourcesAndQueue();
bool needsInit() { return !m_sharedSurfaceTextureId; }
+ void resetQueue();
// This queue can be accessed from UI and TexGen thread, therefore, we need
// a lock to protect its access
TileTransferData* m_transferQueue;
@@ -159,6 +158,7 @@ private:
const SkBitmap& bitmap);
bool getHasGLContext();
void setHasGLContext(bool hasContext);
+ void emptyAndAbandonQueue();
int getNextTransferQueueIndex();
@@ -174,6 +174,7 @@ private:
// Before each draw call and the blit operation, clean up all the
// pendingDiscard items.
void cleanupPendingDiscard();
+ void cleanupGLResources();
void blitTileFromQueue(GLuint fboID, TileTexture* destTex,
TileTexture* frontTex,