diff options
author | Andrei Karas <akaras@inbox.ru> | 2015-08-20 23:56:17 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2015-08-20 23:56:17 +0300 |
commit | 765661ba27fe287919ffce498187e539e8e39f10 (patch) | |
tree | 20a9c1fa0aaef67a0a67aace52faeec4c16f80d4 /src/graphicsmanager.cpp | |
parent | cd86533db9e1be9316c8a0afe7ed9dc4ac2c286c (diff) | |
download | manaplus-765661ba27fe287919ffce498187e539e8e39f10.tar.gz manaplus-765661ba27fe287919ffce498187e539e8e39f10.tar.bz2 manaplus-765661ba27fe287919ffce498187e539e8e39f10.tar.xz manaplus-765661ba27fe287919ffce498187e539e8e39f10.zip |
Black list for DSA drivers from AMD HD 14.10.*
Diffstat (limited to 'src/graphicsmanager.cpp')
-rw-r--r-- | src/graphicsmanager.cpp | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/src/graphicsmanager.cpp b/src/graphicsmanager.cpp index 59f7d6fd9..611b0eb5b 100644 --- a/src/graphicsmanager.cpp +++ b/src/graphicsmanager.cpp @@ -909,8 +909,17 @@ void GraphicsManager::initOpenGLFunctions() return; } - if (findI(mGlVendor, "NVIDIA") == std::string::npos && - mGlVersionString.find("Mesa 10.6.") == std::string::npos) + if (findI(mGlVendor, "NVIDIA") != std::string::npos || + mGlVersionString.find("Mesa 10.6.") != std::string::npos || + (findI(mGlVendor, "AMD Radeon HD") != std::string::npos && + mGlVersionString.find("Compatibility Profile Context 14.10") != + std::string::npos)) + { + logger->log1("Not checked for DSA because on " + "NVIDIA or AMD or in Mesa it broken"); + emulateFunction(glTextureSubImage2D); + } + else { // not for NVIDIA. in NVIDIA atleast in windows drivers DSA is broken // Mesa 10.6.3 show support for DSA, but it broken. Works in 10.7 dev if (is45) @@ -936,12 +945,6 @@ void GraphicsManager::initOpenGLFunctions() emulateFunction(glTextureSubImage2D); } } - else - { - logger->log1("Not checked for DSA because on " - "NVIDIA or in Mesa it broken"); - emulateFunction(glTextureSubImage2D); - } if (is12 && (is42 || supportExtension("GL_ARB_texture_storage"))) { |