diff options
| author | John Reck <jreck@google.com> | 2014-09-04 17:40:05 -0700 |
|---|---|---|
| committer | John Reck <jreck@google.com> | 2014-09-04 17:40:05 -0700 |
| commit | 443a714fa7c0dd07fee3527cc5bc3d3ca1fb7d44 (patch) | |
| tree | 4e1fd44948c6bc7324d6e3cb66af261f864530e5 /libs/hwui/renderthread | |
| parent | 2388750612b1fe54d31a47e0a40c1e6cf5a0cedd (diff) | |
| download | frameworks_base-443a714fa7c0dd07fee3527cc5bc3d3ca1fb7d44.zip frameworks_base-443a714fa7c0dd07fee3527cc5bc3d3ca1fb7d44.tar.gz frameworks_base-443a714fa7c0dd07fee3527cc5bc3d3ca1fb7d44.tar.bz2 | |
Yet more layer tracking logging
Bug: 17208461
Change-Id: I55e7d0921eb565867e966d68b798b7b92c391b55
Diffstat (limited to 'libs/hwui/renderthread')
| -rw-r--r-- | libs/hwui/renderthread/CanvasContext.cpp | 3 | ||||
| -rw-r--r-- | libs/hwui/renderthread/CanvasContext.h | 4 | ||||
| -rw-r--r-- | libs/hwui/renderthread/RenderThread.h | 1 |
3 files changed, 8 insertions, 0 deletions
diff --git a/libs/hwui/renderthread/CanvasContext.cpp b/libs/hwui/renderthread/CanvasContext.cpp index 428e426..4129a89 100644 --- a/libs/hwui/renderthread/CanvasContext.cpp +++ b/libs/hwui/renderthread/CanvasContext.cpp @@ -48,11 +48,13 @@ CanvasContext::CanvasContext(RenderThread& thread, bool translucent, , mHaveNewSurface(false) , mRootRenderNode(rootRenderNode) { mAnimationContext = contextFactory->createAnimationContext(mRenderThread.timeLord()); + mRenderThread.renderState().registerCanvasContext(this); } CanvasContext::~CanvasContext() { destroy(); delete mAnimationContext; + mRenderThread.renderState().unregisterCanvasContext(this); } void CanvasContext::destroy() { @@ -299,6 +301,7 @@ void CanvasContext::buildLayer(RenderNode* node) { // purposes when the frame is actually drawn node->setPropertyFieldsDirty(RenderNode::GENERIC); + mCanvas->markLayersAsBuildLayers(); mCanvas->flushLayerUpdates(); node->incStrong(0); diff --git a/libs/hwui/renderthread/CanvasContext.h b/libs/hwui/renderthread/CanvasContext.h index 5984fd0..2460f6b 100644 --- a/libs/hwui/renderthread/CanvasContext.h +++ b/libs/hwui/renderthread/CanvasContext.h @@ -42,6 +42,7 @@ class DeferredLayerUpdater; class OpenGLRenderer; class Rect; class Layer; +class RenderState; namespace renderthread { @@ -95,6 +96,9 @@ public: private: friend class RegisterFrameCallbackTask; + // TODO: Replace with something better for layer & other GL object + // lifecycle tracking + friend class android::uirenderer::RenderState; void setSurface(ANativeWindow* window); void swapBuffers(); diff --git a/libs/hwui/renderthread/RenderThread.h b/libs/hwui/renderthread/RenderThread.h index 0b91e9d..c461f3a 100644 --- a/libs/hwui/renderthread/RenderThread.h +++ b/libs/hwui/renderthread/RenderThread.h @@ -40,6 +40,7 @@ class RenderState; namespace renderthread { +class CanvasContext; class DispatchFrameCallbacks; class EglManager; class RenderProxy; |
