better fix for memory issue of BulletMultiThreaded

See Issue 271 and
http://www.bulletphysics.org/Bullet/phpBB3/viewtopic.php?p=&f=9&t=4043
This commit is contained in:
erwin.coumans
2012-09-09 21:25:00 +00:00
parent ccfbb9fd79
commit 6b8a571438
9 changed files with 53 additions and 2 deletions

View File

@@ -190,10 +190,27 @@ void* createCollisionLocalStoreMemory()
{
return &gLocalStoreMemory;
}
void deleteCollisionLocalStoreMemory()
{
}
#else
btAlignedObjectArray<CollisionTask_LocalStoreMemory*> sLocalStorePointers;
void* createCollisionLocalStoreMemory()
{
return new CollisionTask_LocalStoreMemory;
CollisionTask_LocalStoreMemory* localStore = new CollisionTask_LocalStoreMemory;
sLocalStorePointers.push_back(localStore);
return localStore;
}
void deleteCollisionLocalStoreMemory()
{
for (int i=0;i<sLocalStorePointers.size();i++)
{
delete sLocalStorePointers[i];
}
sLocalStorePointers.clear();
}
#endif

View File

@@ -47,7 +47,7 @@ __attribute__ ((aligned (128)))
void processCollisionTask(void* userPtr, void* lsMemory);
void* createCollisionLocalStoreMemory();
void deleteCollisionLocalStoreMemory();
#if defined(USE_LIBSPE2) && defined(__SPU__)
#include "../SpuLibspe2Support.h"