summaryrefslogtreecommitdiffstats
path: root/services/surfaceflinger/Layer.h
diff options
context:
space:
mode:
authorMathias Agopian <mathias@google.com>2010-11-01 23:32:18 -0700
committerMathias Agopian <mathias@google.com>2010-12-03 17:35:07 -0800
commit025005f562f695c3b1785745c2e5c184fc3a2330 (patch)
tree850177ccb405a2234b885b41624c0253b02db128 /services/surfaceflinger/Layer.h
parent48e723a0ee9b625825d23642f843b91fa276ab7c (diff)
downloadframeworks_base-025005f562f695c3b1785745c2e5c184fc3a2330.zip
frameworks_base-025005f562f695c3b1785745c2e5c184fc3a2330.tar.gz
frameworks_base-025005f562f695c3b1785745c2e5c184fc3a2330.tar.bz2
[3171580] SurfaceFlinger Bypass mode. (DO NOT MERGE)
This is a poor's man precursor to the h/w composer HAL. Basically we detect when a window is full screen and in that case we bypass surfaceflinger's composition step, which yields to much improved performance. Change-Id: Ie03796ae81a1c951949b771c9323044b980cb347
Diffstat (limited to 'services/surfaceflinger/Layer.h')
-rw-r--r--services/surfaceflinger/Layer.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/services/surfaceflinger/Layer.h b/services/surfaceflinger/Layer.h
index a93fcb1..9ff5716 100644
--- a/services/surfaceflinger/Layer.h
+++ b/services/surfaceflinger/Layer.h
@@ -81,6 +81,10 @@ public:
virtual sp<Surface> createSurface() const;
virtual status_t ditch();
virtual void onRemoved();
+ virtual bool setBypass(bool enable);
+
+ inline sp<GraphicBuffer> getBypassBuffer() const {
+ return mBufferManager.getActiveBuffer(); }
// only for debugging
inline sp<GraphicBuffer> getBuffer(int i) const {
@@ -232,6 +236,7 @@ private:
uint32_t mReqFormat;
bool mNeedsScaling;
bool mFixedSize;
+ bool mBypassState;
};
// ---------------------------------------------------------------------------