Add a popup window to be shown first if it is detected that

the driver is too old.
This commit is contained in:
hiker 2015-01-19 10:21:41 +11:00
parent 64ce3897e6
commit 79df2151e9
4 changed files with 21 additions and 8 deletions

View File

@ -8,8 +8,10 @@
<card contains="Mesa" os="linux" version="<10.3" disable="BufferStorage"/>
<card contains="Mesa" os="linux" version="<10.6" disable="GeometryShader4"/>
<!--
<card is="Intel(R) HD Graphics 3000" os="windows" disable="DriverRecentEnough"/>
<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"/>
-->
</graphical-restrictions>

View File

@ -54,7 +54,8 @@ namespace GraphicsRestrictions
"BufferStorage",
"BindlessTexture",
"TextureCompressionS3TC",
"AMDVertexShaderLayer"
"AMDVertexShaderLayer",
"DriverRecentEnough"
};
} // namespace Private
using namespace Private;

View File

@ -49,6 +49,7 @@ namespace GraphicsRestrictions
GR_BINDLESS_TEXTURE,
GR_EXT_TEXTURE_COMPRESSION_S3TC,
GR_AMD_VERTEX_SHADER_LAYER,
GR_DRIVER_RECENT_ENOUGH,
GR_COUNT /** MUST be last entry. */
} ;

View File

@ -1143,8 +1143,8 @@ void askForInternetPermission()
"'User Interface', and edit \"Connect to the "
"Internet\" and \"Send anonymous HW statistics\")."),
MessageDialog::MESSAGE_DIALOG_YESNO,
new ConfirmServer(), true);
new ConfirmServer(), true, true);
GUIEngine::DialogQueue::get()->pushDialog(dialog, false);
} // askForInternetPermission
//=============================================================================
@ -1294,6 +1294,15 @@ int main(int argc, char *argv[] )
exit(0);
}
if (GraphicsRestrictions::isDisabled(GraphicsRestrictions::GR_DRIVER_RECENT_ENOUGH))
{
MessageDialog *dialog =
new MessageDialog(_("Your driver version is too old. Please install "
"the latest video drivers."),
/*from queue*/ true);
GUIEngine::DialogQueue::get()->pushDialog(dialog);
}
// Note that on the very first run of STK internet status is set to
// "not asked", so the report will only be sent in the next run.
if(UserConfigParams::m_internet_status==Online::RequestManager::IPERM_ALLOWED)