Updated debug context detection.

This commit is contained in:
Camilla Berglund 2012-12-13 17:33:08 +01:00
parent fd0f06de8a
commit a8a0585164
2 changed files with 11 additions and 5 deletions

View File

@ -412,6 +412,7 @@ GLboolean _glfwRefreshContextParams(void)
// Read back forward-compatibility flag // Read back forward-compatibility flag
{ {
window->glForward = GL_FALSE; window->glForward = GL_FALSE;
window->glDebug = GL_FALSE;
if (window->clientAPI == GLFW_OPENGL_API && window->glMajor >= 3) if (window->clientAPI == GLFW_OPENGL_API && window->glMajor >= 3)
{ {
@ -420,8 +421,16 @@ GLboolean _glfwRefreshContextParams(void)
if (flags & GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT) if (flags & GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT)
window->glForward = GL_TRUE; window->glForward = GL_TRUE;
if (flags & 0) if (flags & GL_CONTEXT_FLAG_DEBUG_BIT)
window->glDebug = GL_TRUE; window->glDebug = GL_TRUE;
if (glfwExtensionSupported("GL_ARB_debug_output"))
{
// HACK: This is a workaround for older drivers (pre KHR_debug)
// not setting the debug bit in the context flags for debug
// contexts
window->glDebug = GL_TRUE;
}
} }
} }

View File

@ -303,7 +303,7 @@ int main(int argc, char** argv)
if (flags & GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT) if (flags & GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT)
printf(" forward-compatible"); printf(" forward-compatible");
if (flags & 0) if (flags & GL_CONTEXT_FLAG_DEBUG_BIT)
printf(" debug"); printf(" debug");
putchar('\n'); putchar('\n');
@ -339,9 +339,6 @@ int main(int argc, char** argv)
get_client_api_name(api), get_client_api_name(api),
glGetString(GL_VENDOR)); glGetString(GL_VENDOR));
printf("OpenGL context debug flag saved by GLFW: %s\n",
glfwGetWindowParam(window, GLFW_OPENGL_DEBUG_CONTEXT) ? "true" : "false");
if (major > 1) if (major > 1)
{ {
printf("%s context shading language version: \"%s\"\n", printf("%s context shading language version: \"%s\"\n",