summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-08-20 23:56:17 +0300
committerAndrei Karas <akaras@inbox.ru>2015-08-20 23:56:17 +0300
commit765661ba27fe287919ffce498187e539e8e39f10 (patch)
tree20a9c1fa0aaef67a0a67aace52faeec4c16f80d4
parentcd86533db9e1be9316c8a0afe7ed9dc4ac2c286c (diff)
downloadmanaplus-765661ba27fe287919ffce498187e539e8e39f10.tar.gz
manaplus-765661ba27fe287919ffce498187e539e8e39f10.tar.bz2
manaplus-765661ba27fe287919ffce498187e539e8e39f10.tar.xz
manaplus-765661ba27fe287919ffce498187e539e8e39f10.zip
Black list for DSA drivers from AMD HD 14.10.*
-rw-r--r--src/graphicsmanager.cpp19
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")))
{