aboutsummaryrefslogtreecommitdiff
path: root/NvCloth/src/TripletScheduler.h
diff options
context:
space:
mode:
authorMarijn Tamis <[email protected]>2018-05-03 18:22:48 +0200
committerMarijn Tamis <[email protected]>2018-05-03 18:22:48 +0200
commitca32c59a58d37c1822e185a2d5f3d0d3e8943593 (patch)
treeb06b9eec03f34344ef8fc31aa147b2714d3962ee /NvCloth/src/TripletScheduler.h
parentForced rename of platform folders in cmake dir. Git didn't pick this up before. (diff)
downloadnvcloth-ca32c59a58d37c1822e185a2d5f3d0d3e8943593.tar.xz
nvcloth-ca32c59a58d37c1822e185a2d5f3d0d3e8943593.zip
NvCloth 1.1.4 Release. (24070740)
Diffstat (limited to 'NvCloth/src/TripletScheduler.h')
-rw-r--r--NvCloth/src/TripletScheduler.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/NvCloth/src/TripletScheduler.h b/NvCloth/src/TripletScheduler.h
index 26119cf..81dc889 100644
--- a/NvCloth/src/TripletScheduler.h
+++ b/NvCloth/src/TripletScheduler.h
@@ -43,6 +43,7 @@ struct TripletScheduler
{
typedef Vector<Vec4u>::Type::ConstIterator ConstTripletIter;
typedef Vector<Vec4u>::Type::Iterator TripletIter;
+ typedef Vector<uint32_t>::Type::Iterator SetIter;
TripletScheduler(Range<const uint32_t[4]>);
void simd(uint32_t numParticles, uint32_t simdWidth);
@@ -50,6 +51,32 @@ struct TripletScheduler
Vector<Vec4u>::Type mTriplets;
Vector<uint32_t>::Type mSetSizes;
+ Vector<Vec4us>::Type mPaddedTriplets;
};
}
}
+
+//Make TripletScheduler available for the unit tests.
+namespace nv
+{
+namespace cloth
+{
+struct NV_CLOTH_IMPORT TripletSchedulerTestInterface
+{
+private:
+ TripletScheduler* mScheduler;
+
+public:
+ TripletSchedulerTestInterface(Range<const uint32_t[4]> triplets);
+ ~TripletSchedulerTestInterface();
+ void simd(uint32_t numParticles, uint32_t simdWidth);
+ void warp(uint32_t numParticles, uint32_t warpWidth);
+
+ Range<const uint32_t> GetTriplets();
+ Range<const uint32_t> GetSetSizes();
+};
+}
+}
+
+NV_CLOTH_API(nv::cloth::TripletSchedulerTestInterface*) NvClothCreateTripletScheduler(nv::cloth::Range<const uint32_t[4]>);
+NV_CLOTH_API(void) NvClothDestroyTripletScheduler(nv::cloth::TripletSchedulerTestInterface*);