Loading libs/hwui/Layer.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -54,6 +54,7 @@ Layer::Layer(RenderState& renderState, const uint32_t layerWidth, const uint32_t convexMask = NULL; caches.resourceCache.incrementRefcount(this); rendererLightPosDirty = true; wasBuildLayered = false; renderState.registerLayer(this); } Loading libs/hwui/Layer.h +1 −0 Original line number Diff line number Diff line Loading @@ -306,6 +306,7 @@ public: Rect dirtyRect; bool debugDrawUpdate; bool hasDrawnSinceUpdate; bool wasBuildLayered; private: void requireRenderer(); Loading libs/hwui/OpenGLRenderer.cpp +6 −0 Original line number Diff line number Diff line Loading @@ -605,6 +605,12 @@ void OpenGLRenderer::flushLayerUpdates() { AutoFence fence; } void OpenGLRenderer::markLayersAsBuildLayers() { for (size_t i = 0; i < mLayerUpdates.size(); i++) { mLayerUpdates[i]->wasBuildLayered = true; } } /////////////////////////////////////////////////////////////////////////////// // State management /////////////////////////////////////////////////////////////////////////////// Loading libs/hwui/OpenGLRenderer.h +1 −0 Original line number Diff line number Diff line Loading @@ -150,6 +150,7 @@ public: void cancelLayerUpdate(Layer* layer); void clearLayerUpdates(); void flushLayerUpdates(); void markLayersAsBuildLayers(); virtual int saveLayer(float left, float top, float right, float bottom, const SkPaint* paint, int flags) { Loading libs/hwui/RenderNode.cpp +13 −0 Original line number Diff line number Diff line Loading @@ -58,6 +58,19 @@ void RenderNode::outputLogBuffer(int fd) { fflush(file); } void RenderNode::debugDumpLayers(const char* prefix) { if (mLayer) { ALOGD("%sNode %p (%s) has layer %p (fbo = %u, wasBuildLayered = %s)", prefix, this, getName(), mLayer, mLayer->getFbo(), mLayer->wasBuildLayered ? "true" : "false"); } if (mDisplayListData) { for (size_t i = 0; i < mDisplayListData->children().size(); i++) { mDisplayListData->children()[i]->mRenderNode->debugDumpLayers(prefix); } } } RenderNode::RenderNode() : mDirtyPropertyFields(0) , mNeedsDisplayListDataSync(false) Loading Loading
libs/hwui/Layer.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -54,6 +54,7 @@ Layer::Layer(RenderState& renderState, const uint32_t layerWidth, const uint32_t convexMask = NULL; caches.resourceCache.incrementRefcount(this); rendererLightPosDirty = true; wasBuildLayered = false; renderState.registerLayer(this); } Loading
libs/hwui/Layer.h +1 −0 Original line number Diff line number Diff line Loading @@ -306,6 +306,7 @@ public: Rect dirtyRect; bool debugDrawUpdate; bool hasDrawnSinceUpdate; bool wasBuildLayered; private: void requireRenderer(); Loading
libs/hwui/OpenGLRenderer.cpp +6 −0 Original line number Diff line number Diff line Loading @@ -605,6 +605,12 @@ void OpenGLRenderer::flushLayerUpdates() { AutoFence fence; } void OpenGLRenderer::markLayersAsBuildLayers() { for (size_t i = 0; i < mLayerUpdates.size(); i++) { mLayerUpdates[i]->wasBuildLayered = true; } } /////////////////////////////////////////////////////////////////////////////// // State management /////////////////////////////////////////////////////////////////////////////// Loading
libs/hwui/OpenGLRenderer.h +1 −0 Original line number Diff line number Diff line Loading @@ -150,6 +150,7 @@ public: void cancelLayerUpdate(Layer* layer); void clearLayerUpdates(); void flushLayerUpdates(); void markLayersAsBuildLayers(); virtual int saveLayer(float left, float top, float right, float bottom, const SkPaint* paint, int flags) { Loading
libs/hwui/RenderNode.cpp +13 −0 Original line number Diff line number Diff line Loading @@ -58,6 +58,19 @@ void RenderNode::outputLogBuffer(int fd) { fflush(file); } void RenderNode::debugDumpLayers(const char* prefix) { if (mLayer) { ALOGD("%sNode %p (%s) has layer %p (fbo = %u, wasBuildLayered = %s)", prefix, this, getName(), mLayer, mLayer->getFbo(), mLayer->wasBuildLayered ? "true" : "false"); } if (mDisplayListData) { for (size_t i = 0; i < mDisplayListData->children().size(); i++) { mDisplayListData->children()[i]->mRenderNode->debugDumpLayers(prefix); } } } RenderNode::RenderNode() : mDirtyPropertyFields(0) , mNeedsDisplayListDataSync(false) Loading