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

@ -6,10 +6,12 @@
<card contains="NVIDIA" os="linux" version="<343.22" disable="BufferStorage"/>
<card contains="NVIDIA" disable="ShaderAtomicCounters"/>
<card contains="Mesa" os="linux" version="<10.3" disable="BufferStorage"/>
<card contains="Mesa" os="linux" version="<10.6" disable="GeometryShader4"/>
<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;
@ -389,9 +390,9 @@ void unitTesting()
assert(Version("2.1 Mesa 10.5.0-devel (git-82e919d)",
"Gallium 0.4 on i915 (chipse)")
== Version("10.5.0") );
assert(Version("1.4 (3.0 Mesa 10.1.0)",
"Mesa DRI Intel(R) Ivybridge Mobile")
== Version("10.1.0"));
assert(Version("1.4 (3.0 Mesa 10.1.0)",
"Mesa DRI Intel(R) Ivybridge Mobile")
== Version("10.1.0"));
} // unitTesting

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)