summaryrefslogtreecommitdiffstats
path: root/services/surfaceflinger
diff options
context:
space:
mode:
authorMathias Agopian <mathias@google.com>2011-10-05 15:00:22 -0700
committerMathias Agopian <mathias@google.com>2011-10-05 15:00:22 -0700
commitedaab94c2bc5b131dabff440e7ff3dfde6a012b7 (patch)
treed77e057787b89660b87434b1b4fb3e6a8c1fc1fa /services/surfaceflinger
parent94d2f366f971bc052da9856e9f8867094e738cd1 (diff)
downloadframeworks_base-edaab94c2bc5b131dabff440e7ff3dfde6a012b7.zip
frameworks_base-edaab94c2bc5b131dabff440e7ff3dfde6a012b7.tar.gz
frameworks_base-edaab94c2bc5b131dabff440e7ff3dfde6a012b7.tar.bz2
Force a repaint when hwc invalidate hook is called
without this prepare() would be called but not set() since the dirty region is empty. Change-Id: I038acfbdad4c16015357ccde4d1949391d6f989d
Diffstat (limited to 'services/surfaceflinger')
-rw-r--r--services/surfaceflinger/DisplayHardware/HWComposer.cpp2
-rw-r--r--services/surfaceflinger/SurfaceFlinger.h8
2 files changed, 4 insertions, 6 deletions
diff --git a/services/surfaceflinger/DisplayHardware/HWComposer.cpp b/services/surfaceflinger/DisplayHardware/HWComposer.cpp
index 879e858..be9b226 100644
--- a/services/surfaceflinger/DisplayHardware/HWComposer.cpp
+++ b/services/surfaceflinger/DisplayHardware/HWComposer.cpp
@@ -75,7 +75,7 @@ void HWComposer::hook_invalidate(struct hwc_procs* procs) {
}
void HWComposer::invalidate() {
- mFlinger->signalEvent();
+ mFlinger->repaintEverything();
}
void HWComposer::setFrameBuffer(EGLDisplay dpy, EGLSurface sur) {
diff --git a/services/surfaceflinger/SurfaceFlinger.h b/services/surfaceflinger/SurfaceFlinger.h
index 43191b7..128a64d 100644
--- a/services/surfaceflinger/SurfaceFlinger.h
+++ b/services/surfaceflinger/SurfaceFlinger.h
@@ -256,12 +256,11 @@ private:
public: // hack to work around gcc 4.0.3 bug
const GraphicPlane& graphicPlane(int dpy) const;
GraphicPlane& graphicPlane(int dpy);
-private:
+ void signalEvent();
+ void repaintEverything();
- void waitForEvent();
-public: // hack to work around gcc 4.0.3 bug
- void signalEvent();
private:
+ void waitForEvent();
void handleConsoleEvents();
void handleTransaction(uint32_t transactionFlags);
void handleTransactionLocked(uint32_t transactionFlags);
@@ -279,7 +278,6 @@ private:
void postFramebuffer();
void setupHardwareComposer(Region& dirtyInOut);
void composeSurfaces(const Region& dirty);
- void repaintEverything();
ssize_t addClientLayer(const sp<Client>& client,