public static extern IntPtr CreateSubBuffer( [In] IntPtr memoryObject, [In][MarshalAs(UnmanagedType.U8)] MemoryFlag flags, [In][MarshalAs(UnmanagedType.U4)] BufferCreateType bufferCreateType, [In] IntPtr bufferCreateInformation, [Out][MarshalAs(UnmanagedType.I4)] out Result errorCode );
public IntPtr clCreateSubBuffer(IntPtr buffer, MemoryFlags flags, BufferCreateType bufferCreateType, IntPtr bufferCreateInfo, out OpenClErrorCode errorCode) { errorCode = clCreateSubBufferErrorCode ?? OpenClErrorCode.Success; if (errorCode == OpenClErrorCode.Success) { var id = clCreateSubBufferResult ?? new IntPtr(1); var regionObject = Marshal.PtrToStructure <BufferRegion>(bufferCreateInfo); const MemoryFlags memMask = MemoryFlags.AllocHostPointer | MemoryFlags.UseHostPointer | MemoryFlags.CopyHostPointer; var parent = FakeMemoryObjects[buffer]; var validFlags = (parent.Flags & (memMask)) | flags; FakeMemoryObjects[id] = new FakeMemoryObject(regionObject.Size, validFlags, parent.HostPointer); return(id); } return(IntPtr.Zero); }
IntPtr IBufferApi.clCreateSubBuffer(IntPtr buffer, MemoryFlags flags, BufferCreateType bufferCreateType, IntPtr bufferCreateInfo, out OpenClErrorCode errorCode) { return(clCreateSubBuffer(buffer, flags, bufferCreateType, bufferCreateInfo, out errorCode)); }
public static extern IntPtr clCreateSubBuffer(IntPtr buffer, MemoryFlags flags, BufferCreateType bufferCreateType, IntPtr bufferCreateInfo, out OpenClErrorCode errorCode);
internal static extern cl_mem clCreateSubBuffer(cl_mem buffer, cl_mem_flags flags, BufferCreateType buffer_create_type, void *buffer_create_info, out ErrorCode errcode_ret);