diff options
Diffstat (limited to 'PhysX_3.4/Source/LowLevelCloth/src/windows')
| -rw-r--r-- | PhysX_3.4/Source/LowLevelCloth/src/windows/CuCloth.cpp | 29 | ||||
| -rw-r--r-- | PhysX_3.4/Source/LowLevelCloth/src/windows/CuFactory.cpp | 10 |
2 files changed, 5 insertions, 34 deletions
diff --git a/PhysX_3.4/Source/LowLevelCloth/src/windows/CuCloth.cpp b/PhysX_3.4/Source/LowLevelCloth/src/windows/CuCloth.cpp index 6ecd1aeb..d4cdcf2e 100644 --- a/PhysX_3.4/Source/LowLevelCloth/src/windows/CuCloth.cpp +++ b/PhysX_3.4/Source/LowLevelCloth/src/windows/CuCloth.cpp @@ -439,35 +439,6 @@ void ClothImpl<CuCloth>::clearParticleAccelerations() mCloth.wakeUp(); } -namespace -{ -uint32_t calculateNumReplays(const Vector<Vec4u>::Type& triplets, const Vector<uint32_t>::Type setSizes) -{ - uint32_t result = 0; - - Vector<Vec4u>::Type::ConstIterator tIt = triplets.begin(); - Vector<uint32_t>::Type::ConstIterator sIt, sEnd = setSizes.end(); - uint32_t index = 0; - for(sIt = setSizes.begin(); sIt != sEnd; ++sIt, ++index) - { - Vector<Vec4u>::Type::ConstIterator tEnd = tIt + *sIt, tLast = tIt; - while(tLast != tEnd) - { - uint8_t numConflicts[3][32] = {}; - uint8_t numReplays[3] = {}; - - for(tLast += PxMin(ptrdiff_t(32), tEnd - tLast); tIt != tLast; ++tIt) - for(int i = 0; i < 3; ++i) - numReplays[i] = PxMax(numReplays[i], ++numConflicts[i][(*tIt)[i] & 31]); - - result += numReplays[0] + numReplays[1] + numReplays[2]; - } - } - - return result; -} -} - template <> void ClothImpl<CuCloth>::setVirtualParticles(Range<const uint32_t[4]> indices, Range<const PxVec3> weights) { diff --git a/PhysX_3.4/Source/LowLevelCloth/src/windows/CuFactory.cpp b/PhysX_3.4/Source/LowLevelCloth/src/windows/CuFactory.cpp index 8847780e..8170e622 100644 --- a/PhysX_3.4/Source/LowLevelCloth/src/windows/CuFactory.cpp +++ b/PhysX_3.4/Source/LowLevelCloth/src/windows/CuFactory.cpp @@ -249,21 +249,21 @@ void cloth::CuFactory::extractCollisionData(const Cloth& cloth, Range<PxVec4> sp // collision spheres are in pinned memory, so memcpy directly if(!cuCloth.mStartCollisionSpheres.empty() && !spheres.empty()) - memcpy(spheres.begin(), &cuCloth.mStartCollisionSpheres.front(), + PxMemCopy(spheres.begin(), &cuCloth.mStartCollisionSpheres.front(), cuCloth.mStartCollisionSpheres.size() * sizeof(PxVec4)); if(!cuCloth.mCapsuleIndices.empty() && !capsules.empty()) - memcpy(capsules.begin(), &cuCloth.mCapsuleIndices.front(), cuCloth.mCapsuleIndices.size() * sizeof(IndexPair)); + PxMemCopy(capsules.begin(), &cuCloth.mCapsuleIndices.front(), cuCloth.mCapsuleIndices.size() * sizeof(IndexPair)); if(!cuCloth.mStartCollisionPlanes.empty() && !planes.empty()) - memcpy(planes.begin(), &cuCloth.mStartCollisionPlanes.front(), + PxMemCopy(planes.begin(), &cuCloth.mStartCollisionPlanes.front(), cuCloth.mStartCollisionPlanes.size() * sizeof(PxVec4)); if(!cuCloth.mConvexMasks.empty() && !convexes.empty()) - memcpy(convexes.begin(), &cuCloth.mConvexMasks.front(), cuCloth.mConvexMasks.size() * sizeof(uint32_t)); + PxMemCopy(convexes.begin(), &cuCloth.mConvexMasks.front(), cuCloth.mConvexMasks.size() * sizeof(uint32_t)); if(!cuCloth.mStartCollisionTriangles.empty() && !triangles.empty()) - memcpy(triangles.begin(), &cuCloth.mStartCollisionTriangles.front(), + PxMemCopy(triangles.begin(), &cuCloth.mStartCollisionTriangles.front(), cuCloth.mStartCollisionTriangles.size() * sizeof(PxVec3)); } |