Reset compositionType to HWC_FRAMEBUFFER before calling prepare()

Honor the documentation. this broke in JB-MR1.

Change-Id: I841a93b409fc940374bc748c4e143d82a192669c
This commit is contained in:
Mathias Agopian 2012-11-14 14:41:42 -08:00
parent 3fdeb48e3c
commit ee932d0ad1
3 changed files with 5 additions and 1 deletions

View File

@ -803,7 +803,9 @@ public:
virtual void setAcquireFenceFd(int fenceFd) {
getLayer()->acquireFenceFd = fenceFd;
}
virtual void setPerFrameDefaultState() {
getLayer()->compositionType = HWC_FRAMEBUFFER;
}
virtual void setDefaultState() {
getLayer()->compositionType = HWC_FRAMEBUFFER;
getLayer()->hints = 0;

View File

@ -141,6 +141,7 @@ public:
virtual int32_t getCompositionType() const = 0;
virtual uint32_t getHints() const = 0;
virtual int getAndResetReleaseFenceFd() = 0;
virtual void setPerFrameDefaultState() = 0;
virtual void setDefaultState() = 0;
virtual void setSkip(bool skip) = 0;
virtual void setBlending(uint32_t blending) = 0;

View File

@ -300,6 +300,7 @@ void LayerBase::setGeometry(
void LayerBase::setPerFrameData(const sp<const DisplayDevice>& hw,
HWComposer::HWCLayerInterface& layer) {
layer.setPerFrameDefaultState();
// we have to set the visible region on every frame because
// we currently free it during onLayerDisplayed(), which is called
// after HWComposer::commit() -- every frame.