MCPcopy Create free account
hub / github.com/NVIDIAGameWorks/PhysX / postBpStage2

Method postBpStage2

physx/source/lowlevelaabb/src/BpAABBManager.cpp:2257–2295  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2255}
2256
2257void AABBManager::postBpStage2(PxBaseTask* continuation, Cm::FlushPool& flushPool)
2258{
2259 {
2260 const PxU32 size = mDirtyAggregates.size();
2261 for (PxU32 i = 0; i < size; i += ProcessSelfCollisionPairsParallel::MaxPairs)
2262 {
2263 const PxU32 nbToProcess = PxMin(size - i, ProcessSelfCollisionPairsParallel::MaxPairs);
2264
2265 ProcessSelfCollisionPairsParallel* task = PX_PLACEMENT_NEW(flushPool.allocate(sizeof(ProcessSelfCollisionPairsParallel)), ProcessSelfCollisionPairsParallel)
2266 (mContextID, &mDirtyAggregates[i], nbToProcess, this);
2267 if (continuation)
2268 {
2269 task->setContinuation(continuation);
2270 task->removeReference();
2271 }
2272 else
2273 task->runInternal();
2274 mAggPairTasks.pushBack(task);
2275 }
2276 }
2277
2278 {
2279 if (continuation)
2280 processAggregatePairsParallel(mAggregateAggregatePairs, *this, flushPool, continuation, "AggAggPairs", mAggPairTasks);
2281 else
2282 processAggregatePairs(mAggregateAggregatePairs, *this);
2283 }
2284
2285
2286
2287 {
2288 if (continuation)
2289 processAggregatePairsParallel(mActorAggregatePairs, *this, flushPool, continuation, "AggActorPairs", mAggPairTasks);
2290 else
2291 processAggregatePairs(mActorAggregatePairs, *this);
2292 }
2293
2294
2295}
2296
2297void AABBManager::postBpStage3(PxBaseTask*)
2298{

Callers 1

runInternalMethod · 0.80

Calls 9

PxMinFunction · 0.85
processAggregatePairsFunction · 0.85
setContinuationMethod · 0.80
sizeMethod · 0.45
allocateMethod · 0.45
removeReferenceMethod · 0.45
runInternalMethod · 0.45
pushBackMethod · 0.45

Tested by

no test coverage detected