diff options
author | Jesse Hall <jessehall@google.com> | 2013-03-19 17:18:09 -0700 |
---|---|---|
committer | Jesse Hall <jessehall@google.com> | 2013-03-20 11:16:55 -0700 |
commit | 7414965606f82ac2bcace5d3e2c8a4810517bf1e (patch) | |
tree | 1ca5e0fd04307bf98b30d41abd9f69d17fdfe702 /services/surfaceflinger/DisplayDevice.cpp | |
parent | fae23b8757a6e1b70997db28a2eaf34f9ddc9b84 (diff) | |
download | frameworks_native-7414965606f82ac2bcace5d3e2c8a4810517bf1e.zip frameworks_native-7414965606f82ac2bcace5d3e2c8a4810517bf1e.tar.gz frameworks_native-7414965606f82ac2bcace5d3e2c8a4810517bf1e.tar.bz2 |
Release virtual display buffer immediately after HWC set
Previously we only queued a virtual display buffer to the sink when
the next frame was about to be displayed. This may delay the "last"
frame of an animation indefinitely. Now we queue the buffer as soon as
HWC set() returns and gives us the release fence.
Bug: 8384764
Change-Id: I3844a188e0f6ef6ff28f3e11477cfa063a924b1a
Diffstat (limited to 'services/surfaceflinger/DisplayDevice.cpp')
-rw-r--r-- | services/surfaceflinger/DisplayDevice.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/services/surfaceflinger/DisplayDevice.cpp b/services/surfaceflinger/DisplayDevice.cpp index ecd12d0..5493e7d 100644 --- a/services/surfaceflinger/DisplayDevice.cpp +++ b/services/surfaceflinger/DisplayDevice.cpp @@ -236,7 +236,7 @@ void DisplayDevice::swapBuffers(HWComposer& hwc) const { void DisplayDevice::onSwapBuffersCompleted(HWComposer& hwc) const { if (hwc.initCheck() == NO_ERROR) { int fd = hwc.getAndResetReleaseFenceFd(mType); - mDisplaySurface->setReleaseFenceFd(fd); + mDisplaySurface->onFrameCommitted(fd); } } |