6.39.1. OpenGL互操作性[已弃用]
[OpenGL互操作性]
本节介绍已弃用的OpenGL互操作功能。
枚举
- enum CUGLmap_flags
Functions
- CUresult cuGLCtxCreate ( CUcontext* pCtx, unsigned int Flags, CUdevice device )
- Create a CUDA context for interoperability with OpenGL.
- CUresult cuGLInit ( void )
- Initializes OpenGL interoperability.
- CUresult cuGLMapBufferObject ( CUdeviceptr* dptr, size_t* size, GLuint buffer )
- Maps an OpenGL buffer object.
- CUresult cuGLMapBufferObjectAsync ( CUdeviceptr* dptr, size_t* size, GLuint buffer, CUstream hStream )
- Maps an OpenGL buffer object.
- CUresult cuGLRegisterBufferObject ( GLuint buffer )
- Registers an OpenGL buffer object.
- CUresult cuGLSetBufferObjectMapFlags ( GLuint buffer, unsigned int Flags )
- Set the map flags for an OpenGL buffer object.
- CUresult cuGLUnmapBufferObject ( GLuint buffer )
- Unmaps an OpenGL buffer object.
- CUresult cuGLUnmapBufferObjectAsync ( GLuint buffer, CUstream hStream )
- Unmaps an OpenGL buffer object.
- CUresult cuGLUnregisterBufferObject ( GLuint buffer )
- Unregister an OpenGL buffer object.
枚举
Functions
- CUresult cuGLCtxCreate ( CUcontext* pCtx, unsigned int Flags, CUdevice device )
-
创建一个CUDA上下文以实现与OpenGL的互操作性。
参数
- pCtx
- - Returned CUDA context
- Flags
- - Options for CUDA context creation
- device
- - Device on which to create the context
返回
CUDA_SUCCESS, CUDA_ERROR_DEINITIALIZED, CUDA_ERROR_NOT_INITIALIZED, CUDA_ERROR_INVALID_CONTEXT, CUDA_ERROR_INVALID_VALUE, CUDA_ERROR_OUT_OF_MEMORY
已弃用
该函数自Cuda 5.0起已弃用。
描述
此函数已弃用,不应再使用。为了实现最佳的互操作性性能,不再需要将CUDA上下文与OpenGL上下文关联。
Note:请注意,此函数也可能返回之前异步启动的错误代码。
另请参阅:
cuCtxCreate, cuGLInit, cuGLMapBufferObject, cuGLRegisterBufferObject, cuGLUnmapBufferObject, cuGLUnregisterBufferObject, cuGLMapBufferObjectAsync, cuGLUnmapBufferObjectAsync, cuGLSetBufferObjectMapFlags, cuWGLGetDevice
- CUresult cuGLInit ( void )
-
初始化OpenGL互操作性。
返回
CUDA_SUCCESS, CUDA_ERROR_DEINITIALIZED, CUDA_ERROR_NOT_INITIALIZED, CUDA_ERROR_INVALID_CONTEXT, CUDA_ERROR_UNKNOWN
已弃用
该函数自Cuda 3.0起已弃用。
描述
初始化OpenGL互操作性。此函数已弃用,不再需要调用。如果所需的OpenGL驱动程序功能不可用,可能会失败。
Note:请注意,此函数也可能返回之前异步启动的错误代码。
另请参阅:
cuGLMapBufferObject, cuGLRegisterBufferObject, cuGLUnmapBufferObject, cuGLUnregisterBufferObject, cuGLMapBufferObjectAsync, cuGLUnmapBufferObjectAsync, cuGLSetBufferObjectMapFlags, cuWGLGetDevice
- CUresult cuGLMapBufferObject ( CUdeviceptr* dptr, size_t* size, GLuint buffer )
-
映射一个OpenGL缓冲对象。
参数
- dptr
- - Returned mapped base pointer
- size
- - Returned size of mapping
- buffer
- - The name of the buffer object to map
返回
CUDA_SUCCESS, CUDA_ERROR_DEINITIALIZED, CUDA_ERROR_NOT_INITIALIZED, CUDA_ERROR_INVALID_CONTEXT, CUDA_ERROR_INVALID_VALUE, CUDA_ERROR_MAP_FAILED
已弃用
该函数自Cuda 3.0起已弃用。
描述
将buffer指定的缓冲区对象映射到当前CUDA上下文的地址空间中,并在*dptr和*size中返回结果映射的基指针和大小。
调用此函数时,当前线程必须绑定有效的OpenGL上下文。该上下文必须与注册缓冲区时绑定的上下文相同,或是同一共享组的成员。
当前CUDA上下文中的所有流都与当前GL上下文同步。
Note:请注意,此函数也可能返回之前异步启动的错误代码。
另请参阅:
- CUresult cuGLMapBufferObjectAsync ( CUdeviceptr* dptr, size_t* size, GLuint buffer, CUstream hStream )
-
映射一个OpenGL缓冲对象。
参数
- dptr
- - Returned mapped base pointer
- size
- - Returned size of mapping
- buffer
- - The name of the buffer object to map
- hStream
- - Stream to synchronize
返回
CUDA_SUCCESS, CUDA_ERROR_DEINITIALIZED, CUDA_ERROR_NOT_INITIALIZED, CUDA_ERROR_INVALID_CONTEXT, CUDA_ERROR_INVALID_VALUE, CUDA_ERROR_MAP_FAILED
已弃用
该函数自Cuda 3.0起已弃用。
描述
将buffer指定的缓冲区对象映射到当前CUDA上下文的地址空间中,并在*dptr和*size中返回结果映射的基指针和大小。
调用此函数时,当前线程必须绑定有效的OpenGL上下文。该上下文必须与注册缓冲区时绑定的上下文相同,或是同一共享组的成员。
当前CUDA上下文中的流hStream将与当前GL上下文同步。
Note:请注意,此函数也可能返回之前异步启动的错误代码。
另请参阅:
- CUresult cuGLRegisterBufferObject ( GLuint buffer )
-
注册一个OpenGL缓冲对象。
参数
- buffer
- - The name of the buffer object to register.
返回
CUDA_SUCCESS, CUDA_ERROR_DEINITIALIZED, CUDA_ERROR_NOT_INITIALIZED, CUDA_ERROR_INVALID_CONTEXT, CUDA_ERROR_ALREADY_MAPPED
已弃用
该函数自Cuda 3.0起已弃用。
描述
注册由buffer指定的缓冲区对象以供CUDA访问。在CUDA能够映射该缓冲区对象之前,必须调用此函数。调用此函数时,当前线程必须绑定有效的OpenGL上下文,并且缓冲区名称由该上下文解析。
Note:请注意,此函数也可能返回之前异步启动的错误代码。
另请参阅:
- CUresult cuGLSetBufferObjectMapFlags ( GLuint buffer, unsigned int Flags )
-
设置OpenGL缓冲区对象的地图标志。
参数
- buffer
- - Buffer object to unmap
- Flags
- - Map flags
返回
CUDA_SUCCESS, CUDA_ERROR_NOT_INITIALIZED, CUDA_ERROR_INVALID_HANDLE, CUDA_ERROR_ALREADY_MAPPED, CUDA_ERROR_INVALID_CONTEXT,
已弃用
该函数自Cuda 3.0起已弃用。
描述
设置由buffer指定的缓冲区对象的地图标志。
对Flags的更改将在下次映射buffer时生效。Flags参数可以是以下任意一种:
-
CU_GL_MAP_RESOURCE_FLAGS_NONE: 指定不提供关于该资源使用方式的提示。因此默认假设该资源将被CUDA内核读取和写入。这是默认值。
-
CU_GL_MAP_RESOURCE_FLAGS_READ_ONLY: 指定访问此资源的CUDA内核将不会对该资源执行写入操作。
-
CU_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD: 指定访问此资源的CUDA内核将不会读取该资源内容,而是会覆盖资源的全部内容,因此之前存储在资源中的所有数据都不会被保留。
如果buffer尚未注册用于CUDA,则返回CUDA_ERROR_INVALID_HANDLE。如果buffer当前已映射供CUDA访问,则返回CUDA_ERROR_ALREADY_MAPPED。
调用此函数时,当前线程必须绑定有效的OpenGL上下文。该上下文必须与注册缓冲区时绑定的上下文相同,或是同一共享组的成员。
Note:请注意,此函数也可能返回之前异步启动的错误代码。
另请参阅:
- CUresult cuGLUnmapBufferObject ( GLuint buffer )
-
解映射一个OpenGL缓冲对象。
参数
- buffer
- - Buffer object to unmap
返回
CUDA_SUCCESS, CUDA_ERROR_DEINITIALIZED, CUDA_ERROR_NOT_INITIALIZED, CUDA_ERROR_INVALID_CONTEXT, CUDA_ERROR_INVALID_VALUE
已弃用
该函数自Cuda 3.0起已弃用。
描述
解除由buffer指定的缓冲区对象映射,以便CUDA访问。
调用此函数时,当前线程必须绑定有效的OpenGL上下文。该上下文必须与注册缓冲区时绑定的上下文相同,或是同一共享组的成员。
当前CUDA上下文中的所有流都与当前GL上下文同步。
Note:请注意,此函数也可能返回之前异步启动的错误代码。
另请参阅:
- CUresult cuGLUnmapBufferObjectAsync ( GLuint buffer, CUstream hStream )
-
解映射一个OpenGL缓冲对象。
参数
- buffer
- - Name of the buffer object to unmap
- hStream
- - Stream to synchronize
返回
CUDA_SUCCESS, CUDA_ERROR_DEINITIALIZED, CUDA_ERROR_NOT_INITIALIZED, CUDA_ERROR_INVALID_CONTEXT, CUDA_ERROR_INVALID_VALUE
已弃用
该函数自Cuda 3.0起已弃用。
描述
解除由buffer指定的缓冲区对象映射,以便CUDA访问。
调用此函数时,当前线程必须绑定有效的OpenGL上下文。该上下文必须与注册缓冲区时绑定的上下文相同,或是同一共享组的成员。
当前CUDA上下文中的流hStream将与当前GL上下文同步。
Note:请注意,此函数也可能返回之前异步启动的错误代码。
另请参阅:
- CUresult cuGLUnregisterBufferObject ( GLuint buffer )
-
注销一个OpenGL缓冲区对象。
参数
- buffer
- - Name of the buffer object to unregister
返回
CUDA_SUCCESS, CUDA_ERROR_DEINITIALIZED, CUDA_ERROR_NOT_INITIALIZED, CUDA_ERROR_INVALID_CONTEXT, CUDA_ERROR_INVALID_VALUE
已弃用
该函数自Cuda 3.0起已弃用。
描述
注销由buffer指定的缓冲区对象。这将释放与该注册缓冲区关联的所有资源。调用此操作后,该缓冲区可能不再被CUDA映射以供访问。
调用此函数时,当前线程必须绑定有效的OpenGL上下文。该上下文必须与注册缓冲区时绑定的上下文相同,或是同一共享组的成员。
Note:请注意,此函数也可能返回之前异步启动的错误代码。
另请参阅: