/// <summary> /// Constructs a new OpenCL buffer. /// </summary> /// <param name="accelerator">The accelerator.</param> /// <param name="extent">The extent.</param> internal CLMemoryBuffer(CLAccelerator accelerator, TIndex extent) : base(accelerator, extent) { CLException.ThrowIfFailed( CurrentAPI.CreateBuffer( accelerator.ContextPtr, CLBufferFlags.CL_MEM_READ_WRITE, new IntPtr(extent.Size * ElementSize), IntPtr.Zero, out IntPtr resultPtr)); NativePtr = resultPtr; }