如何查找 NVIDIA OpenGL 驱动程序的错误 ID 名称?

Posted

技术标签:

【中文标题】如何查找 NVIDIA OpenGL 驱动程序的错误 ID 名称?【英文标题】:How to find name of error ID for NVIDIA OpenGL drivers? 【发布时间】:2018-11-05 08:46:51 【问题描述】:

我有一条错误消息(主要是警告,而不是实际错误)。

使用 glDebugMessage(),返回的十进制错误 ID 是 131186(错误 ID 是与 GL_NO_ERROR、GL_INVALID_ENUMERATOR 相同的枚举数类...)。

我想阅读有关此值的文档,但我似乎无法通过搜索找到它。它不是官方的 OpenGL 枚举器值,所以我认为它是特定于驱动程序的 (NVIDIA)。

编辑:

完整的信息是:

Source: GL_DEBUG_SOURCE_API
Type: GL_DEBUG_TYPE_PERFORMANCE
ID: 0x20072
Severity: GL_DEBUG_SEVERITY_MEDIUM
Message:
Buffer performance warning: Buffer object "SSBO" (bound to
GL_SHADER_STORAGE_BUFFER, and GL_SHADER_STORAGE_BUFFER (3), usage hint is
GL_DYNAMIC_DRAW) is being copied/moved from VIDEO memory to HOST memory.

有谁知道这个错误代码的含义或如何找到它的文档?

【问题讨论】:

相关的来源、类型和消息值是什么? 我在帖子中添加了消息输出 【参考方案1】:

此警告仅表示 OpenGL 无法完全控制 SSBO。因此,它必须阻止/复制 SSBO 的数据以供 OpenGL 正确使用。这有点低效,这就是驱动程序警告您的原因。

至于文档,我还没有真正找到任何文档。但是,我确实发现了另一个问题,它引用了与 OpenGL 和 OpenCL 非常相似的问题:OpenCL Host Copying Performance Warning

【讨论】:

以上是关于如何查找 NVIDIA OpenGL 驱动程序的错误 ID 名称?的主要内容,如果未能解决你的问题,请参考以下文章

如何在nvidia驱动程序下使用opengl?

如何使Nvidia成为默认显卡?

OpenGL:glVertexAttribPointer() 在新的 NVIDIA 驱动程序上因步幅大于 2048 而出现“无效值”失败

OpenGL - 在 NVIDIA 卡上渲染到纹理时出现 FBO 黑屏

查找支持的 GLSL 版本

Nvidia GeForce GTX 1650不支持OpenGL4.6