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
commit 4e0b7260b6
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:
{

View File

@ -48,7 +48,7 @@ namespace DriverDetails
{OS_ALL, VENDOR_QUALCOMM, DRIVER_QUALCOMM_3XX, -1, BUG_BROKENBUFFERSTREAM, -1.0, -1.0, true},
{OS_ALL, VENDOR_QUALCOMM, DRIVER_QUALCOMM_3XX, -1, BUG_BROKENTEXTURESIZE, -1.0, -1.0, true},
{OS_ALL, VENDOR_QUALCOMM, DRIVER_QUALCOMM_3XX, -1, BUG_ROTATEDFRAMEBUFFER, 53.0, -1.0, true},
{OS_ALL, VENDOR_ARM, DRIVER_ARM_T6XX, -1, BUG_BROKENBUFFERSTREAM, -1.0, -1.0, true},
{OS_ALL, VENDOR_ARM, DRIVER_ARM_TXXX, -1, BUG_BROKENBUFFERSTREAM, -1.0, -1.0, true},
{OS_ALL, VENDOR_MESA, DRIVER_NOUVEAU, -1, BUG_BROKENUBO, 900, 916, true},
{OS_ALL, VENDOR_MESA, DRIVER_R600, -1, BUG_BROKENUBO, 900, 913, true},
{OS_ALL, VENDOR_MESA, DRIVER_I965, -1, BUG_BROKENUBO, 900, 920, true},

View File

@ -43,7 +43,7 @@ namespace DriverDetails
DRIVER_INTEL, // Official Intel
DRIVER_I965, // OSS Intel
DRIVER_ARM_4XX, // Official Mali driver
DRIVER_ARM_T6XX, // Official Mali driver
DRIVER_ARM_TXXX, // Official Mali driver
DRIVER_LIMA, // OSS Mali driver
DRIVER_QUALCOMM_3XX, // Official Adreno driver 3xx
DRIVER_QUALCOMM_2XX, // Official Adreno driver 2xx