diff options
author | Android (Google) Code Review <android-gerrit@google.com> | 2009-07-21 14:46:50 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2009-07-21 14:46:50 -0700 |
commit | eceb3bf9070bfc173f0c84d0f2f7a4ed8cca26b8 (patch) | |
tree | 8247118c51deab0de290baec42e4f39d51d5e732 /libs | |
parent | 538ed77af41c932192c3205b3fea45996112d76f (diff) | |
parent | 7ac5e698b216a1b1af97405b43adf2ad5bc40e7d (diff) | |
download | frameworks_base-eceb3bf9070bfc173f0c84d0f2f7a4ed8cca26b8.zip frameworks_base-eceb3bf9070bfc173f0c84d0f2f7a4ed8cca26b8.tar.gz frameworks_base-eceb3bf9070bfc173f0c84d0f2f7a4ed8cca26b8.tar.bz2 |
Merge change 8038
* changes:
Fix hardware overlay so all changes are commited when done.
Diffstat (limited to 'libs')
-rw-r--r-- | libs/surfaceflinger/LayerBuffer.cpp | 6 | ||||
-rw-r--r-- | libs/surfaceflinger/LayerBuffer.h | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/libs/surfaceflinger/LayerBuffer.cpp b/libs/surfaceflinger/LayerBuffer.cpp index a088b0a..2d949a0 100644 --- a/libs/surfaceflinger/LayerBuffer.cpp +++ b/libs/surfaceflinger/LayerBuffer.cpp @@ -594,6 +594,11 @@ LayerBuffer::OverlaySource::~OverlaySource() } } +void LayerBuffer::OverlaySource::onDraw(const Region& clip) const +{ + mLayer.clearWithOpenGL(clip); +} + void LayerBuffer::OverlaySource::onTransaction(uint32_t flags) { const Layer::State& front(mLayer.drawingState()); @@ -624,6 +629,7 @@ void LayerBuffer::OverlaySource::onVisibilityResolved( overlay_dev->setPosition(overlay_dev, mOverlay, x,y,w,h); overlay_dev->setParameter(overlay_dev, mOverlay, OVERLAY_TRANSFORM, mLayer.getOrientation()); + overlay_dev->commit(overlay_dev, mOverlay); } } } diff --git a/libs/surfaceflinger/LayerBuffer.h b/libs/surfaceflinger/LayerBuffer.h index fe879eb..746790b 100644 --- a/libs/surfaceflinger/LayerBuffer.h +++ b/libs/surfaceflinger/LayerBuffer.h @@ -138,6 +138,7 @@ private: sp<OverlayRef>* overlayRef, uint32_t w, uint32_t h, int32_t format); virtual ~OverlaySource(); + virtual void onDraw(const Region& clip) const; virtual void onTransaction(uint32_t flags); virtual void onVisibilityResolved(const Transform& planeTransform); private: |