diff --git a/binaries/data/config/default.cfg b/binaries/data/config/default.cfg index 7496cf01b2..cd4f81e051 100644 --- a/binaries/data/config/default.cfg +++ b/binaries/data/config/default.cfg @@ -91,6 +91,10 @@ fog = true silhouettes = true showsky = true +; Uses a synchonized call to a GL driver to get an error state. Useful +; for a debugging of a system without GL_KHR_debug. +gl.checkerrorafterswap = false + novbo = false ; Disable hardware cursors diff --git a/source/renderer/Renderer.cpp b/source/renderer/Renderer.cpp index 6fdd20c7b0..7a12ddc9e4 100644 --- a/source/renderer/Renderer.cpp +++ b/source/renderer/Renderer.cpp @@ -1459,10 +1459,14 @@ void CRenderer::EndFrame() void CRenderer::OnSwapBuffers() { + bool checkGLErrorAfterSwap = false; + CFG_GET_VAL("gl.checkerrorafterswap", checkGLErrorAfterSwap); + if (!checkGLErrorAfterSwap) + return; PROFILE3("error check"); // We have to check GL errors after SwapBuffer to avoid possible // synchronizations during rendering. - if (GLenum err = glGetError()) + if (GLenum err = glGetError()) ONCE(LOGERROR("GL error %s (0x%04x) occurred", ogl_GetErrorName(err), err)); }