diff options
author | Jason Sams <rjsams@android.com> | 2009-08-18 17:07:09 -0700 |
---|---|---|
committer | Jason Sams <rjsams@android.com> | 2009-08-18 17:07:09 -0700 |
commit | 730ee65d4ddb307898053b623120bad1655fadad (patch) | |
tree | ea3d8f41940ef06af43a5fe5436c9c9c3943227d /libs/rs/rsContext.h | |
parent | 7ce033d797e5df5e2131e2ed459fba181eaf4658 (diff) | |
download | frameworks_base-730ee65d4ddb307898053b623120bad1655fadad.zip frameworks_base-730ee65d4ddb307898053b623120bad1655fadad.tar.gz frameworks_base-730ee65d4ddb307898053b623120bad1655fadad.tar.bz2 |
Implement OOB destroy method that can be called from the java finalizer removing the need to explicitly destroy objects.
Diffstat (limited to 'libs/rs/rsContext.h')
-rw-r--r-- | libs/rs/rsContext.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/libs/rs/rsContext.h b/libs/rs/rsContext.h index 3d17298..52901b2 100644 --- a/libs/rs/rsContext.h +++ b/libs/rs/rsContext.h @@ -118,6 +118,7 @@ public: ThreadIO mIO; + void objDestroyAdd(ObjectBase *); protected: Device *mDev; @@ -142,6 +143,17 @@ protected: ObjectBaseRef<ProgramVertex> mVertex; ObjectBaseRef<ProgramFragmentStore> mFragmentStore; + + struct ObjDestroyOOB { + pthread_mutex_t mMutex; + Vector<ObjectBase *> mDestroyList; + bool mNeedToEmpty; + }; + ObjDestroyOOB mObjDestroy; + bool objDestroyOOBInit(); + void objDestroyOOBRun(); + void objDestroyOOBDestroy(); + private: Context(); |