6.17. OpenGL 互操作性 [已弃用]
本节介绍已弃用的 OpenGL 互操作性功能。
枚举
- enum cudaGLMapFlags
函数
- __host__ cudaError_t cudaGLMapBufferObject ( void** devPtr, GLuint bufObj )
- 映射缓冲区对象以供 CUDA 访问。
- __host__ cudaError_t cudaGLMapBufferObjectAsync ( void** devPtr, GLuint bufObj, cudaStream_t stream )
- 映射缓冲区对象以供 CUDA 访问。
- __host__ cudaError_t cudaGLRegisterBufferObject ( GLuint bufObj )
- 注册缓冲区对象以供 CUDA 访问。
- __host__ cudaError_t cudaGLSetBufferObjectMapFlags ( GLuint bufObj, unsigned int flags )
- 设置用于映射 OpenGL 缓冲区的用法标志。
- __host__ cudaError_t cudaGLSetGLDevice ( int device )
- 设置 CUDA 设备以使用 OpenGL 互操作性。
- __host__ cudaError_t cudaGLUnmapBufferObject ( GLuint bufObj )
- 取消映射缓冲区对象以供 CUDA 访问。
- __host__ cudaError_t cudaGLUnmapBufferObjectAsync ( GLuint bufObj, cudaStream_t stream )
- 取消映射缓冲区对象以供 CUDA 访问。
- __host__ cudaError_t cudaGLUnregisterBufferObject ( GLuint bufObj )
- 取消注册缓冲区对象以供 CUDA 访问。
枚举
函数
- __host__ cudaError_t cudaGLMapBufferObject ( void** devPtr, GLuint bufObj )
-
映射缓冲区对象以供 CUDA 访问。
参数
- devPtr
- - 返回 CUDA 对象的设备指针
- bufObj
- - 要映射的缓冲区对象 ID
已弃用
此函数自 CUDA 3.0 起已弃用。
描述
将 ID 为bufObj的缓冲区对象映射到 CUDA 的地址空间,并在*devPtr中返回结果映射的基指针。缓冲区必须事先通过调用 cudaGLRegisterBufferObject() 注册。当缓冲区被 CUDA 映射时,任何引用该缓冲区的 OpenGL 操作都将导致未定义的行为。用于创建缓冲区的 OpenGL 上下文,或来自同一共享组的另一个上下文,必须在此调用时绑定到当前线程。
当前线程中的所有流都与当前 GL 上下文同步。
注意请注意,此函数也可能返回来自先前异步启动的错误代码。
另请参阅
- __host__ cudaError_t cudaGLMapBufferObjectAsync ( void** devPtr, GLuint bufObj, cudaStream_t stream )
-
映射缓冲区对象以供 CUDA 访问。
参数
- devPtr
- - 返回 CUDA 对象的设备指针
- bufObj
- - 要映射的缓冲区对象 ID
- stream
- - 要同步的流
已弃用
此函数自 CUDA 3.0 起已弃用。
描述
将 ID 为bufObj的缓冲区对象映射到 CUDA 的地址空间,并在*devPtr中返回结果映射的基指针。缓冲区必须事先通过调用 cudaGLRegisterBufferObject() 注册。当缓冲区被 CUDA 映射时,任何引用该缓冲区的 OpenGL 操作都将导致未定义的行为。用于创建缓冲区的 OpenGL 上下文,或来自同一共享组的另一个上下文,必须在此调用时绑定到当前线程。
流 /p 流与当前 GL 上下文同步。
注意请注意,此函数也可能返回来自先前异步启动的错误代码。
另请参阅
- __host__ cudaError_t cudaGLRegisterBufferObject ( GLuint bufObj )
-
注册缓冲区对象以供 CUDA 访问。
参数
- bufObj
- - 要注册的缓冲区对象 ID
已弃用
此函数自 CUDA 3.0 起已弃用。
描述
注册 ID 为bufObj的缓冲区对象以供 CUDA 访问。必须先调用此函数,然后 CUDA 才能映射缓冲区对象。用于创建缓冲区的 OpenGL 上下文,或来自同一共享组的另一个上下文,必须在此调用时绑定到当前线程。
注意请注意,此函数也可能返回来自先前异步启动的错误代码。
另请参阅
- __host__ cudaError_t cudaGLSetBufferObjectMapFlags ( GLuint bufObj, unsigned int flags )
-
设置用于映射 OpenGL 缓冲区的用法标志。
参数
- bufObj
- - 要设置标志的已注册缓冲区对象
- flags
- - 缓冲区映射的参数
已弃用
此函数自 CUDA 3.0 起已弃用。
描述
设置用于映射 OpenGL 缓冲区的标志bufObj
对标志的更改将在下次bufObj映射时生效。flags参数可以是以下任何一项
-
cudaGLMapFlagsNone:指定不提示如何使用此缓冲区。因此,假定 CUDA 内核将从此缓冲区读取和写入。这是默认值。
-
cudaGLMapFlagsReadOnly:指定访问此缓冲区的 CUDA 内核不会写入缓冲区。
-
cudaGLMapFlagsWriteDiscard:指定访问此缓冲区的 CUDA 内核不会从缓冲区读取,并且将覆盖缓冲区的全部内容,因此缓冲区中先前存储的任何数据都不会保留。
如果bufObj尚未注册以与 CUDA 一起使用,则返回 cudaErrorInvalidResourceHandle。如果bufObj当前已映射以供 CUDA 访问,则返回 cudaErrorUnknown。
注意请注意,此函数也可能返回来自先前异步启动的错误代码。
另请参阅
- __host__ cudaError_t cudaGLSetGLDevice ( int device )
-
设置 CUDA 设备以使用 OpenGL 互操作性。
参数
- device
- - 用于 OpenGL 互操作性的设备
已弃用
此函数自 CUDA 5.0 起已弃用。
描述
此函数已弃用,不应再使用。为了获得最大的互操作性性能,不再需要将 CUDA 设备与 OpenGL 上下文关联。
如果需要,此函数将立即初始化device上的主上下文。
注意请注意,此函数也可能返回来自先前异步启动的错误代码。
另请参阅
- __host__ cudaError_t cudaGLUnmapBufferObject ( GLuint bufObj )
-
取消映射缓冲区对象以供 CUDA 访问。
参数
- bufObj
- - 要取消映射的缓冲区对象
已弃用
此函数自 CUDA 3.0 起已弃用。
描述
取消映射 ID 为bufObj的缓冲区对象以供 CUDA 访问。取消映射缓冲区后,cudaGLMapBufferObject() 返回的基地址无效,随后对该地址的引用将导致未定义的行为。用于创建缓冲区的 OpenGL 上下文,或来自同一共享组的另一个上下文,必须在此调用时绑定到当前线程。
当前线程中的所有流都与当前 GL 上下文同步。
注意请注意,此函数也可能返回来自先前异步启动的错误代码。
另请参阅
- __host__ cudaError_t cudaGLUnmapBufferObjectAsync ( GLuint bufObj, cudaStream_t stream )
-
取消映射缓冲区对象以供 CUDA 访问。
参数
- bufObj
- - 要取消映射的缓冲区对象
- stream
- - 要同步的流
已弃用
此函数自 CUDA 3.0 起已弃用。
描述
取消映射 ID 为bufObj的缓冲区对象以供 CUDA 访问。取消映射缓冲区后,cudaGLMapBufferObject() 返回的基地址无效,随后对该地址的引用将导致未定义的行为。用于创建缓冲区的 OpenGL 上下文,或来自同一共享组的另一个上下文,必须在此调用时绑定到当前线程。
流 /p 流与当前 GL 上下文同步。
注意请注意,此函数也可能返回来自先前异步启动的错误代码。
另请参阅
- __host__ cudaError_t cudaGLUnregisterBufferObject ( GLuint bufObj )
-
取消注册缓冲区对象以供 CUDA 访问。
参数
- bufObj
- - 要取消注册的缓冲区对象
返回值
已弃用
此函数自 CUDA 3.0 起已弃用。
描述
取消注册 ID 为bufObj的缓冲区对象以供 CUDA 访问,并释放与该缓冲区关联的任何 CUDA 资源。缓冲区一旦取消注册,就不能再由 CUDA 映射。用于创建缓冲区的 GL 上下文,或来自同一共享组的另一个上下文,必须在此调用时绑定到当前线程。
注意请注意,此函数也可能返回来自先前异步启动的错误代码。
另请参阅