diff options
author | John Reck <jreck@google.com> | 2015-10-26 15:49:47 -0700 |
---|---|---|
committer | John Reck <jreck@google.com> | 2015-10-27 07:54:17 -0700 |
commit | 77c40109cf25d29f85ee6c13aeb96e22e55f33ab (patch) | |
tree | 479c941dfbb94c36fb73dc86e03da8412636fcec | |
parent | 5918519f972b4eedfc0e402b96cf8a288446deed (diff) |
Cleanups
Change-Id: I10001711afb2530c5dc19aebf2d055ae41f58c6a
-rw-r--r-- | libs/hwui/RenderNode.cpp | 26 | ||||
-rw-r--r-- | libs/hwui/renderthread/CanvasContext.cpp | 6 | ||||
-rw-r--r-- | libs/hwui/renderthread/CanvasContext.h | 4 |
3 files changed, 21 insertions, 15 deletions
diff --git a/libs/hwui/RenderNode.cpp b/libs/hwui/RenderNode.cpp index 351fbaa86a2a..ea872a133ddb 100644 --- a/libs/hwui/RenderNode.cpp +++ b/libs/hwui/RenderNode.cpp @@ -16,13 +16,6 @@ #include "RenderNode.h" -#include <algorithm> -#include <string> - -#include <SkCanvas.h> -#include <algorithm> - - #include "DamageAccumulator.h" #include "Debug.h" #if HWUI_NEW_OPS @@ -39,6 +32,12 @@ #include "protos/hwui.pb.h" #include "protos/ProtoHelpers.h" +#include <SkCanvas.h> + +#include <algorithm> +#include <sstream> +#include <string> + namespace android { namespace uirenderer { @@ -269,9 +268,16 @@ void RenderNode::pushLayerUpdate(TreeInfo& info) { if (!mLayer) { Caches::getInstance().dumpMemoryUsage(); if (info.errorHandler) { - std::string msg = "Unable to create layer for "; - msg += getName(); - info.errorHandler->onError(msg); + std::ostringstream err; + err << "Unable to create layer for " << getName(); + const int maxTextureSize = Caches::getInstance().maxTextureSize; + if (getWidth() > maxTextureSize || getHeight() > maxTextureSize) { + err << ", size " << getWidth() << "x" << getHeight() + << " exceeds max size " << maxTextureSize; + } else { + err << ", see logcat for more info"; + } + info.errorHandler->onError(err.str()); } return; } diff --git a/libs/hwui/renderthread/CanvasContext.cpp b/libs/hwui/renderthread/CanvasContext.cpp index 7c0f0b67b8a3..bceb02d0c73c 100644 --- a/libs/hwui/renderthread/CanvasContext.cpp +++ b/libs/hwui/renderthread/CanvasContext.cpp @@ -266,11 +266,11 @@ void CanvasContext::draw() { Frame frame = mEglManager.beginFrame(mEglSurface); - if (frame.width() != lastFrameWidth || frame.height() != lastFrameHeight) { + if (frame.width() != mLastFrameWidth || frame.height() != mLastFrameHeight) { // can't rely on prior content of window if viewport size changes dirty.setEmpty(); - lastFrameWidth = frame.width(); - lastFrameHeight = frame.height(); + mLastFrameWidth = frame.width(); + mLastFrameHeight = frame.height(); } else if (mHaveNewSurface || frame.bufferAge() == 0) { // New surface needs a full draw dirty.setEmpty(); diff --git a/libs/hwui/renderthread/CanvasContext.h b/libs/hwui/renderthread/CanvasContext.h index 16956e6f1e47..533d69374ed7 100644 --- a/libs/hwui/renderthread/CanvasContext.h +++ b/libs/hwui/renderthread/CanvasContext.h @@ -141,8 +141,8 @@ private: void freePrefetechedLayers(); - int lastFrameWidth = 0; - int lastFrameHeight = 0; + EGLint mLastFrameWidth = 0; + EGLint mLastFrameHeight = 0; RenderThread& mRenderThread; EglManager& mEglManager; |