public void Write(CLMemBuffer mem, bool blocking, int offset = 0, int size = -1) { if (size == -1) { size = mem.Size; } // if(size) QueueWriteBuffer(handle, mem.handle, blocking, offset, size, IntPtr.Zero); }
public void Write(CLMemBuffer mem, bool blocking, byte[] data, int offset = 0, int size = -1) { if (size == -1) { size = data.Length; } unsafe { fixed(byte *pp = data) { IntPtr bp = (IntPtr)pp; QueueWriteBuffer(handle, mem.handle, blocking, offset, size, bp); } } }
public byte[] Read(CLMemBuffer mem, bool block, int size = -1) { if (size == -1) { size = mem.Size; } byte[] data = new byte[size]; unsafe { fixed(byte *p = data) { IntPtr pp = (IntPtr)p; QueueReadBuffer(handle, mem.handle, block, size, pp); } } return(data); }
public bool SetArg(int index, CLMemBuffer mem) { return(KernSetArgMem(handle, index, mem.Size, mem.handle)); }