aboutsummaryrefslogtreecommitdiff
path: root/PhysX_3.4/Source/PhysX/src
diff options
context:
space:
mode:
authorSheikh Dawood Abdul Ajees <[email protected]>2017-04-25 16:02:08 -0500
committerSheikh Dawood Abdul Ajees <[email protected]>2017-04-25 16:02:08 -0500
commitd11708e398c2f6377d9eac2b1f7248c62faab569 (patch)
tree5778e794690c046ab4b0205d8f764960a5af168b /PhysX_3.4/Source/PhysX/src
parentPhysX 3.4, APEX 1.4 patch release @21821222 (diff)
downloadphysx-3.4-d11708e398c2f6377d9eac2b1f7248c62faab569.tar.xz
physx-3.4-d11708e398c2f6377d9eac2b1f7248c62faab569.zip
PhysX 3.4, APEX 1.4 patch release @22017166
Diffstat (limited to 'PhysX_3.4/Source/PhysX/src')
-rw-r--r--PhysX_3.4/Source/PhysX/src/NpScene.cpp10
-rw-r--r--PhysX_3.4/Source/PhysX/src/NpScene.h2
-rw-r--r--PhysX_3.4/Source/PhysX/src/NpSceneQueries.cpp18
-rw-r--r--PhysX_3.4/Source/PhysX/src/NpSceneQueries.h12
4 files changed, 22 insertions, 20 deletions
diff --git a/PhysX_3.4/Source/PhysX/src/NpScene.cpp b/PhysX_3.4/Source/PhysX/src/NpScene.cpp
index 28d6a8e0..783436da 100644
--- a/PhysX_3.4/Source/PhysX/src/NpScene.cpp
+++ b/PhysX_3.4/Source/PhysX/src/NpScene.cpp
@@ -122,11 +122,11 @@ NpScene::NpScene(const PxSceneDesc& desc) :
mSanityBounds (desc.sanityBounds),
mNbClients (1), //we always have the default client.
mClientBehaviorFlags (PX_DEBUG_EXP("sceneBehaviorFlags")),
- mSceneCompletion (mPhysicsDone),
- mCollisionCompletion (mCollisionDone),
- mSceneExecution (0, "NpScene.execution"),
- mSceneCollide (0, "NpScene.collide"),
- mSceneAdvance (0, "NpScene.solve"),
+ mSceneCompletion (getContextId(), mPhysicsDone),
+ mCollisionCompletion (getContextId(), mCollisionDone),
+ mSceneExecution (getContextId(), 0, "NpScene.execution"),
+ mSceneCollide (getContextId(), 0, "NpScene.collide"),
+ mSceneAdvance (getContextId(), 0, "NpScene.solve"),
mControllingSimulation (false),
mSimThreadStackSize (0),
mConcurrentWriteCount (0),
diff --git a/PhysX_3.4/Source/PhysX/src/NpScene.h b/PhysX_3.4/Source/PhysX/src/NpScene.h
index 84420173..4c07f38e 100644
--- a/PhysX_3.4/Source/PhysX/src/NpScene.h
+++ b/PhysX_3.4/Source/PhysX/src/NpScene.h
@@ -433,7 +433,7 @@ private:
struct SceneCompletion : public Cm::Task
{
- SceneCompletion(Ps::Sync& sync) : mSync(sync){}
+ SceneCompletion(PxU64 contextId, Ps::Sync& sync) : Cm::Task(contextId), mSync(sync){}
virtual void runInternal() {}
//ML: As soon as mSync.set is called, and the scene is shutting down,
//the scene may be deleted. That means this running task may also be deleted.
diff --git a/PhysX_3.4/Source/PhysX/src/NpSceneQueries.cpp b/PhysX_3.4/Source/PhysX/src/NpSceneQueries.cpp
index 08d1a14c..45202c2d 100644
--- a/PhysX_3.4/Source/PhysX/src/NpSceneQueries.cpp
+++ b/PhysX_3.4/Source/PhysX/src/NpSceneQueries.cpp
@@ -819,18 +819,8 @@ bool NpSceneQueries::multiQuery(
}
}
+//explicit template instantiation
+template bool NpSceneQueries::multiQuery<PxRaycastHit>(const MultiQueryInput&, PxHitCallback<PxRaycastHit>&, PxHitFlags, const PxQueryCache*, const PxQueryFilterData&, PxQueryFilterCallback*, BatchQueryFilterData*) const;
+template bool NpSceneQueries::multiQuery<PxOverlapHit>(const MultiQueryInput&, PxHitCallback<PxOverlapHit>&, PxHitFlags, const PxQueryCache*, const PxQueryFilterData&, PxQueryFilterCallback*, BatchQueryFilterData*) const;
+template bool NpSceneQueries::multiQuery<PxSweepHit>(const MultiQueryInput&, PxHitCallback<PxSweepHit>&, PxHitFlags, const PxQueryCache*, const PxQueryFilterData&, PxQueryFilterCallback*, BatchQueryFilterData*) const;
-// explicit instantiations for multiQuery to fix link errors on android
-#if !PX_WINDOWS_FAMILY
-#define TMQ(hittype) \
- template bool NpSceneQueries::multiQuery<hittype>( \
- const MultiQueryInput& input, PxHitCallback<hittype>& hits, PxHitFlags hitFlags, \
- const PxQueryCache* cache, const PxQueryFilterData& filterData, PxQueryFilterCallback* filterCall, \
- BatchQueryFilterData* bfd) const;
-
-TMQ(PxRaycastHit)
-TMQ(PxOverlapHit)
-TMQ(PxSweepHit)
-
-#undef TMQ
-#endif
diff --git a/PhysX_3.4/Source/PhysX/src/NpSceneQueries.h b/PhysX_3.4/Source/PhysX/src/NpSceneQueries.h
index 41844e7e..e2ceaf83 100644
--- a/PhysX_3.4/Source/PhysX/src/NpSceneQueries.h
+++ b/PhysX_3.4/Source/PhysX/src/NpSceneQueries.h
@@ -195,6 +195,18 @@ PX_FORCE_INLINE Vd::PvdSceneQueryCollector& getBatchedSqCollector() const {re
#endif // PX_SUPPORT_PVD
};
+#if PX_SUPPORT_EXTERN_TEMPLATE
+//explicit template instantiation declaration
+extern template
+bool NpSceneQueries::multiQuery<PxRaycastHit>(const MultiQueryInput&, PxHitCallback<PxRaycastHit>&, PxHitFlags, const PxQueryCache*, const PxQueryFilterData&, PxQueryFilterCallback*, BatchQueryFilterData*) const;
+
+extern template
+bool NpSceneQueries::multiQuery<PxOverlapHit>(const MultiQueryInput&, PxHitCallback<PxOverlapHit>&, PxHitFlags, const PxQueryCache*, const PxQueryFilterData&, PxQueryFilterCallback*, BatchQueryFilterData*) const;
+
+extern template
+bool NpSceneQueries::multiQuery<PxSweepHit>(const MultiQueryInput&, PxHitCallback<PxSweepHit>&, PxHitFlags, const PxQueryCache*, const PxQueryFilterData&, PxQueryFilterCallback*, BatchQueryFilterData*) const;
+#endif
+
namespace Sq { class AABBPruner; class AABBTreeRuntimeNode; class AABBTree; }
#if PX_VC