summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJamie Gennis <jgennis@google.com>2011-10-12 17:39:00 -0700
committerJamie Gennis <jgennis@google.com>2011-10-14 16:11:51 -0700
commit28378392fd5aa3e0a392c9eb64634055678c3987 (patch)
treef026f3986d6132ea8a6e542dc800d4cacc3e9bd7 /include
parent5dff2beb5d8bd1db110ee4024c5cd3027eaa4970 (diff)
downloadframeworks_native-28378392fd5aa3e0a392c9eb64634055678c3987.zip
frameworks_native-28378392fd5aa3e0a392c9eb64634055678c3987.tar.gz
frameworks_native-28378392fd5aa3e0a392c9eb64634055678c3987.tar.bz2
SurfaceFlinger: make sync transactions explicit
This change enables a layer or orientation update transaction sent to SurfaceFlinger to explicitly request a synchronous transaction. Change-Id: I97cbba610c13679849f66114b216fa6dbf12f2a9
Diffstat (limited to 'include')
-rw-r--r--include/surfaceflinger/ISurfaceComposer.h8
-rw-r--r--include/surfaceflinger/SurfaceComposerClient.h2
2 files changed, 7 insertions, 3 deletions
diff --git a/include/surfaceflinger/ISurfaceComposer.h b/include/surfaceflinger/ISurfaceComposer.h
index ea022a6..26cf094 100644
--- a/include/surfaceflinger/ISurfaceComposer.h
+++ b/include/surfaceflinger/ISurfaceComposer.h
@@ -83,7 +83,11 @@ public:
eOrientationUnchanged = 4,
eOrientationSwapMask = 0x01
};
-
+
+ enum {
+ eSynchronous = 0x01,
+ };
+
enum {
eElectronBeamAnimationOn = 0x01,
eElectronBeamAnimationOff = 0x10
@@ -103,7 +107,7 @@ public:
/* open/close transactions. requires ACCESS_SURFACE_FLINGER permission */
virtual void setTransactionState(const Vector<ComposerState>& state,
- int orientation) = 0;
+ int orientation, uint32_t flags) = 0;
/* signal that we're done booting.
* Requires ACCESS_SURFACE_FLINGER permission
diff --git a/include/surfaceflinger/SurfaceComposerClient.h b/include/surfaceflinger/SurfaceComposerClient.h
index 14e5b23..8226abe 100644
--- a/include/surfaceflinger/SurfaceComposerClient.h
+++ b/include/surfaceflinger/SurfaceComposerClient.h
@@ -112,7 +112,7 @@ public:
static void openGlobalTransaction();
//! Close a composer transaction on all active SurfaceComposerClients.
- static void closeGlobalTransaction();
+ static void closeGlobalTransaction(bool synchronous = false);
//! Freeze the specified display but not transactions.
static status_t freezeDisplay(DisplayID dpy, uint32_t flags = 0);