From b8abc00c663a79f4b0296151bb99a9c1c7f85a5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Wed, 19 Feb 2014 01:52:50 +0100 Subject: [PATCH] Disable ARB_explicit_uniform_location on AMD drivers. It causes GLSL compiler crash in 13.251 linux driver. Not sure about other platforms. --- src/Magnum/Implementation/setupDriverWorkarounds.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/Magnum/Implementation/setupDriverWorkarounds.cpp b/src/Magnum/Implementation/setupDriverWorkarounds.cpp index 5acc64b04..5c0799c9a 100644 --- a/src/Magnum/Implementation/setupDriverWorkarounds.cpp +++ b/src/Magnum/Implementation/setupDriverWorkarounds.cpp @@ -33,6 +33,13 @@ void Context::setupDriverWorkarounds() { if(_extensionRequiredVersion[Extensions::extension::Index] < Version::version) \ _extensionRequiredVersion[Extensions::extension::Index] = Version::version + #ifndef MAGNUM_TARGET_GLES + /* This extension causes crash in GLSL compiler on AMD linux drivers 13.251 */ + const std::string renderer = rendererString(); + if(renderer.find("Advanced Micro Devices") != std::string::npos) + _setRequiredVersion(GL::ARB::explicit_uniform_location, None); + #endif + #ifndef MAGNUM_TARGET_GLES /* Layout qualifier causes compiler error with GLSL 1.20 on Mesa, GLSL 1.30 on NVidia and 1.40 on Mac OS X */