diff options
author | John Reck <jreck@google.com> | 2014-06-23 13:13:08 -0700 |
---|---|---|
committer | John Reck <jreck@google.com> | 2014-06-23 15:26:49 -0700 |
commit | 3b20251a355c88193c439f928a84ae69483fb488 (patch) | |
tree | 33c878ebacf17cf03d089404474fa66ca041ffb9 /libs/hwui/renderthread/RenderThread.h | |
parent | 97a6c20a6a52c9429ed2c8837086f3003e5da274 (diff) | |
download | frameworks_base-3b20251a355c88193c439f928a84ae69483fb488.zip frameworks_base-3b20251a355c88193c439f928a84ae69483fb488.tar.gz frameworks_base-3b20251a355c88193c439f928a84ae69483fb488.tar.bz2 |
No-fail invokeFunctor
Bug: 15513308
Bug: 15449247
Change-Id: I13a29f9c8d4975cdda6dcb33b6332c2555ff0f7c
Diffstat (limited to 'libs/hwui/renderthread/RenderThread.h')
-rw-r--r-- | libs/hwui/renderthread/RenderThread.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/libs/hwui/renderthread/RenderThread.h b/libs/hwui/renderthread/RenderThread.h index 4412584..0b91e9d 100644 --- a/libs/hwui/renderthread/RenderThread.h +++ b/libs/hwui/renderthread/RenderThread.h @@ -31,12 +31,18 @@ #include "TimeLord.h" namespace android { + class DisplayEventReceiver; namespace uirenderer { + +class RenderState; + namespace renderthread { class DispatchFrameCallbacks; +class EglManager; +class RenderProxy; class TaskQueue { public: @@ -62,7 +68,7 @@ protected: ~IFrameCallback() {} }; -class ANDROID_API RenderThread : public Thread, public Singleton<RenderThread> { +class ANDROID_API RenderThread : public Thread, protected Singleton<RenderThread> { public: // RenderThread takes complete ownership of tasks that are queued // and will delete them after they are run @@ -79,6 +85,8 @@ public: void pushBackFrameCallback(IFrameCallback* callback); TimeLord& timeLord() { return mTimeLord; } + RenderState& renderState() { return *mRenderState; } + EglManager& eglManager() { return *mEglManager; } protected: virtual bool threadLoop(); @@ -86,10 +94,12 @@ protected: private: friend class Singleton<RenderThread>; friend class DispatchFrameCallbacks; + friend class RenderProxy; RenderThread(); virtual ~RenderThread(); + void initThreadLocals(); void initializeDisplayEventReceiver(); static int displayEventReceiverCallback(int fd, int events, void* data); void drainDisplayEventQueue(bool skipCallbacks = false); @@ -119,6 +129,8 @@ private: DispatchFrameCallbacks* mFrameCallbackTask; TimeLord mTimeLord; + RenderState* mRenderState; + EglManager* mEglManager; }; } /* namespace renderthread */ |