Search code examples
c++opengldocumentationnvidiadrivers

How to find name of error ID for NVIDIA OpenGL drivers?


I have an error message (which is mostly a warning, not so much an actual error).

using glDebugMessage(), the error ID that is returned in decimal is 131186 (the error ID is the same class of enumerators as GL_NO_ERROR, GL_INVALID_ENUMERATOR...).

I want to read about the documentation of this value, but I seem to not be able to find it by searching it up. It's not an official OpenGL enumerator value, so i assume it to be driver specific (NVIDIA).

EDIT:

The full message is:

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.

Does anyone know what this error code means or how to find its documentation?


Solution

  • This warning simply means that OpenGL does not have total control over the SSBO. Because of that, it has to either block/copy the SSBO's data for OpenGL to use it properly. This is slightly inefficient, which is why the driver is warning you about it.

    As for the documentation, I haven't really found any. But, I did find this other question which referenced a very similar problem with OpenGL and OpenCL: OpenCL Host Copying Performance Warning