public JobHandle Dispose(JobHandle inputDeps) { var jh = new DisposeJob { upbl = this }.Schedule(inputDeps); m_perThreadBlockLists = null; return(jh); }
public UnsafeParallelBlockList(int elementSize, int elementsPerBlock, Allocator allocator) { m_elementSize = elementSize; m_elementsPerBlock = elementsPerBlock; m_blockSize = elementSize * elementsPerBlock; m_allocator = allocator; m_perThreadBlockLists = (PerThreadBlockList *)UnsafeUtility.Malloc(64 * JobsUtility.MaxJobThreadCount, 64, allocator); for (int i = 0; i < JobsUtility.MaxJobThreadCount; i++) { m_perThreadBlockLists[i].lastByteAddressInBlock = null; m_perThreadBlockLists[i].nextWriteAddress = null; m_perThreadBlockLists[i].nextWriteAddress++; m_perThreadBlockLists[i].elementCount = 0; } }