diff options
| -rw-r--r-- | core/java/android/widget/CalendarView.java | 1 | ||||
| -rw-r--r-- | libs/hwui/DisplayList.cpp | 35 | ||||
| -rw-r--r-- | libs/hwui/DisplayList.h | 16 | ||||
| -rw-r--r-- | libs/hwui/Layer.cpp | 1 | ||||
| -rw-r--r-- | libs/hwui/OpenGLRenderer.cpp | 2 |
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(); |