Try graphical restrictions on nvidia old drivers

This commit is contained in:
Vincent Lejeune 2014-11-15 03:10:23 +01:00
parent 8a60550e8b
commit 3c42223add
2 changed files with 17 additions and 5 deletions

View File

@ -1,7 +1,8 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<graphical-restrictions> <graphical-restrictions>
<card is="Intel(R) HD Graphics 3000" os="windows" version="<9.17.11" disable="a b c"/> <card is="Intel(R) HD Graphics 3000" os="windows" version="<9.17.11" disable="a b c"/>
<card contains="HD Graphics" os="linux" version="=9.17.10.3517" disable="a b c"/> <card contains="NVIDIA" os="windows" version="<344.65" disable="BufferStorage"/>
<card contains="NVIDIA" os="linux" version="<343.22" disable="BufferStorage"/>
<card is="Intel(R) HD Graphics 3000" os="osx" version="<=9.17.10" disable="a b c"/> <card is="Intel(R) HD Graphics 3000" os="osx" version="<=9.17.10" disable="a b c"/>
<card is="" os="bsd" version="<1.2.3" disable="a b c"/> <card is="" os="bsd" version="<1.2.3" disable="a b c"/>

View File

@ -479,10 +479,7 @@ void IrrDriver::initDevice()
// Call to glGetIntegerv should not be made if --no-graphics is used // Call to glGetIntegerv should not be made if --no-graphics is used
if(!ProfileWorld::isNoGraphics()) if(!ProfileWorld::isNoGraphics())
{ {
std::string driver((char*)(glGetString(GL_VERSION)));
std::string card ((char*)(glGetString(GL_RENDERER)));
std::vector<std::string> restrictions =
GraphicsRestrictions::getRestrictions(driver, card);
} }
if(!ProfileWorld::isNoGraphics()) if(!ProfileWorld::isNoGraphics())
{ {
@ -562,6 +559,20 @@ void IrrDriver::initDevice()
Log::info("GLDriver", "ARB Texture View enabled"); Log::info("GLDriver", "ARB Texture View enabled");
} }
m_support_sdsm = m_support_sdsm && hasComputeShaders && hasBuffserStorage; m_support_sdsm = m_support_sdsm && hasComputeShaders && hasBuffserStorage;
std::string driver((char*)(glGetString(GL_VERSION)));
std::string card((char*)(glGetString(GL_RENDERER)));
std::vector<std::string> restrictions =
GraphicsRestrictions::getRestrictions(driver, card);
for (const std::string &restriction : restrictions)
{
if (!restriction.compare("BufferStorage"))
{
hasBuffserStorage = false;
Log::info("Graphics restrictions", "Buffer Storage disabled");
}
}
} }
#endif #endif