diff options
Diffstat (limited to 'services/surfaceflinger/SurfaceFlingerConsumer.cpp')
-rw-r--r-- | services/surfaceflinger/SurfaceFlingerConsumer.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/services/surfaceflinger/SurfaceFlingerConsumer.cpp b/services/surfaceflinger/SurfaceFlingerConsumer.cpp index 4c80fa063a..c71b3bcbfd 100644 --- a/services/surfaceflinger/SurfaceFlingerConsumer.cpp +++ b/services/surfaceflinger/SurfaceFlingerConsumer.cpp @@ -190,6 +190,7 @@ nsecs_t SurfaceFlingerConsumer::computeExpectedPresent(const DispSync& dispSync) #ifdef USE_HWC2 void SurfaceFlingerConsumer::setReleaseFence(const sp<Fence>& fence) { + mPrevReleaseFence = fence; if (!mPendingRelease.isPending) { GLConsumer::setReleaseFence(fence); return; @@ -219,8 +220,17 @@ void SurfaceFlingerConsumer::releasePendingBuffer() strerror(-result), result); mPendingRelease = PendingRelease(); } +#else +void SurfaceFlingerConsumer::setReleaseFence(const sp<Fence>& fence) { + mPrevReleaseFence = fence; + GLConsumer::setReleaseFence(fence); +} #endif +sp<Fence> SurfaceFlingerConsumer::getPrevReleaseFence() const { + return mPrevReleaseFence; +} + void SurfaceFlingerConsumer::setContentsChangedListener( const wp<ContentsChangedListener>& listener) { setFrameAvailableListener(listener); |