summaryrefslogtreecommitdiff
path: root/libs/hwui/renderthread/RenderThread.h
diff options
context:
space:
mode:
authorJohn Reck <jreck@google.com>2018-03-16 17:27:17 -0700
committerJohn Reck <jreck@google.com>2018-03-16 17:34:02 -0700
commit564284759f014c141cb8b8403b036833f50f49ef (patch)
tree3bef3a4db7c34d3b62d54f746c5da6854b2c35a0 /libs/hwui/renderthread/RenderThread.h
parent3912a7f54466f258c5b2597eebdb54cfe0f8281c (diff)
Don't use IPC in isolateProcess
Fixes: 74395652 Test: hwuiunit passes in 'shell stop' state (pseudo-isolated process), manually checked non-isolated processes still have working vsync via systrace of RT animations demo Change-Id: I630ea011dc7eb2efa265b25673d3304b3b2510d3
Diffstat (limited to 'libs/hwui/renderthread/RenderThread.h')
-rw-r--r--libs/hwui/renderthread/RenderThread.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/libs/hwui/renderthread/RenderThread.h b/libs/hwui/renderthread/RenderThread.h
index 3aa548773b3b..689f518bad1b 100644
--- a/libs/hwui/renderthread/RenderThread.h
+++ b/libs/hwui/renderthread/RenderThread.h
@@ -39,7 +39,6 @@
namespace android {
class Bitmap;
-class DisplayEventReceiver;
namespace uirenderer {
@@ -63,6 +62,14 @@ protected:
~IFrameCallback() {}
};
+struct VsyncSource {
+ virtual void requestNextVsync() = 0;
+ virtual nsecs_t latestVsyncEvent() = 0;
+ virtual ~VsyncSource() {}
+};
+
+class DummyVsyncSource;
+
class RenderThread : private ThreadBase {
PREVENT_COPY_AND_ASSIGN(RenderThread);
@@ -110,6 +117,7 @@ protected:
private:
friend class DispatchFrameCallbacks;
friend class RenderProxy;
+ friend class DummyVsyncSource;
friend class android::uirenderer::TestUtils;
RenderThread();
@@ -127,7 +135,7 @@ private:
DisplayInfo mDisplayInfo;
- DisplayEventReceiver* mDisplayEventReceiver;
+ VsyncSource* mVsyncSource;
bool mVsyncRequested;
std::set<IFrameCallback*> mFrameCallbacks;
// We defer the actual registration of these callbacks until