diff options
| author | Mathias Agopian <mathias@google.com> | 2010-11-01 23:32:18 -0700 |
|---|---|---|
| committer | Mathias Agopian <mathias@google.com> | 2010-12-03 17:35:07 -0800 |
| commit | 025005f562f695c3b1785745c2e5c184fc3a2330 (patch) | |
| tree | 850177ccb405a2234b885b41624c0253b02db128 /services/surfaceflinger/Layer.h | |
| parent | 48e723a0ee9b625825d23642f843b91fa276ab7c (diff) | |
| download | frameworks_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.h | 5 |
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; }; // --------------------------------------------------------------------------- |
