summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/widget/CalendarView.java1
-rw-r--r--libs/hwui/DisplayList.cpp35
-rw-r--r--libs/hwui/DisplayList.h16
-rw-r--r--libs/hwui/Layer.cpp1
-rw-r--r--libs/hwui/OpenGLRenderer.cpp2
5 files changed, 6 insertions, 49 deletions
diff --git a/core/java/android/widget/CalendarView.java b/core/java/android/widget/CalendarView.java
index a87c7d29e405..746d34a6585a 100644
--- a/core/java/android/widget/CalendarView.java
+++ b/core/java/android/widget/CalendarView.java
@@ -1638,6 +1638,7 @@ public class CalendarView extends FrameLayout {
|| mMaxDate.get(Calendar.DAY_OF_WEEK) != mFirstDayOfWeek) {
mTotalWeekCount++;
}
+ notifyDataSetChanged();
}
/**
diff --git a/libs/hwui/DisplayList.cpp b/libs/hwui/DisplayList.cpp
index 3c8495e75959..ee24a177fef7 100644
--- a/libs/hwui/DisplayList.cpp
+++ b/libs/hwui/DisplayList.cpp
@@ -261,7 +261,6 @@ void DisplayList::init() {
mHeight = 0;
mPivotExplicitlySet = false;
mCaching = false;
- mOrderingId = 0;
}
size_t DisplayList::getSize() {
@@ -504,8 +503,6 @@ void DisplayList::computeOrdering() {
ATRACE_CALL();
m3dNodes.clear();
mProjectedNodes.clear();
- mRootDisplayList = this;
- mOrderingId++;
// TODO: create temporary DDLOp and call computeOrderingImpl on top DisplayList so that
// transform properties are applied correctly to top level children
@@ -514,8 +511,7 @@ void DisplayList::computeOrdering() {
DrawDisplayListOp* childOp = mDisplayListData->children[i];
childOp->mDisplayList->computeOrderingImpl(childOp,
&m3dNodes, &mat4::identity(),
- &mProjectedNodes, &mat4::identity(),
- mRootDisplayList, mOrderingId);
+ &mProjectedNodes, &mat4::identity());
}
}
@@ -524,15 +520,10 @@ void DisplayList::computeOrderingImpl(
Vector<ZDrawDisplayListOpPair>* compositedChildrenOf3dRoot,
const mat4* transformFrom3dRoot,
Vector<DrawDisplayListOp*>* compositedChildrenOfProjectionSurface,
- const mat4* transformFromProjectionSurface,
- const void* rootDisplayList, const int orderingId) {
+ const mat4* transformFromProjectionSurface) {
m3dNodes.clear();
mProjectedNodes.clear();
- // Temporary, for logging
- mRootDisplayList = rootDisplayList;
- mOrderingId = orderingId;
-
// TODO: should avoid this calculation in most cases
// TODO: just calculate single matrix, down to all leaf composited elements
Matrix4 localTransformFrom3dRoot(*transformFrom3dRoot);
@@ -584,8 +575,7 @@ void DisplayList::computeOrderingImpl(
DrawDisplayListOp* childOp = mDisplayListData->children[i];
childOp->mDisplayList->computeOrderingImpl(childOp,
compositedChildrenOf3dRoot, transformFrom3dRoot,
- compositedChildrenOfProjectionSurface, transformFromProjectionSurface,
- rootDisplayList, orderingId);
+ compositedChildrenOfProjectionSurface, transformFromProjectionSurface);
}
}
}
@@ -599,7 +589,6 @@ public:
}
inline LinearAllocator& allocator() { return *(mDeferStruct.mAllocator); }
- const DisplayList* getRoot() { return mDeferStruct.mRoot; }
private:
DeferStateStruct& mDeferStruct;
const int mLevel;
@@ -622,7 +611,6 @@ public:
}
inline LinearAllocator& allocator() { return *(mReplayStruct.mAllocator); }
- const DisplayList* getRoot() { return mReplayStruct.mRoot; }
private:
ReplayStateStruct& mReplayStruct;
const int mLevel;
@@ -659,14 +647,6 @@ void DisplayList::iterate3dChildren(ChildrenSelectMode mode, OpenGLRenderer& ren
const float zValue = m3dNodes[i].key;
DrawDisplayListOp* childOp = m3dNodes[i].value;
- if (CC_UNLIKELY(handler.getRoot()->mRootDisplayList != childOp->mDisplayList->mRootDisplayList ||
- handler.getRoot()->mOrderingId != childOp->mDisplayList->mOrderingId)) {
- ALOGW("Error in 3d order computation: Root %p, order %d, expected %p %d",
- childOp->mDisplayList->mRootDisplayList, childOp->mDisplayList->mOrderingId,
- handler.getRoot()->mRootDisplayList, handler.getRoot()->mOrderingId);
- CRASH();
- }
-
if (mode == kPositiveZChildren && zValue < 0.0f) continue;
if (mode == kNegativeZChildren && zValue > 0.0f) break;
@@ -728,15 +708,6 @@ void DisplayList::iterate(OpenGLRenderer& renderer, T& handler, const int level)
ALOGW("Error: %s is drawing after destruction, size %d", getName(), mSize);
CRASH();
}
-
- if (CC_UNLIKELY(handler.getRoot()->mRootDisplayList != mRootDisplayList ||
- handler.getRoot()->mOrderingId != mOrderingId)) {
- ALOGW("Error in order computation: Root %p, order %d, expected %p %d",
- mRootDisplayList, mOrderingId,
- handler.getRoot()->mRootDisplayList, handler.getRoot()->mOrderingId);
- CRASH();
- }
-
if (mSize == 0 || mAlpha <= 0) {
DISPLAY_LIST_LOGD("%*sEmpty display list (%p, %s)", level * 2, "", this, mName.string());
return;
diff --git a/libs/hwui/DisplayList.h b/libs/hwui/DisplayList.h
index 8026c4afd10b..6e6e596fc1cb 100644
--- a/libs/hwui/DisplayList.h
+++ b/libs/hwui/DisplayList.h
@@ -76,7 +76,7 @@ class DrawDisplayListOp;
class PlaybackStateStruct {
protected:
PlaybackStateStruct(OpenGLRenderer& renderer, int replayFlags, LinearAllocator* allocator)
- : mRenderer(renderer), mReplayFlags(replayFlags), mAllocator(allocator), mRoot(NULL) {}
+ : mRenderer(renderer), mReplayFlags(replayFlags), mAllocator(allocator){}
public:
OpenGLRenderer& mRenderer;
@@ -85,7 +85,6 @@ public:
// Allocator with the lifetime of a single frame.
// replay uses an Allocator owned by the struct, while defer shares the DeferredDisplayList's Allocator
LinearAllocator * const mAllocator;
- const DisplayList* mRoot; // TEMPORARY, for debug logging only
};
class DeferStateStruct : public PlaybackStateStruct {
@@ -196,9 +195,6 @@ public:
}
void setProjectToContainedVolume(bool shouldProject) {
- if (!mProjectToContainedVolume && shouldProject) {
- ALOGD("DL %s(%p) marked for projection", getName(), this);
- }
mProjectToContainedVolume = shouldProject;
}
@@ -264,9 +260,6 @@ public:
void setTranslationZ(float translationZ) {
if (translationZ != mTranslationZ) {
- if (mTranslationZ == 0.0f) {
- ALOGD("DL %s(%p) marked for 3d compositing", getName(), this);
- }
mTranslationZ = translationZ;
onTranslationUpdate();
}
@@ -537,8 +530,7 @@ private:
Vector<ZDrawDisplayListOpPair>* compositedChildrenOf3dRoot,
const mat4* transformFrom3dRoot,
Vector<DrawDisplayListOp*>* compositedChildrenOfProjectionSurface,
- const mat4* transformFromProjectionSurface,
- const void* rootDisplayList, const int orderingId);
+ const mat4* transformFromProjectionSurface);
template <class T>
inline void setViewProperties(OpenGLRenderer& renderer, T& handler, const int level);
@@ -631,10 +623,6 @@ private:
// for projection surfaces, contains a list of all children items
Vector<DrawDisplayListOp*> mProjectedNodes;
-
- // TEMPORARY, for debug logging only
- const void* mRootDisplayList;
- int mOrderingId;
}; // class DisplayList
}; // namespace uirenderer
diff --git a/libs/hwui/Layer.cpp b/libs/hwui/Layer.cpp
index ed571fa5b8c1..742ffd47fd8d 100644
--- a/libs/hwui/Layer.cpp
+++ b/libs/hwui/Layer.cpp
@@ -199,7 +199,6 @@ void Layer::defer() {
DeferStateStruct deferredState(*deferredList, *renderer,
DisplayList::kReplayFlag_ClipChildren);
- deferredState.mRoot = displayList;
renderer->initViewport(width, height);
renderer->setupFrameState(dirtyRect.left, dirtyRect.top,
diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp
index 41f34e5e4eb8..7a1194870d57 100644
--- a/libs/hwui/OpenGLRenderer.cpp
+++ b/libs/hwui/OpenGLRenderer.cpp
@@ -1877,7 +1877,6 @@ status_t OpenGLRenderer::drawDisplayList(DisplayList* displayList, Rect& dirty,
if (CC_UNLIKELY(mCaches.drawDeferDisabled)) {
status = startFrame();
ReplayStateStruct replayStruct(*this, dirty, replayFlags);
- replayStruct.mRoot = displayList;
displayList->replay(replayStruct, 0);
return status | replayStruct.mDrawGlStatus;
}
@@ -1885,7 +1884,6 @@ status_t OpenGLRenderer::drawDisplayList(DisplayList* displayList, Rect& dirty,
bool avoidOverdraw = !mCaches.debugOverdraw && !mCountOverdraw; // shh, don't tell devs!
DeferredDisplayList deferredList(*currentClipRect(), avoidOverdraw);
DeferStateStruct deferStruct(deferredList, *this, replayFlags);
- deferStruct.mRoot = displayList;
displayList->defer(deferStruct, 0);
flushLayers();