summaryrefslogtreecommitdiff
path: root/services/surfaceflinger/SurfaceFlingerConsumer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'services/surfaceflinger/SurfaceFlingerConsumer.cpp')
-rw-r--r--services/surfaceflinger/SurfaceFlingerConsumer.cpp10
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);