summaryrefslogtreecommitdiffstats
path: root/libs/surfaceflinger/LayerBuffer.cpp
diff options
context:
space:
mode:
authorRebecca Schultz Zavin <rebecca@android.com>2009-07-20 21:18:04 -0700
committerRebecca Schultz Zavin <rebecca@android.com>2009-07-21 11:07:23 -0700
commit96df49bb7deaa33168040084021ff142963a086b (patch)
treefa941fbbc5ba2acffdbf4b3c45ccaa468b7e770d /libs/surfaceflinger/LayerBuffer.cpp
parent569e36633c61f5cebb659db3a3696801e3935761 (diff)
downloadframeworks_native-96df49bb7deaa33168040084021ff142963a086b.zip
frameworks_native-96df49bb7deaa33168040084021ff142963a086b.tar.gz
frameworks_native-96df49bb7deaa33168040084021ff142963a086b.tar.bz2
Fix hardware overlay so all changes are commited when done.
Diffstat (limited to 'libs/surfaceflinger/LayerBuffer.cpp')
-rw-r--r--libs/surfaceflinger/LayerBuffer.cpp6
1 files changed, 6 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);
}
}
}