mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-25 23:29:44 -06:00
Merge pull request #263 from Sonicadvance1/DetermineMaliVersion
Add Mali driver version check and support of checking for Mali-T7xx
This commit is contained in:
@ -290,10 +290,29 @@ void InitDriverInfo()
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case DriverDetails::VENDOR_ARM:
|
case DriverDetails::VENDOR_ARM:
|
||||||
if (std::string::npos != srenderer.find("Mali-T6"))
|
// Currently the Mali-T line has two families in it.
|
||||||
driver = DriverDetails::DRIVER_ARM_T6XX;
|
// 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"))
|
else if (std::string::npos != srenderer.find("Mali-4"))
|
||||||
|
{
|
||||||
driver = DriverDetails::DRIVER_ARM_4XX;
|
driver = DriverDetails::DRIVER_ARM_4XX;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case DriverDetails::VENDOR_MESA:
|
case DriverDetails::VENDOR_MESA:
|
||||||
{
|
{
|
||||||
|
@ -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_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_BROKENTEXTURESIZE, -1.0, -1.0, true},
|
||||||
{OS_ALL, VENDOR_QUALCOMM, DRIVER_QUALCOMM_3XX, -1, BUG_ROTATEDFRAMEBUFFER, 53.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_NOUVEAU, -1, BUG_BROKENUBO, 900, 916, true},
|
||||||
{OS_ALL, VENDOR_MESA, DRIVER_R600, -1, BUG_BROKENUBO, 900, 913, 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},
|
{OS_ALL, VENDOR_MESA, DRIVER_I965, -1, BUG_BROKENUBO, 900, 920, true},
|
||||||
|
@ -43,7 +43,7 @@ namespace DriverDetails
|
|||||||
DRIVER_INTEL, // Official Intel
|
DRIVER_INTEL, // Official Intel
|
||||||
DRIVER_I965, // OSS Intel
|
DRIVER_I965, // OSS Intel
|
||||||
DRIVER_ARM_4XX, // Official Mali driver
|
DRIVER_ARM_4XX, // Official Mali driver
|
||||||
DRIVER_ARM_T6XX, // Official Mali driver
|
DRIVER_ARM_TXXX, // Official Mali driver
|
||||||
DRIVER_LIMA, // OSS Mali driver
|
DRIVER_LIMA, // OSS Mali driver
|
||||||
DRIVER_QUALCOMM_3XX, // Official Adreno driver 3xx
|
DRIVER_QUALCOMM_3XX, // Official Adreno driver 3xx
|
||||||
DRIVER_QUALCOMM_2XX, // Official Adreno driver 2xx
|
DRIVER_QUALCOMM_2XX, // Official Adreno driver 2xx
|
||||||
|
Reference in New Issue
Block a user