Exemplo n.º 1
0
        public static Event Write <T>(
            this IArrayReadWrite <T> buffer,
            CommandQueue commandQueue,
            bool blocking,
            long bufferOffset, int length,
            T[] data, int dataOffset,
            params Event[] eventWaitList)
        {
            if (bufferOffset < 0 || bufferOffset + length > buffer.Length)
            {
                throw new IndexOutOfRangeException($"{nameof(bufferOffset)}: {bufferOffset}, {nameof(length)}: {length}");
            }

            if (dataOffset < 0 || dataOffset + length > data.Length)
            {
                throw new IndexOutOfRangeException($"{nameof(dataOffset)}: {dataOffset}, {nameof(length)}: {length}");
            }

            return(buffer.WriteDirect(
                       commandQueue,
                       blocking,
                       bufferOffset, length,
                       data, dataOffset,
                       eventWaitList));
        }
Exemplo n.º 2
0
 public static Event Read <T>(
     this IArrayReadWrite <T> buffer,
     CommandQueue commandQueue,
     bool blocking,
     T[] data,
     params Event[] eventWaitList)
 => Read(buffer, commandQueue, blocking, 0L, data.Length, data, 0, eventWaitList);
Exemplo n.º 3
0
 public static Event Write <T>(
     this IArrayReadWrite <T> buffer,
     CommandQueue commandQueue,
     bool blocking,
     long bufferOffset, int length,
     T[] data,
     params Event[] eventWaitList)
 => Write(buffer, commandQueue, blocking, bufferOffset, length, data, 0, eventWaitList);