Example #1
0
        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);
        }
Example #2
0
        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);
                }
            }
        }
Example #3
0
        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);
        }
Example #4
0
 public bool SetArg(int index, CLMemBuffer mem)
 {
     return(KernSetArgMem(handle, index, mem.Size, mem.handle));
 }