public void TwoJobsUsingDynamicBuffersDontCauseSafetySystemFalsePositiveErrors() { SetupDynamicBufferJobTestEnvironment(); var query = EmptySystem.GetEntityQuery(typeof(EcsIntElement)); var jobA = new BufferSafetyJobA(); var jobAHandle = jobA.Schedule(query, default(JobHandle)); var jobB = new BufferSafetyJobB { Entities = query.ToEntityArray(Allocator.TempJob), BuffersFromEntity = EmptySystem.GetBufferFromEntity <EcsIntElement>(true) }; var jobBHandle = jobB.Schedule(jobB.Entities.Length, 1, jobAHandle); jobBHandle.Complete(); }
public void TwoJobsUsingReadOnlyDynamicBuffersCanRunInParallel_BufferFromEntity() { SetupDynamicBufferJobTestEnvironment(); var query = EmptySystem.GetEntityQuery(typeof(EcsIntElement)); var jobA = new BufferSafetyJobC { EntityTypeHandle = m_Manager.GetEntityTypeHandle(), BufferFromEntityRO = m_Manager.GetBufferFromEntity <EcsIntElement>(true), MyArray = new NativeArray <int>(1, Allocator.TempJob) }; var jobAHandle = jobA.Schedule(query, default(JobHandle)); var jobB = new BufferSafetyJobB { Entities = query.ToEntityArray(Allocator.TempJob), BuffersFromEntity = EmptySystem.GetBufferFromEntity <EcsIntElement>(true) }; var jobBHandle = jobB.Schedule(jobB.Entities.Length, 1, default(JobHandle)); jobAHandle.Complete(); jobBHandle.Complete(); }