From 31a7e42f4baa059352f0db119de38428e655eab2 Mon Sep 17 00:00:00 2001 From: Jason Sams Date: Tue, 26 Oct 2010 13:09:17 -0700 Subject: Begin adding async allocation creation. Change-Id: I5d1381699e2b334c1d824f357bd6b310a5f79be8 Implement async bitmap upload and clean up types. Change-Id: Icbe9894e04c1319351c1cd75b0e0017855198f20 --- libs/rs/rsObjectBase.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'libs/rs/rsObjectBase.cpp') diff --git a/libs/rs/rsObjectBase.cpp b/libs/rs/rsObjectBase.cpp index 724172ee2039..44dc0425ea72 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); -- cgit v1.2.3-59-g8ed1b