public void WriteAll(OpenCLBufferBase<float> buffer, float[] targetArray, bool blocking = true, IList<ComputeEventBase> events = null) { Contract.Requires(targetArray != null); Contract.Requires(targetArray.Length > 0); ComputeCommandQueue.WriteToBuffer(targetArray, buffer.ComputeBufferBase, blocking, events); }
private IntPtr MapBufferForReading(OpenCLBufferBase buffer) { return(CommandQueue.Map( buffer, true, // blocking OpenCLMemoryMappingFlags.Read, 0, // offset buffer.Length)); }
public void Read(OpenCLBufferBase<float> buffer, float[] targetArray, long offset, long count, bool blocking = true, IList<ComputeEventBase> events = null) { Contract.Requires(targetArray != null); Contract.Requires(targetArray.Length > 0); Contract.Requires(offset >= 0); Contract.Requires(count > 0); ComputeCommandQueue.ReadFromBuffer(buffer.ComputeBufferBase, ref targetArray, blocking, offset, 0, count, events); }