diff options
author | Jason Sams <rjsams@android.com> | 2010-10-26 13:09:17 -0700 |
---|---|---|
committer | Jason Sams <rjsams@android.com> | 2010-10-26 13:09:17 -0700 |
commit | 31a7e42f4baa059352f0db119de38428e655eab2 (patch) | |
tree | 7e3bf245244215cad507f57c24043f20a91bcd8c /libs/rs/rsObjectBase.cpp | |
parent | cd44bf9c7ae89edcf906451e162d096cf3d7e561 (diff) | |
download | frameworks_base-31a7e42f4baa059352f0db119de38428e655eab2.zip frameworks_base-31a7e42f4baa059352f0db119de38428e655eab2.tar.gz frameworks_base-31a7e42f4baa059352f0db119de38428e655eab2.tar.bz2 |
Begin adding async allocation creation.
Change-Id: I5d1381699e2b334c1d824f357bd6b310a5f79be8
Implement async bitmap upload and clean up types.
Change-Id: Icbe9894e04c1319351c1cd75b0e0017855198f20
Diffstat (limited to 'libs/rs/rsObjectBase.cpp')
-rw-r--r-- | libs/rs/rsObjectBase.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/libs/rs/rsObjectBase.cpp b/libs/rs/rsObjectBase.cpp index 724172e..44dc042 100644 --- a/libs/rs/rsObjectBase.cpp +++ b/libs/rs/rsObjectBase.cpp @@ -120,8 +120,15 @@ bool ObjectBase::checkDelete(const ObjectBase *ref) bool ObjectBase::decUserRef() const { - //LOGV("ObjectBase %p decU ref %i, %i", this, mUserRefCount, mSysRefCount); rsAssert(mUserRefCount > 0); +#if RS_OBJECT_DEBUG + LOGV("ObjectBase %p decU ref %i, %i", this, mUserRefCount, mSysRefCount); + if (mUserRefCount <= 0) { + mStack.dump(); + } +#endif + + if ((android_atomic_dec(&mUserRefCount) <= 1) && (android_atomic_acquire_load(&mSysRefCount) <= 0)) { return checkDelete(this); |