asg: add snapshot support
Manual cherry-pick of aosp/1531939
Change-Id: Ia10e8dc224497489260e53fd785bd40f4e2f6060
diff --git a/stream-servers/RenderThread.cpp b/stream-servers/RenderThread.cpp
index 5d223ca..a6e85d9 100644
--- a/stream-servers/RenderThread.cpp
+++ b/stream-servers/RenderThread.cpp
@@ -114,8 +114,8 @@
RenderThread::RenderThread(
struct asg_context context,
- android::emulation::asg::ConsumerCallbacks callbacks,
- android::base::Stream* loadStream)
+ android::base::Stream* loadStream,
+ android::emulation::asg::ConsumerCallbacks callbacks)
: android::base::Thread(android::base::ThreadFlags::MaskSignals, 2 * 1024 * 1024),
mRingStream(
new RingStream(context, callbacks, kStreamBufferSize)) {
@@ -370,6 +370,10 @@
break;
}
} else if (needRestoreFromSnapshot) {
+ // If we're using RingStream that might load before FrameBuffer
+ // restores the contexts from the handles, so check again here.
+
+ tInfo.postLoadRefreshCurrentContextSurfacePtrs();
// We just loaded from a snapshot, need to initialize / bind
// the contexts.
needRestoreFromSnapshot = false;