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 缓冲区对象。

枚举

enum CUGLmap_flags

映射或取消映射资源的标志

CU_GL_MAP_RESOURCE_FLAGS_NONE = 0x00
CU_GL_MAP_RESOURCE_FLAGS_READ_ONLY = 0x01
CU_GL_MAP_RESOURCE_FLAGS_WRITE_DISCARD = 0x02

函数

CUresult cuGLCtxCreate ( CUcontext* pCtx, unsigned int  Flags, CUdevice device )
创建用于与 OpenGL 互操作的 CUDA 上下文。
参数
pCtx
- 返回的 CUDA 上下文
Flags
- CUDA 上下文创建的选项
device
- 在其上创建上下文的设备
已弃用

此函数已从 Cuda 5.0 版本开始弃用。

描述

此函数已弃用,不应再使用。不再需要将 CUDA 上下文与 OpenGL 上下文关联,以实现最大的互操作性性能。

注意

请注意,此函数也可能返回先前异步启动的错误代码。

另请参阅

cuCtxCreate, cuGLInit, cuGLMapBufferObject, cuGLRegisterBufferObject, cuGLUnmapBufferObject, cuGLUnregisterBufferObject, cuGLMapBufferObjectAsync, cuGLUnmapBufferObjectAsync, cuGLSetBufferObjectMapFlags, cuWGLGetDevice

CUresult cuGLInit ( void )
初始化 OpenGL 互操作性。
已弃用

此函数已从 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 3.0 版本开始弃用。

描述

映射由buffer指定的缓冲区对象到当前 CUDA 上下文的地址空间中,并在*dptr*size中返回结果映射的基指针和大小。

调用此函数时,必须有有效的 OpenGL 上下文绑定到当前线程。这必须是与注册缓冲区时绑定的上下文相同的上下文,或者是同一共享组的成员。

当前 CUDA 上下文中的所有流都与当前 GL 上下文同步。

注意

请注意,此函数也可能返回先前异步启动的错误代码。

另请参阅

cuGraphicsMapResources

CUresult cuGLMapBufferObjectAsync ( CUdeviceptr* dptr, size_t* size, GLuint buffer, CUstream hStream )
映射 OpenGL 缓冲区对象。
参数
dptr
- 返回的映射基指针
size
- 返回的映射大小
buffer
- 要映射的缓冲区对象的名称
hStream
- 要同步的流
已弃用

此函数已从 Cuda 3.0 版本开始弃用。

描述

映射由buffer指定的缓冲区对象到当前 CUDA 上下文的地址空间中,并在*dptr*size中返回结果映射的基指针和大小。

调用此函数时,必须有有效的 OpenGL 上下文绑定到当前线程。这必须是与注册缓冲区时绑定的上下文相同的上下文,或者是同一共享组的成员。

hStream当前 CUDA 上下文中的流与当前 GL 上下文同步。

注意

请注意,此函数也可能返回先前异步启动的错误代码。

另请参阅

cuGraphicsMapResources

CUresult cuGLRegisterBufferObject ( GLuint buffer )
注册 OpenGL 缓冲区对象。
参数
buffer
- 要注册的缓冲区对象的名称。
已弃用

此函数已从 Cuda 3.0 版本开始弃用。

描述

注册由buffer指定的缓冲区对象以供 CUDA 访问。必须先调用此函数,然后 CUDA 才能映射缓冲区对象。调用此函数时,必须有有效的 OpenGL 上下文绑定到当前线程,并且缓冲区名称由此上下文解析。

注意

请注意,此函数也可能返回先前异步启动的错误代码。

另请参阅

cuGraphicsGLRegisterBuffer

CUresult cuGLSetBufferObjectMapFlags ( GLuint buffer, unsigned int  Flags )
设置 OpenGL 缓冲区对象的映射标志。
参数
buffer
- 要取消映射的缓冲区对象
Flags
- 映射标志
已弃用

此函数已从 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 上下文绑定到当前线程。这必须是与注册缓冲区时绑定的上下文相同的上下文,或者是同一共享组的成员。

注意

请注意,此函数也可能返回先前异步启动的错误代码。

另请参阅

cuGraphicsResourceSetMapFlags

CUresult cuGLUnmapBufferObject ( GLuint buffer )
取消映射 OpenGL 缓冲区对象。
参数
buffer
- 要取消映射的缓冲区对象
已弃用

此函数已从 Cuda 3.0 版本开始弃用。

描述

取消映射由buffer指定的缓冲区对象以供 CUDA 访问。

调用此函数时,必须有有效的 OpenGL 上下文绑定到当前线程。这必须是与注册缓冲区时绑定的上下文相同的上下文,或者是同一共享组的成员。

当前 CUDA 上下文中的所有流都与当前 GL 上下文同步。

注意

请注意,此函数也可能返回先前异步启动的错误代码。

另请参阅

cuGraphicsUnmapResources

CUresult cuGLUnmapBufferObjectAsync ( GLuint buffer, CUstream hStream )
取消映射 OpenGL 缓冲区对象。
参数
buffer
- 要取消映射的缓冲区对象的名称
hStream
- 要同步的流
已弃用

此函数已从 Cuda 3.0 版本开始弃用。

描述

取消映射由buffer指定的缓冲区对象以供 CUDA 访问。

调用此函数时,必须有有效的 OpenGL 上下文绑定到当前线程。这必须是与注册缓冲区时绑定的上下文相同的上下文,或者是同一共享组的成员。

hStream当前 CUDA 上下文中的流与当前 GL 上下文同步。

注意

请注意,此函数也可能返回先前异步启动的错误代码。

另请参阅

cuGraphicsUnmapResources

CUresult cuGLUnregisterBufferObject ( GLuint buffer )
取消注册 OpenGL 缓冲区对象。
参数
buffer
- 要取消注册的缓冲区对象的名称
已弃用

此函数已从 Cuda 3.0 版本开始弃用。

描述

取消注册由buffer指定的缓冲区对象。这将释放与注册缓冲区关联的任何资源。在此调用之后,该缓冲区可能不再映射以供 CUDA 访问。

调用此函数时,必须有有效的 OpenGL 上下文绑定到当前线程。这必须是与注册缓冲区时绑定的上下文相同的上下文,或者是同一共享组的成员。

注意

请注意,此函数也可能返回先前异步启动的错误代码。

另请参阅

cuGraphicsUnregisterResource