6.39.1. OpenGL 互操作性 [已弃用]
[OpenGL 互操作性]
本节介绍已弃用的 OpenGL 互操作性功能。
枚举
- enum CUGLmap_flags
函数
- CUresult cuGLCtxCreate ( CUcontext* pCtx, unsigned int Flags, CUdevice device )
- 创建用于与 OpenGL 互操作的 CUDA 上下文。
- CUresult cuGLInit ( void )
- 初始化 OpenGL 互操作性。
- CUresult cuGLMapBufferObject ( CUdeviceptr* dptr, size_t* size, GLuint buffer )
- 映射 OpenGL 缓冲区对象。
- CUresult cuGLMapBufferObjectAsync ( CUdeviceptr* dptr, size_t* size, GLuint buffer, CUstream hStream )
- 映射 OpenGL 缓冲区对象。
- CUresult cuGLRegisterBufferObject ( GLuint buffer )
- 注册 OpenGL 缓冲区对象。
- CUresult cuGLSetBufferObjectMapFlags ( GLuint buffer, unsigned int Flags )
- 设置 OpenGL 缓冲区对象的映射标志。
- CUresult cuGLUnmapBufferObject ( GLuint buffer )
- 取消映射 OpenGL 缓冲区对象。
- CUresult cuGLUnmapBufferObjectAsync ( GLuint buffer, CUstream hStream )
- 取消映射 OpenGL 缓冲区对象。
- CUresult cuGLUnregisterBufferObject ( GLuint buffer )
- 取消注册 OpenGL 缓冲区对象。
枚举
函数
- CUresult cuGLCtxCreate ( CUcontext* pCtx, unsigned int Flags, CUdevice device )
-
创建用于与 OpenGL 互操作的 CUDA 上下文。
参数
- pCtx
- - 返回的 CUDA 上下文
- Flags
- - CUDA 上下文创建的选项
- device
- - 在其上创建上下文的设备
返回值
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 上下文关联,以实现最大的互操作性性能。
注意请注意,此函数也可能返回先前异步启动的错误代码。
另请参阅
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 驱动程序设施不可用,则可能会失败。
注意请注意,此函数也可能返回先前异步启动的错误代码。
另请参阅
cuGLMapBufferObject, cuGLRegisterBufferObject, cuGLUnmapBufferObject, cuGLUnregisterBufferObject, cuGLMapBufferObjectAsync, cuGLUnmapBufferObjectAsync, cuGLSetBufferObjectMapFlags, cuWGLGetDevice
- CUresult cuGLMapBufferObject ( CUdeviceptr* dptr, size_t* size, GLuint buffer )
-
映射 OpenGL 缓冲区对象。
参数
- dptr
- - 返回的映射基指针
- size
- - 返回的映射大小
- buffer
- - 要映射的缓冲区对象的名称
返回值
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 上下文同步。
注意请注意,此函数也可能返回先前异步启动的错误代码。
另请参阅
- CUresult cuGLMapBufferObjectAsync ( CUdeviceptr* dptr, size_t* size, GLuint buffer, CUstream hStream )
-
映射 OpenGL 缓冲区对象。
参数
- dptr
- - 返回的映射基指针
- size
- - 返回的映射大小
- buffer
- - 要映射的缓冲区对象的名称
- hStream
- - 要同步的流
返回值
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 上下文绑定到当前线程。这必须是与注册缓冲区时绑定的上下文相同的上下文,或者是同一共享组的成员。
流hStream当前 CUDA 上下文中的流与当前 GL 上下文同步。
注意请注意,此函数也可能返回先前异步启动的错误代码。
另请参阅
- CUresult cuGLRegisterBufferObject ( GLuint buffer )
-
注册 OpenGL 缓冲区对象。
参数
- buffer
- - 要注册的缓冲区对象的名称。
返回值
CUDA_SUCCESS, CUDA_ERROR_DEINITIALIZED, CUDA_ERROR_NOT_INITIALIZED, CUDA_ERROR_INVALID_CONTEXT, CUDA_ERROR_ALREADY_MAPPED
已弃用
此函数已从 Cuda 3.0 版本开始弃用。
描述
注册由buffer指定的缓冲区对象以供 CUDA 访问。必须先调用此函数,然后 CUDA 才能映射缓冲区对象。调用此函数时,必须有有效的 OpenGL 上下文绑定到当前线程,并且缓冲区名称由此上下文解析。
注意请注意,此函数也可能返回先前异步启动的错误代码。
另请参阅
- CUresult cuGLSetBufferObjectMapFlags ( GLuint buffer, unsigned int Flags )
-
设置 OpenGL 缓冲区对象的映射标志。
参数
- buffer
- - 要取消映射的缓冲区对象
- 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 上下文绑定到当前线程。这必须是与注册缓冲区时绑定的上下文相同的上下文,或者是同一共享组的成员。
注意请注意,此函数也可能返回先前异步启动的错误代码。
另请参阅
- CUresult cuGLUnmapBufferObject ( GLuint buffer )
-
取消映射 OpenGL 缓冲区对象。
参数
- buffer
- - 要取消映射的缓冲区对象
返回值
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 上下文同步。
注意请注意,此函数也可能返回先前异步启动的错误代码。
另请参阅
- CUresult cuGLUnmapBufferObjectAsync ( GLuint buffer, CUstream hStream )
-
取消映射 OpenGL 缓冲区对象。
参数
- buffer
- - 要取消映射的缓冲区对象的名称
- hStream
- - 要同步的流
返回值
CUDA_SUCCESS, CUDA_ERROR_DEINITIALIZED, CUDA_ERROR_NOT_INITIALIZED, CUDA_ERROR_INVALID_CONTEXT, CUDA_ERROR_INVALID_VALUE
已弃用
此函数已从 Cuda 3.0 版本开始弃用。
描述
取消映射由buffer指定的缓冲区对象以供 CUDA 访问。
调用此函数时,必须有有效的 OpenGL 上下文绑定到当前线程。这必须是与注册缓冲区时绑定的上下文相同的上下文,或者是同一共享组的成员。
流hStream当前 CUDA 上下文中的流与当前 GL 上下文同步。
注意请注意,此函数也可能返回先前异步启动的错误代码。
另请参阅
- CUresult cuGLUnregisterBufferObject ( GLuint buffer )
-
取消注册 OpenGL 缓冲区对象。
参数
- buffer
- - 要取消注册的缓冲区对象的名称
返回值
CUDA_SUCCESS, CUDA_ERROR_DEINITIALIZED, CUDA_ERROR_NOT_INITIALIZED, CUDA_ERROR_INVALID_CONTEXT, CUDA_ERROR_INVALID_VALUE
已弃用
此函数已从 Cuda 3.0 版本开始弃用。
描述
取消注册由buffer指定的缓冲区对象。这将释放与注册缓冲区关联的任何资源。在此调用之后,该缓冲区可能不再映射以供 CUDA 访问。
调用此函数时,必须有有效的 OpenGL 上下文绑定到当前线程。这必须是与注册缓冲区时绑定的上下文相同的上下文,或者是同一共享组的成员。
注意请注意,此函数也可能返回先前异步启动的错误代码。
另请参阅