diff options
| author | 2019-09-08 22:07:47 -0700 | |
|---|---|---|
| committer | 2019-09-08 22:07:47 -0700 | |
| commit | 76cc73e91c8be1be49ca7264d21178b0c60ccec8 (patch) | |
| tree | 0a7fa5c19d5d29d40aab5181e0ee02e4f73f0362 /libs/gui/BufferQueueProducer.cpp | |
| parent | b9a4f9efdd42eaaf495b9433db2fc5db3a813b94 (diff) | |
| parent | 5d5329644df97df2718a63c29345fdc17a75b9b5 (diff) | |
Merge qt-r1-dev-plus-aosp-without-vendor (5817612) into stage-aosp-master
Bug: 135460123
Change-Id: I02a643052e3023ac029cdec76ee24dfa99d82b29
Merged-In: Ied9a812f235e2a5146381b0ac8c602db1c6035f5
Diffstat (limited to 'libs/gui/BufferQueueProducer.cpp')
| -rw-r--r-- | libs/gui/BufferQueueProducer.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/libs/gui/BufferQueueProducer.cpp b/libs/gui/BufferQueueProducer.cpp index 9c311a314f..92ab41019e 100644 --- a/libs/gui/BufferQueueProducer.cpp +++ b/libs/gui/BufferQueueProducer.cpp @@ -936,6 +936,15 @@ status_t BufferQueueProducer::queueBuffer(int slot, } } + // Make sure to merge the damage rect from the frame we're about + // to drop into the new frame's damage rect. + if (last.mSurfaceDamage.bounds() == Rect::INVALID_RECT || + item.mSurfaceDamage.bounds() == Rect::INVALID_RECT) { + item.mSurfaceDamage = Region::INVALID_REGION; + } else { + item.mSurfaceDamage |= last.mSurfaceDamage; + } + // Overwrite the droppable buffer with the incoming one mCore->mQueue.editItemAt(mCore->mQueue.size() - 1) = item; frameReplacedListener = mCore->mConsumerListener; |