diff options
| author | sschirm <[email protected]> | 2016-12-23 14:20:36 +0100 |
|---|---|---|
| committer | sschirm <[email protected]> | 2016-12-23 14:56:17 +0100 |
| commit | ef6937e69e8ee3f409cf9d460d5ad300a65d5924 (patch) | |
| tree | 710426e8daa605551ce3f34b581897011101c30f /APEX_1.4/module/pxparticleios/include/ParticleIosActorGPU.h | |
| parent | Initial commit: (diff) | |
| download | physx-3.4-ef6937e69e8ee3f409cf9d460d5ad300a65d5924.tar.xz physx-3.4-ef6937e69e8ee3f409cf9d460d5ad300a65d5924.zip | |
PhysX 3.4 / APEX 1.4 release candidate @21506124
Diffstat (limited to 'APEX_1.4/module/pxparticleios/include/ParticleIosActorGPU.h')
| -rw-r--r-- | APEX_1.4/module/pxparticleios/include/ParticleIosActorGPU.h | 131 |
1 files changed, 0 insertions, 131 deletions
diff --git a/APEX_1.4/module/pxparticleios/include/ParticleIosActorGPU.h b/APEX_1.4/module/pxparticleios/include/ParticleIosActorGPU.h deleted file mode 100644 index b7339c46..00000000 --- a/APEX_1.4/module/pxparticleios/include/ParticleIosActorGPU.h +++ /dev/null @@ -1,131 +0,0 @@ -/* - * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved. - * - * NVIDIA CORPORATION and its licensors retain all intellectual property - * and proprietary rights in and to this software, related documentation - * and any modifications thereto. Any use, reproduction, disclosure or - * distribution of this software and related documentation without an express - * license agreement from NVIDIA CORPORATION is strictly prohibited. - */ - - -#ifndef __PARTICLE_IOS_ACTOR_GPU_H__ -#define __PARTICLE_IOS_ACTOR_GPU_H__ - -#include "Apex.h" - -#include "ParticleIosActorImpl.h" -#include "ParticleIosAssetImpl.h" -#include "InstancedObjectSimulationIntl.h" -#include "ParticleIosScene.h" -#include "ApexActor.h" -#include "ApexContext.h" -#include "ApexFIFO.h" -#include "FieldSamplerQueryIntl.h" - -#include "PxGpuTask.h" - -namespace nvidia -{ - -namespace iofx -{ -class IofxActor; -class RenderVolume; -} - -namespace pxparticleios -{ - -class ParticleIosActorGPU; - -class ParticleIosActorGPU : public ParticleIosActorImpl -{ -public: - ParticleIosActorGPU(ResourceList&, ParticleIosAssetImpl&, ParticleIosScene&, IofxAsset&); - ~ParticleIosActorGPU(); - - virtual PxTaskID submitTasks(PxTaskManager* tm); - virtual void setTaskDependencies(PxTaskID taskStartAfterID, PxTaskID taskFinishBeforeID); - virtual void fetchResults(); - -private: - bool launch(CUstream stream, int kernelIndex); - void trigger(); - -#if APEX_CUDA_SUPPORT - CUevent mCuSyncEvent; - PxGpuCopyDescQueue mCopyQueue; -#endif - - ApexMirroredArray<uint32_t> mHoleScanSum; - ApexMirroredArray<uint32_t> mMoveIndices; - - ApexMirroredArray<uint32_t> mTmpReduce; - ApexMirroredArray<uint32_t> mTmpHistogram; - ApexMirroredArray<uint32_t> mTmpScan; - ApexMirroredArray<uint32_t> mTmpScan1; - - ApexMirroredArray<uint32_t> mTmpOutput; // 0:STATUS_LASTACTIVECOUNT, ... - ApexMirroredArray<uint32_t> mTmpBoundParams; // min, max - - class LaunchTask : public PxGpuTask - { - public: - LaunchTask(ParticleIosActorGPU& actor) : mActor(actor) {} - const char* getName() const - { - return "ParticleIosActorGPU::LaunchTask"; - } - void run() - { - PX_ALWAYS_ASSERT(); - } - bool launchInstance(CUstream stream, int kernelIndex) - { - return mActor.launch(stream, kernelIndex); - } - PxGpuTaskHint::Enum getTaskHint() const - { - return PxGpuTaskHint::Kernel; - } - - protected: - ParticleIosActorGPU& mActor; - - private: - LaunchTask& operator=(const LaunchTask&); - }; - class TriggerTask : public PxTask - { - public: - TriggerTask(ParticleIosActorGPU& actor) : mActor(actor) {} - - const char* getName() const - { - return "ParticleIosActorGPU::TriggerTask"; - } - void run() - { - mActor.trigger(); - } - - protected: - ParticleIosActorGPU& mActor; - - private: - TriggerTask& operator=(const TriggerTask&); - }; - - - static PX_CUDA_CALLABLE PX_INLINE PxMat44 inverse(const PxMat44& in); - static float distance(PxVec4 a, PxVec4 b); - - LaunchTask mLaunchTask; - TriggerTask mTriggerTask; -}; - -} -} // namespace nvidia - -#endif // __PARTICLE_IOS_ACTOR_GPU_H__ |