diff options
| author | Chris Craik <ccraik@google.com> | 2014-11-20 16:38:06 -0800 |
|---|---|---|
| committer | Chris Craik <ccraik@google.com> | 2014-11-20 16:38:06 -0800 |
| commit | f2235b6a48db2e16b52711570bf2a0d0cb0b0d90 (patch) | |
| tree | 159f121d1330bba957764704de13720e785f3e3b /libs/hwui/Layer.cpp | |
| parent | cd24a6d70b54c79605e51fcc6a249313e9c25a51 (diff) | |
| parent | 57b641a2ed87f2827399c363053436cba88bee75 (diff) | |
| download | frameworks_base-f2235b6a48db2e16b52711570bf2a0d0cb0b0d90.zip frameworks_base-f2235b6a48db2e16b52711570bf2a0d0cb0b0d90.tar.gz frameworks_base-f2235b6a48db2e16b52711570bf2a0d0cb0b0d90.tar.bz2 | |
resolve merge conflicts of 57b641a to lmp-mr1-dev-plus-aosp.
Change-Id: I1be708f5a0cd4d64021a57f1063d54330f1d2d7e
Diffstat (limited to 'libs/hwui/Layer.cpp')
| -rw-r--r-- | libs/hwui/Layer.cpp | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/libs/hwui/Layer.cpp b/libs/hwui/Layer.cpp index b95636b..9aa29ca 100644 --- a/libs/hwui/Layer.cpp +++ b/libs/hwui/Layer.cpp @@ -20,11 +20,18 @@ #include "Caches.h" #include "DeferredDisplayList.h" -#include "RenderState.h" #include "Layer.h" #include "LayerRenderer.h" #include "OpenGLRenderer.h" #include "RenderNode.h" +#include "RenderState.h" +#include "utils/TraceUtils.h" + +#define ATRACE_LAYER_WORK(label) \ + ATRACE_FORMAT("%s HW Layer DisplayList %s %ux%u", \ + label, \ + (renderNode.get() != NULL) ? renderNode->getName() : "", \ + getWidth(), getHeight()) namespace android { namespace uirenderer { @@ -223,6 +230,8 @@ void Layer::allocateTexture() { } void Layer::defer(const OpenGLRenderer& rootRenderer) { + ATRACE_LAYER_WORK("Optimize"); + updateLightPosFromRenderer(rootRenderer); const float width = layer.getWidth(); const float height = layer.getHeight(); @@ -260,6 +269,9 @@ void Layer::cancelDefer() { void Layer::flush() { // renderer is checked as layer may be destroyed/put in layer cache with flush scheduled if (deferredList && renderer) { + ATRACE_LAYER_WORK("Issue"); + renderer->startMark((renderNode.get() != NULL) ? renderNode->getName() : "Layer"); + renderer->setViewport(layer.getWidth(), layer.getHeight()); renderer->prepareDirty(dirtyRect.left, dirtyRect.top, dirtyRect.right, dirtyRect.bottom, !isBlend()); @@ -270,10 +282,14 @@ void Layer::flush() { dirtyRect.setEmpty(); renderNode = NULL; + + renderer->endMark(); } } void Layer::render(const OpenGLRenderer& rootRenderer) { + ATRACE_LAYER_WORK("Direct-Issue"); + updateLightPosFromRenderer(rootRenderer); renderer->setViewport(layer.getWidth(), layer.getHeight()); renderer->prepareDirty(dirtyRect.left, dirtyRect.top, dirtyRect.right, dirtyRect.bottom, |
