public static unsafe JobHandle CombineDependencies(NativeArray <JobHandle> jobHandles) { var fence = new JobHandle(); #if UNITY_SINGLETHREADED_JOBS fence.JobGroup = JobsUtility.GetFakeJobGroupId(); #if ENABLE_UNITY_COLLECTIONS_CHECKS JobsUtility.DebugDidScheduleJob(ref fence, (JobHandle *)jobHandles.GetUnsafeReadOnlyPtr(), jobHandles.Length); #endif #else JobsUtility.ScheduleMultiDependencyJob(ref fence, JobsUtility.BatchScheduler, (JobHandle *)jobHandles.GetUnsafeReadOnlyPtr(), jobHandles.Length); #endif return(fence); }
public static unsafe JobHandle CombineDependencies(JobHandle one, JobHandle two, JobHandle three) { var fence = new JobHandle(); var dependencies = stackalloc JobHandle[] { one, two, three }; #if UNITY_SINGLETHREADED_JOBS fence.JobGroup = JobsUtility.GetFakeJobGroupId(); #if ENABLE_UNITY_COLLECTIONS_CHECKS JobsUtility.DebugDidScheduleJob(ref fence, (JobHandle *)UnsafeUtility.AddressOf(ref dependencies[0]), 3); #endif #else JobsUtility.ScheduleMultiDependencyJob(ref fence, JobsUtility.BatchScheduler, (JobHandle *)UnsafeUtility.AddressOf(ref dependencies[0]), 3); #endif return(fence); }