Merge pull request #263 from Sonicadvance1/DetermineMaliVersion

Add Mali driver version check and support of checking for Mali-T7xx
This commit is contained in:
Matthew Parlane
2014-04-14 19:20:04 +12:00
3 changed files with 23 additions and 4 deletions

View File

@ -290,10 +290,29 @@ void InitDriverInfo()
}
break;
case DriverDetails::VENDOR_ARM:
if (std::string::npos != srenderer.find("Mali-T6"))
driver = DriverDetails::DRIVER_ARM_T6XX;
// Currently the Mali-T line has two families in it.
// Mali-T6xx and Mali-T7xx
// These two families are similar enough that they share bugs in their drivers.
if (std::string::npos != srenderer.find("Mali-T"))
{
driver = DriverDetails::DRIVER_ARM_TXXX;
// 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:
{