diff options
-rw-r--r-- | Source/WebCore/platform/graphics/android/BaseTileTexture.h | 5 | ||||
-rw-r--r-- | Source/WebCore/platform/graphics/android/TransferQueue.cpp | 9 |
2 files changed, 14 insertions, 0 deletions
diff --git a/Source/WebCore/platform/graphics/android/BaseTileTexture.h b/Source/WebCore/platform/graphics/android/BaseTileTexture.h index bc66195..3efc2bf 100644 --- a/Source/WebCore/platform/graphics/android/BaseTileTexture.h +++ b/Source/WebCore/platform/graphics/android/BaseTileTexture.h @@ -34,6 +34,8 @@ class SkCanvas; +#define DEBUG_TRANSFER_USING_CPU_UPLOAD 0 + namespace WebCore { class BaseTile; @@ -86,6 +88,9 @@ public: TransferItemStatus status; BaseTile* savedBaseTilePtr; TextureTileInfo tileInfo; +#if DEBUG_TRANSFER_USING_CPU_UPLOAD + SkBitmap bitmap; +#endif }; // DoubleBufferedTexture using a SkBitmap as backing mechanism diff --git a/Source/WebCore/platform/graphics/android/TransferQueue.cpp b/Source/WebCore/platform/graphics/android/TransferQueue.cpp index 851d02c..095d014 100644 --- a/Source/WebCore/platform/graphics/android/TransferQueue.cpp +++ b/Source/WebCore/platform/graphics/android/TransferQueue.cpp @@ -260,9 +260,15 @@ void TransferQueue::updateDirtyBaseTiles() continue; } +#if DEBUG_TRANSFER_USING_CPU_UPLOAD + // Here we just need to upload the bitmap content to the GL Texture + GLUtils::updateTextureWithBitmap(destTexture->m_ownTextureId, 0, 0, + m_transferQueue[index].bitmap); +#else blitTileFromQueue(m_fboID, destTexture, m_sharedSurfaceTextureId, m_sharedSurfaceTexture->getCurrentTextureTarget()); +#endif // After the base tile copied into the GL texture, we need to // update the texture's info such that at draw time, readyFor @@ -335,6 +341,9 @@ void TransferQueue::updateQueueWithBitmap(const TileRenderInfo* renderInfo, m_transferQueueItemLocks.lock(); // b) After update the Surface Texture, now udpate the transfer queue info. addItemInTransferQueue(renderInfo); +#if DEBUG_TRANSFER_USING_CPU_UPLOAD + bitmap.copyTo(&(m_transferQueue[m_transferQueueIndex].bitmap), bitmap.config()); +#endif m_transferQueueItemLocks.unlock(); XLOG("Bitmap updated x, y %d %d, baseTile %p", renderInfo->x, renderInfo->y, renderInfo->baseTile); |