diff options
author | John Reck <jreck@google.com> | 2014-05-07 14:39:44 -0700 |
---|---|---|
committer | John Reck <jreck@google.com> | 2014-05-07 14:39:44 -0700 |
commit | 832b151465ed81c43e59891d5eebe62128b21fbb (patch) | |
tree | b631a4eab7c5b7b7f3d98e808e88bf0965c324cf /libs | |
parent | ebb9e69513b690881a5bad7bf45c6f32e0fc7062 (diff) | |
download | frameworks_base-832b151465ed81c43e59891d5eebe62128b21fbb.zip frameworks_base-832b151465ed81c43e59891d5eebe62128b21fbb.tar.gz frameworks_base-832b151465ed81c43e59891d5eebe62128b21fbb.tar.bz2 |
Cleanup attachFunctor
Bug: 13961296
Change-Id: Id48d11bfcc234afd1fd7e4fdd409a50e7208c81d
Diffstat (limited to 'libs')
-rw-r--r-- | libs/hwui/OpenGLRenderer.cpp | 40 | ||||
-rw-r--r-- | libs/hwui/OpenGLRenderer.h | 5 | ||||
-rw-r--r-- | libs/hwui/renderthread/CanvasContext.cpp | 5 |
3 files changed, 1 insertions, 49 deletions
diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp index 95fdb04..6de369c 100644 --- a/libs/hwui/OpenGLRenderer.cpp +++ b/libs/hwui/OpenGLRenderer.cpp @@ -379,49 +379,9 @@ void OpenGLRenderer::resumeAfterLayer() { dirtyClip(); } -void OpenGLRenderer::detachFunctor(Functor* functor) { - mFunctors.remove(functor); -} - -void OpenGLRenderer::attachFunctor(Functor* functor) { - mFunctors.add(functor); -} - -status_t OpenGLRenderer::invokeFunctors(Rect& dirty) { - status_t result = DrawGlInfo::kStatusDone; - size_t count = mFunctors.size(); - - if (count > 0) { - interrupt(); - SortedVector<Functor*> functors(mFunctors); - mFunctors.clear(); - - DrawGlInfo info; - info.clipLeft = 0; - info.clipTop = 0; - info.clipRight = 0; - info.clipBottom = 0; - info.isLayer = false; - info.width = 0; - info.height = 0; - memset(info.transform, 0, sizeof(float) * 16); - - for (size_t i = 0; i < count; i++) { - Functor* f = functors.itemAt(i); - result |= (*f)(DrawGlInfo::kModeProcess, &info); - } - resume(); - } - - return result; -} - status_t OpenGLRenderer::callDrawGLFunction(Functor* functor, Rect& dirty) { if (currentSnapshot()->isIgnored()) return DrawGlInfo::kStatusDone; - detachFunctor(functor); - - Rect clip(*currentClipRect()); clip.snapToPixelBoundaries(); diff --git a/libs/hwui/OpenGLRenderer.h b/libs/hwui/OpenGLRenderer.h index 7794abc..4de52ac 100644 --- a/libs/hwui/OpenGLRenderer.h +++ b/libs/hwui/OpenGLRenderer.h @@ -151,9 +151,6 @@ public: return mCountOverdraw ? mOverdraw : 0.0f; } - ANDROID_API status_t invokeFunctors(Rect& dirty); - ANDROID_API void detachFunctor(Functor* functor); - ANDROID_API void attachFunctor(Functor* functor); virtual status_t callDrawGLFunction(Functor* functor, Rect& dirty); ANDROID_API void pushLayerUpdate(Layer* layer); @@ -959,8 +956,6 @@ private: // List of rectangles to clear after saveLayer() is invoked Vector<Rect*> mLayers; - // List of functors to invoke after a frame is drawn - SortedVector<Functor*> mFunctors; // List of layers to update at the beginning of a frame Vector<Layer*> mLayerUpdates; diff --git a/libs/hwui/renderthread/CanvasContext.cpp b/libs/hwui/renderthread/CanvasContext.cpp index fc3548c..ca12736 100644 --- a/libs/hwui/renderthread/CanvasContext.cpp +++ b/libs/hwui/renderthread/CanvasContext.cpp @@ -486,10 +486,7 @@ void CanvasContext::invokeFunctor(Functor* functor) { requireGlContext(); mode = DrawGlInfo::kModeProcess; } - // TODO: Remove the dummy info in the future - DrawGlInfo dummyInfo; - memset(&dummyInfo, 0, sizeof(DrawGlInfo)); - (*functor)(mode, &dummyInfo); + (*functor)(mode, NULL); if (mCanvas) { mCanvas->resume(); |