예제 #1
0
        /// <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);
        }
예제 #2
0
 public static extern CuResult CtxLockCreate(out CuVideoContextLock pLock, CuContext ctx);
예제 #3
0
 internal CuContextPush(CuContext context)
 {
     _context  = context;
     _disposed = 0;
 }
예제 #4
0
 public static extern CuResult CtxDetach(CuContext ctx);
예제 #5
0
 public static extern CuResult CtxCreate(out CuContext pctx, CuContextFlags flags, CuDevice dev);
예제 #6
0
 public static extern CuResult CtxAttach(out CuContext pctx, CuContextFlags flags);
예제 #7
0
 public static extern CuResult CtxGetCurrent(out CuContext pctx);
예제 #8
0
 public static extern CuResult CtxGetApiVersion(CuContext ctx, out uint version);
예제 #9
0
 public static extern CuResult CtxSetCurrent(CuContext ctx);
예제 #10
0
 public static extern CuResult CtxDestroy(CuContext ctx);
예제 #11
0
 public static extern CuResult CtxDisablePeerAccess(CuContext peerContext);
예제 #12
0
 public static extern CuResult CtxEnablePeerAccess(CuContext peerContext, int flags = 0);
예제 #13
0
 public static extern CuResult DevicePrimaryCtxRetain(out CuContext pctx, CuDevice dev);