Implement async data/subData. Implement TriangleMeshBuilder in SimpleMesh which replaces TriangleMesh. Update Film to use new builder.

This commit is contained in:
Jason Sams
2009-08-27 20:23:34 -07:00
parent 0409cde360
commit 07ae406237
29 changed files with 568 additions and 219 deletions

View File

@@ -21,28 +21,51 @@ using namespace android::renderscript;
ObjectBase::ObjectBase()
{
mRefCount = 0;
mUserRefCount = 0;
mSysRefCount = 0;
mName = NULL;
}
ObjectBase::~ObjectBase()
{
//LOGV("~ObjectBase %p ref %i", this, mRefCount);
rsAssert(!mRefCount);
rsAssert(!mUserRefCount);
rsAssert(!mSysRefCount);
}
void ObjectBase::incRef() const
void ObjectBase::incUserRef() const
{
mRefCount ++;
mUserRefCount ++;
//LOGV("ObjectBase %p inc ref %i", this, mRefCount);
}
void ObjectBase::decRef() const
void ObjectBase::incSysRef() const
{
rsAssert(mRefCount > 0);
mRefCount --;
mSysRefCount ++;
//LOGV("ObjectBase %p inc ref %i", this, mRefCount);
}
void ObjectBase::decUserRef() const
{
rsAssert(mUserRefCount > 0);
mUserRefCount --;
//LOGV("ObjectBase %p dec ref %i", this, mRefCount);
if (!mRefCount) {
if (!(mSysRefCount | mUserRefCount)) {
if (mName) {
LOGV("Deleting RS object %p, name %s", this, mName);
} else {
LOGV("Deleting RS object %p, no name", this);
}
delete this;
}
}
void ObjectBase::decSysRef() const
{
rsAssert(mSysRefCount > 0);
mSysRefCount --;
//LOGV("ObjectBase %p dec ref %i", this, mRefCount);
if (!(mSysRefCount | mUserRefCount)) {
if (mName) {
LOGV("Deleting RS object %p, name %s", this, mName);
} else {