public static JobHandle ScheduleParallel <JOB>(this JOB job, int iterations, JobHandle inputDeps) where JOB : struct, IJobParallelFor { if (iterations <= 0) { return(inputDeps); } var innerloopBatchCount = ProcessorCount.BatchSize((uint)iterations); return(job.Schedule((int)iterations, innerloopBatchCount, inputDeps)); }
public static JobHandle ScheduleParallelAndCombine <JOB>(this JOB job, int iterations, JobHandle inputDeps, JobHandle combinedDeps) where JOB : struct, IJobParallelFor { if (iterations == 0) { return(inputDeps); } var innerloopBatchCount = ProcessorCount.BatchSize((uint)iterations); var jobDeps = job.Schedule(iterations, innerloopBatchCount, inputDeps); return(JobHandle.CombineDependencies(combinedDeps, jobDeps)); }