/// <summary> /// Schedule jobs to collect and sort shared values. /// </summary> /// <param name="inputDeps">Dependent JobHandle</param> /// <returns>JobHandle</returns> public JobHandle Schedule(JobHandle inputDeps) { if (m_Source.Length <= 1) { return(inputDeps); } var initializeIndicesJob = new InitializeIndices { buffer = m_Buffer }; var initializeIndicesJobHandle = initializeIndicesJob.Schedule(m_Source.Length, (m_Source.Length + 1) / 8, inputDeps); var sortJobHandle = Sort(initializeIndicesJobHandle); var resolveSharedGroupsJobHandle = ResolveSharedGroups(sortJobHandle); return(resolveSharedGroupsJobHandle); }
/// <summary> /// Schedule jobs to collect and sort shared values. /// </summary> /// <param name="inputDeps">Dependent JobHandle</param> /// <returns>JobHandle</returns> public JobHandle Schedule(JobHandle inputDeps) { if (m_SourceBuffer.Length == 0) { m_WorkingBuffer[0] = 0; return(inputDeps); } var initializeIndicesJob = new InitializeIndices { workingBuffer = m_WorkingBuffer }; var initializeIndicesJobHandle = initializeIndicesJob.Schedule(m_SourceBuffer.Length, (m_SourceBuffer.Length + 1) / 8, inputDeps); var sortJobHandle = Sort(initializeIndicesJobHandle); var resolveSharedGroupsJobHandle = ResolveSharedGroups(sortJobHandle); return(resolveSharedGroupsJobHandle); }