diff options
author | John Reck <jreck@google.com> | 2017-06-01 12:44:58 -0700 |
---|---|---|
committer | John Reck <jreck@google.com> | 2017-06-01 13:00:34 -0700 |
commit | a67b62e15e20bac6a9664e6e6be923cf82ad4138 (patch) | |
tree | 8e8c486e25bf2aaa675de0b50961db30fc0117cd /libs/hwui/renderthread/CanvasContext.cpp | |
parent | f58fae54bfc2c560942e387a010368ccdb02dfd0 (diff) |
Fix ANR & Crash on Ryu
Fixes impossible dequeue crash as the wrong
start point of the frame was used. We need
to use the start point for RT, not the start
point for the frame.
Workaround for sysui ANR caused by what appears
to be a driver bug. Drivers with the bug
will have transiently higher memory usage.
Drivers without the bug will be unaffected.
Bug: 62213889
Bug: 62250550
Test: Manual
Change-Id: I9992b224f84bc1c40834bafff7e0013b38270ae0
Diffstat (limited to 'libs/hwui/renderthread/CanvasContext.cpp')
-rw-r--r-- | libs/hwui/renderthread/CanvasContext.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libs/hwui/renderthread/CanvasContext.cpp b/libs/hwui/renderthread/CanvasContext.cpp index cbc5163244c1..9c80ab304b80 100644 --- a/libs/hwui/renderthread/CanvasContext.cpp +++ b/libs/hwui/renderthread/CanvasContext.cpp @@ -437,8 +437,8 @@ void CanvasContext::draw() { if (mNativeSurface.get()) { int durationUs; nsecs_t dequeueStart = mNativeSurface->getLastDequeueStartTime(); - if (dequeueStart < mCurrentFrameInfo->get(FrameInfoIndex::Vsync)) { - // Ignoring dequeue duration as it happened prior to vsync + if (dequeueStart < mCurrentFrameInfo->get(FrameInfoIndex::SyncStart)) { + // Ignoring dequeue duration as it happened prior to frame render start // and thus is not part of the frame. swap.dequeueDuration = 0; } else { |