HWUI: Finish frame callbacks before framecomplete callbacks
If returning early from a draw, there is a chance that the frame
complete callbacks can execute before the frame callbacks. To fix
this, explicitly wait on frame callbacks to complete.
Test: Enable blast and test split screen resize
Change-Id: Id0eabd4dacdccbf1ce774efaad51abae7c57d5ea
diff --git a/libs/hwui/renderthread/CanvasContext.cpp b/libs/hwui/renderthread/CanvasContext.cpp
index 1ac9922..eacabfd 100644
--- a/libs/hwui/renderthread/CanvasContext.cpp
+++ b/libs/hwui/renderthread/CanvasContext.cpp
@@ -465,6 +465,7 @@
mCurrentFrameInfo->addFlag(FrameInfoFlags::SkippedFrame);
// Notify the callbacks, even if there's nothing to draw so they aren't waiting
// indefinitely
+ waitOnFences();
for (auto& func : mFrameCompleteCallbacks) {
std::invoke(func, mFrameNumber);
}