Exemple #1
0
        /// <summary>
        /// Registers a new graphics interop resource for interop with DirectX
        /// </summary>
        /// <param name="d3dResource">DirectX resource to register</param>
        /// <param name="flags">register Flags</param>
        /// <param name="version">DirectX version</param>
        public CudaDirectXInteropResource(IntPtr d3dResource, CUGraphicsRegisterFlags flags, CudaContext.DirectXVersion version)
        {
            _cudaResource  = new CUgraphicsResource();
            _d3dResource   = d3dResource;
            _registerFlags = flags;
            _version       = version;

            switch (version)
            {
            case CudaContext.DirectXVersion.D3D9:
                res = DirectX9NativeMethods.CUDA3.cuGraphicsD3D9RegisterResource(ref _cudaResource, _d3dResource, flags);
                Debug.WriteLine(String.Format("{0:G}, {1}: {2}", DateTime.Now, "cuGraphicsD3D9RegisterResource", res));
                break;

            case CudaContext.DirectXVersion.D3D10:
                res = DirectX10NativeMethods.CUDA3.cuGraphicsD3D10RegisterResource(ref _cudaResource, _d3dResource, flags);
                Debug.WriteLine(String.Format("{0:G}, {1}: {2}", DateTime.Now, "cuGraphicsD3D10RegisterResource", res));
                break;

            case CudaContext.DirectXVersion.D3D11:
                res = DirectX11NativeMethods.cuGraphicsD3D11RegisterResource(ref _cudaResource, _d3dResource, flags);
                Debug.WriteLine(String.Format("{0:G}, {1}: {2}", DateTime.Now, "cuGraphicsD3D11RegisterResource", res));
                break;

            default:
                throw new ArgumentException("DirectX version not supported.", "dXVersion");
            }

            if (res != CUResult.Success)
            {
                throw new CudaException(res);
            }
            _IsRegistered = true;
            _IsMapped     = false;
        }
Exemple #2
0
        /// <summary>
        /// Registers a new graphics interop resource for interop with OpenGL buffer
        /// </summary>
        /// <param name="resource">OpenGL resource to register</param>
        /// <param name="flags">register Flags</param>
        public CudaOpenGLBufferInteropResource(uint resource, CUGraphicsRegisterFlags flags)
        {
            _cudaResource  = new CUgraphicsResource();
            _resource      = resource;
            _registerFlags = flags;

            res = OpenGLNativeMethods.CUDA3.cuGraphicsGLRegisterBuffer(ref _cudaResource, _resource, flags);
            Debug.WriteLine(String.Format("{0:G}, {1}: {2}", DateTime.Now, "cuGraphicsGLRegisterBuffer", res));

            if (res != CUResult.Success)
            {
                throw new CudaException(res);
            }
            _IsRegistered = true;
            _IsMapped     = false;
        }
 /// <summary>
 /// Registers a new graphics interop resource for interop with OpenGL image
 /// </summary>
 /// <param name="resource">OpenGL resource to register</param>
 /// <param name="flags">register Flags</param>
 /// <param name="target">OpenGLImageTarget</param>
 /// <param name="mapFlags">resource mapping flags</param>
 public CudaOpenGLImageInteropResource(uint resource, CUGraphicsRegisterFlags flags, OpenGLImageTarget target, CUGraphicsMapResourceFlags mapFlags)
     : this(resource, flags, target)
 {
     SetMapFlags(mapFlags);
 }
Exemple #4
0
 /// <summary>
 /// Registers a new graphics interop resource for interop with OpenGL buffer
 /// </summary>
 /// <param name="resource">OpenGL resource to register</param>
 /// <param name="flags">register Flags</param>
 /// <param name="mapFlags">resource mapping flags</param>
 public CudaOpenGLBufferInteropResource(uint resource, CUGraphicsRegisterFlags flags, CUGraphicsMapResourceFlags mapFlags)
     : this(resource, flags)
 {
     SetMapFlags(mapFlags);
 }
Exemple #5
0
 /// <summary>
 /// Registers a new graphics interop resource for interop with DirectX
 /// </summary>
 /// <param name="d3dResource">DirectX resource to register</param>
 /// <param name="flags">register Flags</param>
 /// <param name="version">DirectX version</param>
 /// <param name="mapFlags">resource mapping flags</param>
 public CudaDirectXInteropResource(IntPtr d3dResource, CUGraphicsRegisterFlags flags, CudaContext.DirectXVersion version, CUGraphicsMapResourceFlags mapFlags)
     : this(d3dResource, flags, version)
 {
     SetMapFlags(mapFlags);
 }
Exemple #6
0
 public static extern CUResult cuGraphicsD3D11RegisterResource(ref CUgraphicsResource pCudaResource, IntPtr pD3DResource, CUGraphicsRegisterFlags Flags);
Exemple #7
0
 public static extern CUResult cuGraphicsD3D11RegisterResource(ref CUgraphicsResource pCudaResource, IntPtr pD3DResource, CUGraphicsRegisterFlags Flags);
Exemple #8
0
 public static extern CUResult cuGraphicsGLRegisterImage(ref CUgraphicsResource pCudaResource, uint image, CudaOpenGLImageInteropResource.OpenGLImageTarget target, CUGraphicsRegisterFlags Flags);
Exemple #9
0
 public static extern CUResult cuGraphicsGLRegisterBuffer(ref CUgraphicsResource pCudaResource, uint buffer, CUGraphicsRegisterFlags Flags);
Exemple #10
0
 public static extern CUResult cuGraphicsGLRegisterImage(ref CUgraphicsResource pCudaResource, uint image, CudaOpenGLImageInteropResource.OpenGLImageTarget target, CUGraphicsRegisterFlags Flags);
Exemple #11
0
 public static extern CUResult cuGraphicsGLRegisterBuffer(ref CUgraphicsResource pCudaResource, uint buffer, CUGraphicsRegisterFlags Flags);