/// <inheritdoc cref="CtxDestroy(CuContext)"/> public void Dispose() { var handle = Interlocked.Exchange(ref Handle, IntPtr.Zero); if (handle == IntPtr.Zero) { return; } var obj = new CuContext { Handle = handle }; CtxDestroy(obj); }
public static extern CuResult CtxLockCreate(out CuVideoContextLock pLock, CuContext ctx);
internal CuContextPush(CuContext context) { _context = context; _disposed = 0; }
public static extern CuResult CtxDetach(CuContext ctx);
public static extern CuResult CtxCreate(out CuContext pctx, CuContextFlags flags, CuDevice dev);
public static extern CuResult CtxAttach(out CuContext pctx, CuContextFlags flags);
public static extern CuResult CtxGetCurrent(out CuContext pctx);
public static extern CuResult CtxGetApiVersion(CuContext ctx, out uint version);
public static extern CuResult CtxSetCurrent(CuContext ctx);
public static extern CuResult CtxDestroy(CuContext ctx);
public static extern CuResult CtxDisablePeerAccess(CuContext peerContext);
public static extern CuResult CtxEnablePeerAccess(CuContext peerContext, int flags = 0);
public static extern CuResult DevicePrimaryCtxRetain(out CuContext pctx, CuDevice dev);