public CuGraphicsMappedResource( CuGraphicsResource resource, CuStream stream) { _resource = resource; _stream = stream; }
/// <inheritdoc cref="StreamDestroy(CuStream)"/> public void Dispose() { var handle = Interlocked.Exchange(ref Handle, IntPtr.Zero); if (handle == IntPtr.Zero) return; var obj = new CuStream { Handle = handle }; CheckResult(StreamDestroy(obj)); }
/// <inheritdoc cref="GraphicsMapResources(int, CuGraphicsResource*, CuStream)"/> public unsafe CuGraphicsMappedResource Map(CuStream stream) { var copy = this; var result = GraphicsMapResources(1, ©, stream); CheckResult(result); return(new CuGraphicsMappedResource(this, stream)); }
public static extern CuResult StreamWriteValue64(CuStream stream, CuDevicePtr addr, long value, int flags);
public static extern CuResult StreamDestroy(CuStream hStream);
public static extern CuResult StreamSynchronize(CuStream hStream);
public static extern CuResult StreamAttachMemAsync(CuStream hStream, CuDevicePtr dptr, IntPtr length, MemoryAttachFlags flags);
public static extern CuResult StreamWaitEvent(CuStream hStream, CuEvent hEvent, uint flags = 0);
public static extern CuResult MemsetD8Async(CuDevicePtr dstDevice, byte uc, IntPtr n, CuStream hStream);
public static extern CuResult GraphicsUnmapResources(int count, CuGraphicsResource *resources, CuStream hStream);
public static extern CuResult MemPrefetchAsync(CuDevicePtr devPtr, IntPtr count, CuDevice dstDevice, CuStream hStream);
public static extern CuResult LaunchCooperativeKernel(CuFunction f, int gridDimX, int gridDimY, int gridDimZ, int blockDimX, int blockDimY, int blockDimZ, int sharedMemBytes, CuStream hStream, void **kernelParams);
public static extern CuResult EventRecord(CuEvent hEvent, CuStream hStream);
public static extern CuResult StreamBatchMemOp(CuStream stream, int count, CuSreamBatchMemOpParams *paramArray, int flags);
public static extern CuResult StreamGetPriority(CuStream hStream, out int priority);
public static extern CuResult StreamGetFlags(CuStream hStream, out CuStreamFlags flags);
public static extern CuResult MemsetD16Async(CuDevicePtr dstDevice, short us, IntPtr n, CuStream hStream);
public static extern CuResult StreamAddCallback(CuStream hStream, CuStreamCallback callback, IntPtr userData, uint flags = 0);
public static extern CuResult MemsetD32Async(CuDevicePtr dstDevice, int ui, IntPtr n, CuStream hStream);
public static extern CuResult StreamQuery(CuStream hStream);
public static extern CuResult MemsetD2D16Async(CuDevicePtr dstDevice, IntPtr dstPitch, short us, IntPtr width, IntPtr height, CuStream hStream);
public static extern CuResult StreamCreate(out CuStream phStream, CuStreamFlags flags);
public static extern CuResult MemsetD2D32Async(CuDevicePtr dstDevice, IntPtr dstPitch, int ui, IntPtr width, IntPtr height, CuStream hStream);
public static extern CuResult StreamCreateWithPriority(out CuStream phStream, CuStreamFlags flags, int priority);
public static extern CuResult StreamWriteValue32(CuStream stream, CuDevicePtr addr, int value, CuStreamWriteValue flags);