Loading libs/hwui/Android.mk +1 −0 Original line number Diff line number Diff line Loading @@ -54,6 +54,7 @@ ifeq ($(USE_OPENGL_RENDERER),true) # RenderThread stuff LOCAL_SRC_FILES += \ renderthread/CanvasContext.cpp \ renderthread/DrawFrameTask.cpp \ renderthread/RenderProxy.cpp \ renderthread/RenderTask.cpp \ renderthread/RenderThread.cpp Loading libs/hwui/DeferredLayerUpdater.cpp +1 −3 Original line number Diff line number Diff line Loading @@ -29,7 +29,6 @@ DeferredLayerUpdater::DeferredLayerUpdater(Layer* layer, OpenGLRenderer* rendere , mNeedsGLContextAttach(false) , mUpdateTexImage(false) , mLayer(layer) , mRenderer(renderer) , mCaches(Caches::getInstance()) { mWidth = mLayer->layer.getWidth(); mHeight = mLayer->layer.getHeight(); Loading @@ -45,7 +44,6 @@ DeferredLayerUpdater::~DeferredLayerUpdater() { if (mLayer) { mCaches.resourceCache.decrementRefcount(mLayer); } delete mRenderer; } void DeferredLayerUpdater::setPaint(const SkPaint* paint) { Loading Loading @@ -76,7 +74,7 @@ bool DeferredLayerUpdater::apply() { } mLayer->setBlend(mBlend); mDisplayList->updateProperties(); mLayer->updateDeferred(mRenderer, mDisplayList, mLayer->updateDeferred(mDisplayList, mDirtyRect.left, mDirtyRect.top, mDirtyRect.right, mDirtyRect.bottom); mDirtyRect.setEmpty(); mDisplayList = 0; Loading libs/hwui/DeferredLayerUpdater.h +0 −1 Original line number Diff line number Diff line Loading @@ -109,7 +109,6 @@ private: bool mUpdateTexImage; Layer* mLayer; OpenGLRenderer* mRenderer; Caches& mCaches; void doUpdateTexImage(); Loading libs/hwui/Layer.cpp +8 −3 Original line number Diff line number Diff line Loading @@ -58,6 +58,7 @@ Layer::~Layer() { delete[] mesh; delete deferredList; delete renderer; } uint32_t Layer::computeIdealWidth(uint32_t layerWidth) { Loading @@ -68,6 +69,13 @@ uint32_t Layer::computeIdealHeight(uint32_t layerHeight) { return uint32_t(ceilf(layerHeight / float(LAYER_SIZE)) * LAYER_SIZE); } void Layer::requireRenderer() { if (!renderer) { renderer = new LayerRenderer(this); renderer->initProperties(); } } bool Layer::resize(const uint32_t width, const uint32_t height) { uint32_t desiredWidth = computeIdealWidth(width); uint32_t desiredHeight = computeIdealWidth(height); Loading Loading @@ -207,7 +215,6 @@ void Layer::defer() { } void Layer::cancelDefer() { renderer = NULL; displayList = NULL; deferredUpdateScheduled = false; if (deferredList) { Loading @@ -226,7 +233,6 @@ void Layer::flush() { deferredList->flush(*renderer, dirtyRect); renderer->finish(); renderer = NULL; dirtyRect.setEmpty(); displayList = NULL; Loading @@ -241,7 +247,6 @@ void Layer::render() { renderer->drawDisplayList(displayList, dirtyRect, RenderNode::kReplayFlag_ClipChildren); renderer->finish(); renderer = NULL; dirtyRect.setEmpty(); Loading libs/hwui/Layer.h +4 −2 Original line number Diff line number Diff line Loading @@ -84,9 +84,9 @@ public: regionRect.translate(layer.left, layer.top); } void updateDeferred(OpenGLRenderer* renderer, RenderNode* displayList, void updateDeferred(RenderNode* displayList, int left, int top, int right, int bottom) { this->renderer = renderer; requireRenderer(); this->displayList = displayList; const Rect r(left, top, right, bottom); dirtyRect.unionWith(r); Loading Loading @@ -300,6 +300,8 @@ public: bool hasDrawnSinceUpdate; private: void requireRenderer(); Caches& caches; /** Loading Loading
libs/hwui/Android.mk +1 −0 Original line number Diff line number Diff line Loading @@ -54,6 +54,7 @@ ifeq ($(USE_OPENGL_RENDERER),true) # RenderThread stuff LOCAL_SRC_FILES += \ renderthread/CanvasContext.cpp \ renderthread/DrawFrameTask.cpp \ renderthread/RenderProxy.cpp \ renderthread/RenderTask.cpp \ renderthread/RenderThread.cpp Loading
libs/hwui/DeferredLayerUpdater.cpp +1 −3 Original line number Diff line number Diff line Loading @@ -29,7 +29,6 @@ DeferredLayerUpdater::DeferredLayerUpdater(Layer* layer, OpenGLRenderer* rendere , mNeedsGLContextAttach(false) , mUpdateTexImage(false) , mLayer(layer) , mRenderer(renderer) , mCaches(Caches::getInstance()) { mWidth = mLayer->layer.getWidth(); mHeight = mLayer->layer.getHeight(); Loading @@ -45,7 +44,6 @@ DeferredLayerUpdater::~DeferredLayerUpdater() { if (mLayer) { mCaches.resourceCache.decrementRefcount(mLayer); } delete mRenderer; } void DeferredLayerUpdater::setPaint(const SkPaint* paint) { Loading Loading @@ -76,7 +74,7 @@ bool DeferredLayerUpdater::apply() { } mLayer->setBlend(mBlend); mDisplayList->updateProperties(); mLayer->updateDeferred(mRenderer, mDisplayList, mLayer->updateDeferred(mDisplayList, mDirtyRect.left, mDirtyRect.top, mDirtyRect.right, mDirtyRect.bottom); mDirtyRect.setEmpty(); mDisplayList = 0; Loading
libs/hwui/DeferredLayerUpdater.h +0 −1 Original line number Diff line number Diff line Loading @@ -109,7 +109,6 @@ private: bool mUpdateTexImage; Layer* mLayer; OpenGLRenderer* mRenderer; Caches& mCaches; void doUpdateTexImage(); Loading
libs/hwui/Layer.cpp +8 −3 Original line number Diff line number Diff line Loading @@ -58,6 +58,7 @@ Layer::~Layer() { delete[] mesh; delete deferredList; delete renderer; } uint32_t Layer::computeIdealWidth(uint32_t layerWidth) { Loading @@ -68,6 +69,13 @@ uint32_t Layer::computeIdealHeight(uint32_t layerHeight) { return uint32_t(ceilf(layerHeight / float(LAYER_SIZE)) * LAYER_SIZE); } void Layer::requireRenderer() { if (!renderer) { renderer = new LayerRenderer(this); renderer->initProperties(); } } bool Layer::resize(const uint32_t width, const uint32_t height) { uint32_t desiredWidth = computeIdealWidth(width); uint32_t desiredHeight = computeIdealWidth(height); Loading Loading @@ -207,7 +215,6 @@ void Layer::defer() { } void Layer::cancelDefer() { renderer = NULL; displayList = NULL; deferredUpdateScheduled = false; if (deferredList) { Loading @@ -226,7 +233,6 @@ void Layer::flush() { deferredList->flush(*renderer, dirtyRect); renderer->finish(); renderer = NULL; dirtyRect.setEmpty(); displayList = NULL; Loading @@ -241,7 +247,6 @@ void Layer::render() { renderer->drawDisplayList(displayList, dirtyRect, RenderNode::kReplayFlag_ClipChildren); renderer->finish(); renderer = NULL; dirtyRect.setEmpty(); Loading
libs/hwui/Layer.h +4 −2 Original line number Diff line number Diff line Loading @@ -84,9 +84,9 @@ public: regionRect.translate(layer.left, layer.top); } void updateDeferred(OpenGLRenderer* renderer, RenderNode* displayList, void updateDeferred(RenderNode* displayList, int left, int top, int right, int bottom) { this->renderer = renderer; requireRenderer(); this->displayList = displayList; const Rect r(left, top, right, bottom); dirtyRect.unionWith(r); Loading Loading @@ -300,6 +300,8 @@ public: bool hasDrawnSinceUpdate; private: void requireRenderer(); Caches& caches; /** Loading