summaryrefslogtreecommitdiffstats
path: root/libs
diff options
context:
space:
mode:
authorChris Craik <ccraik@google.com>2015-06-08 11:30:44 -0700
committerChris Craik <ccraik@google.com>2015-06-08 11:39:02 -0700
commitbf72eb80d9e00fe2fa360dff0ef581ea27c8e965 (patch)
tree82c421ae436138b5eece8b2023af1b884a7635d0 /libs
parent72285e5600fad17c42730d6f84164d8425d4d43c (diff)
downloadframeworks_base-bf72eb80d9e00fe2fa360dff0ef581ea27c8e965.zip
frameworks_base-bf72eb80d9e00fe2fa360dff0ef581ea27c8e965.tar.gz
frameworks_base-bf72eb80d9e00fe2fa360dff0ef581ea27c8e965.tar.bz2
Add projection info to RenderNode dumps
bug:21502154 Also fixes several issues around DISPLAY_LIST_DEBUG Change-Id: I726f5bc071f8c037ffe1b224175fe5c1e2b1c5bd
Diffstat (limited to 'libs')
-rw-r--r--libs/hwui/RenderNode.cpp21
1 files changed, 12 insertions, 9 deletions
diff --git a/libs/hwui/RenderNode.cpp b/libs/hwui/RenderNode.cpp
index 7d3b41e..4ac4362 100644
--- a/libs/hwui/RenderNode.cpp
+++ b/libs/hwui/RenderNode.cpp
@@ -83,11 +83,12 @@ void RenderNode::setStagingDisplayList(DisplayListData* data) {
* display list. This function should remain in sync with the replay() function.
*/
void RenderNode::output(uint32_t level) {
- ALOGD("%*sStart display list (%p, %s%s%s%s%s)", (level - 1) * 2, "", this,
+ ALOGD("%*sStart display list (%p, %s%s%s%s%s%s)", (level - 1) * 2, "", this,
getName(),
(MathUtils::isZero(properties().getAlpha()) ? ", zero alpha" : ""),
(properties().hasShadow() ? ", casting shadow" : ""),
(isRenderable() ? "" : ", empty"),
+ (properties().getProjectBackwards() ? ", projected" : ""),
(mLayer != nullptr ? ", on HW Layer" : ""));
ALOGD("%*s%s %d", level * 2, "", "Save",
SkCanvas::kMatrix_SaveFlag | SkCanvas::kClip_SaveFlag);
@@ -520,10 +521,10 @@ void RenderNode::computeOrderingImpl(
Vector<DrawRenderNodeOp*>* projectionChildren = nullptr;
const mat4* projectionTransform = nullptr;
if (isProjectionReceiver && !child->properties().getProjectBackwards()) {
- // if receiving projections, collect projecting descendent
+ // if receiving projections, collect projecting descendant
- // Note that if a direct descendent is projecting backwards, we pass it's
- // grandparent projection collection, since it shouldn't project onto it's
+ // Note that if a direct descendant is projecting backwards, we pass its
+ // grandparent projection collection, since it shouldn't project onto its
// parent, where it will already be drawing.
projectionOutline = properties().getOutline().getPath();
projectionChildren = &mProjectedNodes;
@@ -802,7 +803,8 @@ void RenderNode::issueOperationsOfProjectedChildren(OpenGLRenderer& renderer, T&
template <class T>
void RenderNode::issueOperations(OpenGLRenderer& renderer, T& handler) {
if (mDisplayListData->isEmpty()) {
- DISPLAY_LIST_LOGD("%*sEmpty display list (%p, %s)", level * 2, "", this, getName());
+ DISPLAY_LIST_LOGD("%*sEmpty display list (%p, %s)", handler.level() * 2, "",
+ this, getName());
return;
}
@@ -814,7 +816,8 @@ void RenderNode::issueOperations(OpenGLRenderer& renderer, T& handler) {
if (useViewProperties) {
const Outline& outline = properties().getOutline();
if (properties().getAlpha() <= 0 || (outline.getShouldClip() && outline.isEmpty())) {
- DISPLAY_LIST_LOGD("%*sRejected display list (%p, %s)", level * 2, "", this, getName());
+ DISPLAY_LIST_LOGD("%*sRejected display list (%p, %s)", handler.level() * 2, "",
+ this, getName());
return;
}
}
@@ -833,7 +836,7 @@ void RenderNode::issueOperations(OpenGLRenderer& renderer, T& handler) {
handler(new (alloc) SaveOp(SkCanvas::kMatrix_SaveFlag | SkCanvas::kClip_SaveFlag),
PROPERTY_SAVECOUNT, properties().getClipToBounds());
- DISPLAY_LIST_LOGD("%*sSave %d %d", (level + 1) * 2, "",
+ DISPLAY_LIST_LOGD("%*sSave %d %d", (handler.level() + 1) * 2, "",
SkCanvas::kMatrix_SaveFlag | SkCanvas::kClip_SaveFlag, restoreTo);
if (useViewProperties) {
@@ -880,11 +883,11 @@ void RenderNode::issueOperations(OpenGLRenderer& renderer, T& handler) {
}
}
- DISPLAY_LIST_LOGD("%*sRestoreToCount %d", (level + 1) * 2, "", restoreTo);
+ DISPLAY_LIST_LOGD("%*sRestoreToCount %d", (handler.level() + 1) * 2, "", restoreTo);
handler(new (alloc) RestoreToCountOp(restoreTo),
PROPERTY_SAVECOUNT, properties().getClipToBounds());
- DISPLAY_LIST_LOGD("%*sDone (%p, %s)", level * 2, "", this, getName());
+ DISPLAY_LIST_LOGD("%*sDone (%p, %s)", handler.level() * 2, "", this, getName());
handler.endMark();
}