summaryrefslogtreecommitdiffstats
path: root/libs
diff options
context:
space:
mode:
authorAndroid (Google) Code Review <android-gerrit@google.com>2009-07-21 14:46:50 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2009-07-21 14:46:50 -0700
commiteceb3bf9070bfc173f0c84d0f2f7a4ed8cca26b8 (patch)
tree8247118c51deab0de290baec42e4f39d51d5e732 /libs
parent538ed77af41c932192c3205b3fea45996112d76f (diff)
parent7ac5e698b216a1b1af97405b43adf2ad5bc40e7d (diff)
downloadframeworks_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.cpp6
-rw-r--r--libs/surfaceflinger/LayerBuffer.h1
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: