Add the ability to determine the Mali driver version.

This is the only way we can determine the video driver version with mali.
Really it's a good thing that they only push driver updates once every two years, makes it easy to determine what driver anybody is running.
This commit is contained in:
Ryan Houdek 2014-04-11 23:38:40 -05:00
parent b106dbc96e
commit ed67cc3fb2
1 changed files with 16 additions and 0 deletions

View File

@ -292,9 +292,25 @@ void InitDriverInfo()
break;
case DriverDetails::VENDOR_ARM:
if (std::string::npos != srenderer.find("Mali-T6"))
{
driver = DriverDetails::DRIVER_ARM_T6XX;
// Mali drivers provide no way to explicitly find out what video driver is running.
// This is similar to how we can't find the Nvidia driver version in Windows.
// Good thing is that ARM introduces a new video driver about once every two years so we can
// find the driver version by the features it exposes.
// r2p0 - No OpenGL ES 3.0 support (We don't support this)
// r3p0 - OpenGL ES 3.0 support
// r4p0 - Supports 'GL_EXT_shader_pixel_local_storage' extension.
if (GLExtensions::Supports("GL_EXT_shader_pixel_local_storage"))
version = 400;
else
version = 300;
}
else if (std::string::npos != srenderer.find("Mali-4"))
{
driver = DriverDetails::DRIVER_ARM_4XX;
}
break;
case DriverDetails::VENDOR_MESA:
{