From 5b5d6b92181bb0f24c3f13c79afaf8aa9dc6667f Mon Sep 17 00:00:00 2001 From: David Rose Date: Thu, 28 Jul 2005 13:46:07 +0000 Subject: [PATCH] detect Mesa DRI --- panda/src/glxdisplay/glxGraphicsStateGuardian.cxx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/panda/src/glxdisplay/glxGraphicsStateGuardian.cxx b/panda/src/glxdisplay/glxGraphicsStateGuardian.cxx index 408a0d30b4..c94aa9a2dd 100644 --- a/panda/src/glxdisplay/glxGraphicsStateGuardian.cxx +++ b/panda/src/glxdisplay/glxGraphicsStateGuardian.cxx @@ -122,7 +122,11 @@ reset() { FrameBufferProperties properties = get_properties(); int frame_buffer_mode = properties.get_frame_buffer_mode(); - if (_gl_renderer.find("Mesa") != string::npos) { + // If "Mesa" is present, assume software. However, if "Mesa DRI" is + // found, it's actually a Mesa-based OpenGL layer running over a + // hardware driver. + if (_gl_renderer.find("Mesa") != string::npos && + _gl_renderer.find("Mesa DRI") == string::npos) { // It's Mesa, therefore probably a software context. if (!software) { glxdisplay_cat.error()