From 8bf8c0cd1811d4b0d5f226ca81dd4bf562aa46e1 Mon Sep 17 00:00:00 2001 From: Alex Szpakowski Date: Tue, 28 Jul 2015 11:27:45 -0300 Subject: [PATCH] Hopefully work around an issue where older Intel drivers on Windows use Microsoft's OpenGL 1.1 software renderer instead of failing to create the context, when a requested framebuffer attribute value is unsupported. Failing to create the context is preferred in that situation because love's code will then try disabling various framebuffer settings to get a hardware-accelerated context using a supported OpenGL version. --- src/modules/window/sdl/Window.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/modules/window/sdl/Window.cpp b/src/modules/window/sdl/Window.cpp index b4f982e8c..ab1a0c816 100644 --- a/src/modules/window/sdl/Window.cpp +++ b/src/modules/window/sdl/Window.cpp @@ -90,6 +90,13 @@ void Window::setGLFramebufferAttributes(int msaa, bool sRGB) #if !defined(LOVE_LINUX) SDL_GL_SetAttribute(SDL_GL_FRAMEBUFFER_SRGB_CAPABLE, sRGB ? 1 : 0); #endif + +#if defined(LOVE_WINDOWS) + // Avoid the Microsoft OpenGL 1.1 software renderer on Windows. Apparently + // older Intel drivers like to use it as a fallback when requesting some + // unsupported framebuffer attribute values, rather than properly failing. + SDL_GL_SetAttribute(SDL_GL_ACCELERATED_VISUAL, 1); +#endif } void Window::setGLContextAttributes(const ContextAttribs &attribs)