summaryrefslogtreecommitdiffstats
path: root/libs/hwui
diff options
context:
space:
mode:
Diffstat (limited to 'libs/hwui')
-rw-r--r--libs/hwui/OpenGLRenderer.cpp22
-rw-r--r--libs/hwui/renderthread/CanvasContext.cpp18
-rw-r--r--libs/hwui/renderthread/CanvasContext.h1
3 files changed, 3 insertions, 38 deletions
diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp
index d808735..b730d30 100644
--- a/libs/hwui/OpenGLRenderer.cpp
+++ b/libs/hwui/OpenGLRenderer.cpp
@@ -409,15 +409,6 @@ status_t OpenGLRenderer::invokeFunctors(Rect& dirty) {
for (size_t i = 0; i < count; i++) {
Functor* f = functors.itemAt(i);
result |= (*f)(DrawGlInfo::kModeProcess, &info);
-
- if (result & DrawGlInfo::kStatusDraw) {
- Rect localDirty(info.dirtyLeft, info.dirtyTop, info.dirtyRight, info.dirtyBottom);
- dirty.unionWith(localDirty);
- }
-
- if (result & DrawGlInfo::kStatusInvoke) {
- mFunctors.add(f);
- }
}
resume();
}
@@ -461,19 +452,10 @@ status_t OpenGLRenderer::callDrawGLFunction(Functor* functor, Rect& dirty) {
interrupt();
// call functor immediately after GL state setup
- status_t result = (*functor)(DrawGlInfo::kModeDraw, &info);
-
- if (result != DrawGlInfo::kStatusDone) {
- Rect localDirty(info.dirtyLeft, info.dirtyTop, info.dirtyRight, info.dirtyBottom);
- dirty.unionWith(localDirty);
-
- if (result & DrawGlInfo::kStatusInvoke) {
- mFunctors.add(functor);
- }
- }
+ (*functor)(DrawGlInfo::kModeDraw, &info);
resume();
- return result | DrawGlInfo::kStatusDrew;
+ return DrawGlInfo::kStatusDrew;
}
///////////////////////////////////////////////////////////////////////////////
diff --git a/libs/hwui/renderthread/CanvasContext.cpp b/libs/hwui/renderthread/CanvasContext.cpp
index 8ebffc2..017fb56 100644
--- a/libs/hwui/renderthread/CanvasContext.cpp
+++ b/libs/hwui/renderthread/CanvasContext.cpp
@@ -411,7 +411,6 @@ void CanvasContext::drawDisplayList(RenderNode* displayList, Rect* dirty) {
Rect outBounds;
status |= mCanvas->drawDisplayList(displayList, outBounds);
- handleFunctorStatus(status, outBounds);
// TODO: Draw debug info
// TODO: Performance tracking
@@ -448,22 +447,7 @@ void CanvasContext::invokeFunctors() {
makeCurrent();
Rect dirty;
- int status = mCanvas->invokeFunctors(dirty);
- handleFunctorStatus(status, dirty);
-}
-
-void CanvasContext::handleFunctorStatus(int status, const Rect& redrawClip) {
- if (status & DrawGlInfo::kStatusDraw) {
- // TODO: Invalidate the redrawClip
- // Do we need to post to ViewRootImpl like the current renderer?
- // Can we just enqueue ourselves to re-invoke the same display list?
- // Something else entirely? Does ChromiumView still want this in a
- // RenderThread world?
- }
-
- if (status & DrawGlInfo::kStatusInvoke) {
- queueFunctorsTask();
- }
+ mCanvas->invokeFunctors(dirty);
}
void CanvasContext::removeFunctorsTask() {
diff --git a/libs/hwui/renderthread/CanvasContext.h b/libs/hwui/renderthread/CanvasContext.h
index e3fdf97..746c1bf 100644
--- a/libs/hwui/renderthread/CanvasContext.h
+++ b/libs/hwui/renderthread/CanvasContext.h
@@ -82,7 +82,6 @@ private:
friend class InvokeFunctorsTask;
void invokeFunctors();
- void handleFunctorStatus(int status, const Rect& redrawClip);
void removeFunctorsTask();
void queueFunctorsTask(int delayMs = FUNCTOR_PROCESS_DELAY);