summaryrefslogtreecommitdiff
path: root/src/graphicsmanager.cpp
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2016-05-09 20:04:16 +0300
committerAndrei Karas <akaras@inbox.ru>2016-05-09 20:27:19 +0300
commit820ed443d5c96fb96cdc7b1f945ac7c6aaf95cbc (patch)
tree78c2212ce15c202e12685d8a6dcce4a1937edea5 /src/graphicsmanager.cpp
parent4ef3a45641bc2c1ada931951c120c4f8b8eb2301 (diff)
downloadplus-820ed443d5c96fb96cdc7b1f945ac7c6aaf95cbc.tar.gz
plus-820ed443d5c96fb96cdc7b1f945ac7c6aaf95cbc.tar.bz2
plus-820ed443d5c96fb96cdc7b1f945ac7c6aaf95cbc.tar.xz
plus-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.cpp17
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);
}
}