diff options
author | Andrei Karas <akaras@inbox.ru> | 2016-05-09 20:04:16 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2016-05-09 20:27:19 +0300 |
commit | 820ed443d5c96fb96cdc7b1f945ac7c6aaf95cbc (patch) | |
tree | 78c2212ce15c202e12685d8a6dcce4a1937edea5 /src/graphicsmanager.cpp | |
parent | 4ef3a45641bc2c1ada931951c120c4f8b8eb2301 (diff) | |
download | manaverse-820ed443d5c96fb96cdc7b1f945ac7c6aaf95cbc.tar.gz manaverse-820ed443d5c96fb96cdc7b1f945ac7c6aaf95cbc.tar.bz2 manaverse-820ed443d5c96fb96cdc7b1f945ac7c6aaf95cbc.tar.xz manaverse-820ed443d5c96fb96cdc7b1f945ac7c6aaf95cbc.zip |
Fix issue with DSO.
EXT and ARB extensions have bit different signatures.
Disable DSO black list for now.
Diffstat (limited to 'src/graphicsmanager.cpp')
-rw-r--r-- | src/graphicsmanager.cpp | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/graphicsmanager.cpp b/src/graphicsmanager.cpp index e6bc335bd..f19f1ee8f 100644 --- a/src/graphicsmanager.cpp +++ b/src/graphicsmanager.cpp @@ -984,7 +984,7 @@ void GraphicsManager::deleteFBO(FBOInfo *const fbo) void GraphicsManager::initOpenGLFunctions() { #ifdef __native_client__ - emulateFunction(glTextureSubImage2D); + emulateFunction(glTextureSubImage2DEXT); #else const bool is10 = checkGLVersion(1, 0); const bool is11 = checkGLVersion(1, 1); @@ -1029,11 +1029,11 @@ void GraphicsManager::initOpenGLFunctions() if (!is11) { mSupportModernOpengl = false; - emulateFunction(glTextureSubImage2D); - emulateFunction(glActiveTexture); + emulateFunction(glTextureSubImage2DEXT); return; } +/* if (findI(mGlVendor, "NVIDIA") != std::string::npos || mGlVersionString.find("Mesa 10.6.") != std::string::npos || mGlVersionString.find("Mesa 11.1.1") != std::string::npos || @@ -1048,32 +1048,33 @@ void GraphicsManager::initOpenGLFunctions() { logger->log1("Not checked for DSA because on " "NVIDIA or AMD or in Mesa it broken"); - emulateFunction(glTextureSubImage2D); + emulateFunction(glTextureSubImage2DEXT); } 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) { logger->log1("found GL_EXT_direct_state_access"); - assignFunctionEmu2(glTextureSubImage2D, "glTextureSubImage2D"); + assignFunction(glTextureSubImage2D); } else if (supportExtension("GL_EXT_direct_state_access")) { logger->log1("found GL_EXT_direct_state_access"); - assignFunctionEmu2(glTextureSubImage2D, "glTextureSubImage2DEXT"); + assignFunctionEmu2(glTextureSubImage2DEXT, "glTextureSubImage2DEXT"); } else if (supportExtension("GL_ARB_direct_state_access")) { logger->log1("found GL_ARB_direct_state_access"); logger->log1("GL_EXT_direct_state_access not found"); - assignFunctionEmu2(glTextureSubImage2D, "glTextureSubImage2DEXT"); + assignFunction(glTextureSubImage2D); } else { logger->log1("GL_EXT_direct_state_access not found"); logger->log1("GL_ARB_direct_state_access not found"); - emulateFunction(glTextureSubImage2D); + emulateFunction(glTextureSubImage2DEXT); } } |