Merge pull request #1721 from Sonicadvance1/fix_adreno_400
Fixes Adreno 400 performance.
This commit is contained in:
commit
b30802e2f0
|
@ -266,10 +266,7 @@ static void InitDriverInfo()
|
|||
{
|
||||
case DriverDetails::VENDOR_QUALCOMM:
|
||||
{
|
||||
if (std::string::npos != srenderer.find("Adreno (TM) 3"))
|
||||
driver = DriverDetails::DRIVER_QUALCOMM_3XX;
|
||||
else
|
||||
driver = DriverDetails::DRIVER_QUALCOMM_2XX;
|
||||
driver = DriverDetails::DRIVER_QUALCOMM;
|
||||
double glVersion;
|
||||
sscanf(g_ogl_config.gl_version, "OpenGL ES %lg V@%lg", &glVersion, &version);
|
||||
}
|
||||
|
@ -278,28 +275,20 @@ static void InitDriverInfo()
|
|||
// 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_MIDGARD;
|
||||
// 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.
|
||||
//
|
||||
// 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") ||
|
||||
std::string::npos != srenderer.find("Mali-3") ||
|
||||
std::string::npos != srenderer.find("Mali-2"))
|
||||
{
|
||||
driver = DriverDetails::DRIVER_ARM_UTGARD;
|
||||
}
|
||||
driver = DriverDetails::DRIVER_ARM;
|
||||
if (GLExtensions::Supports("GL_EXT_shader_pixel_local_storage"))
|
||||
version = 400;
|
||||
else
|
||||
version = 300;
|
||||
break;
|
||||
case DriverDetails::VENDOR_MESA:
|
||||
{
|
||||
|
|
|
@ -40,16 +40,16 @@ namespace DriverDetails
|
|||
// This is a list of all known bugs for each vendor
|
||||
// We use this to check if the device and driver has a issue
|
||||
static BugInfo m_known_bugs[] = {
|
||||
{OS_ALL, VENDOR_QUALCOMM, DRIVER_QUALCOMM_3XX, -1, BUG_NODYNUBOACCESS, 14.0, 94.0, true},
|
||||
{OS_ALL, VENDOR_QUALCOMM, DRIVER_QUALCOMM_3XX, -1, BUG_BROKENCENTROID, 14.0, 46.0, true},
|
||||
{OS_ALL, VENDOR_QUALCOMM, DRIVER_QUALCOMM_3XX, -1, BUG_BROKENINFOLOG, -1.0, 46.0, true},
|
||||
{OS_ALL, VENDOR_QUALCOMM, DRIVER_QUALCOMM_3XX, -1, BUG_ANNIHILATEDUBOS, 41.0, 46.0, true},
|
||||
{OS_ALL, VENDOR_QUALCOMM, DRIVER_QUALCOMM_3XX, -1, BUG_BROKENSWAP, -1.0, 46.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, 65.0, true},
|
||||
{OS_ALL, VENDOR_QUALCOMM, DRIVER_QUALCOMM_3XX, -1, BUG_BROKENATTRIBUTELESS, -1.0, 94.0, true},
|
||||
{OS_ALL, VENDOR_QUALCOMM, DRIVER_QUALCOMM_3XX, -1, BUG_BROKENNEGATEDBOOLEAN,-1.0, -1.0, true},
|
||||
{OS_ALL, VENDOR_ARM, DRIVER_ARM_MIDGARD, -1, BUG_BROKENBUFFERSTREAM, -1.0, -1.0, true},
|
||||
{OS_ALL, VENDOR_QUALCOMM, DRIVER_QUALCOMM, -1, BUG_NODYNUBOACCESS, 14.0, 94.0, true},
|
||||
{OS_ALL, VENDOR_QUALCOMM, DRIVER_QUALCOMM, -1, BUG_BROKENCENTROID, 14.0, 46.0, true},
|
||||
{OS_ALL, VENDOR_QUALCOMM, DRIVER_QUALCOMM, -1, BUG_BROKENINFOLOG, -1.0, 46.0, true},
|
||||
{OS_ALL, VENDOR_QUALCOMM, DRIVER_QUALCOMM, -1, BUG_ANNIHILATEDUBOS, 41.0, 46.0, true},
|
||||
{OS_ALL, VENDOR_QUALCOMM, DRIVER_QUALCOMM, -1, BUG_BROKENSWAP, -1.0, 46.0, true},
|
||||
{OS_ALL, VENDOR_QUALCOMM, DRIVER_QUALCOMM, -1, BUG_BROKENBUFFERSTREAM, -1.0, -1.0, true},
|
||||
{OS_ALL, VENDOR_QUALCOMM, DRIVER_QUALCOMM, -1, BUG_BROKENTEXTURESIZE, -1.0, 65.0, true},
|
||||
{OS_ALL, VENDOR_QUALCOMM, DRIVER_QUALCOMM, -1, BUG_BROKENATTRIBUTELESS, -1.0, 94.0, true},
|
||||
{OS_ALL, VENDOR_QUALCOMM, DRIVER_QUALCOMM, -1, BUG_BROKENNEGATEDBOOLEAN,-1.0, -1.0, true},
|
||||
{OS_ALL, VENDOR_ARM, DRIVER_ARM, -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},
|
||||
|
|
|
@ -42,14 +42,12 @@ namespace DriverDetails
|
|||
DRIVER_R600, // OSS Radeon
|
||||
DRIVER_INTEL, // Official Intel
|
||||
DRIVER_I965, // OSS Intel
|
||||
DRIVER_ARM_MIDGARD, // Official Mali driver
|
||||
DRIVER_ARM_UTGARD, // Official Mali driver
|
||||
DRIVER_ARM, // Official Mali driver
|
||||
DRIVER_LIMA, // OSS Mali driver
|
||||
DRIVER_QUALCOMM_3XX, // Official Adreno driver 3xx
|
||||
DRIVER_QUALCOMM_2XX, // Official Adreno driver 2xx
|
||||
DRIVER_QUALCOMM, // Official Adreno driver
|
||||
DRIVER_FREEDRENO, // OSS Adreno driver
|
||||
DRIVER_IMGTEC, // OSS PowerVR driver
|
||||
DRIVER_VIVANTE, // Official vivante driver
|
||||
DRIVER_IMGTEC, // Official PowerVR driver
|
||||
DRIVER_VIVANTE, // Official Vivante driver
|
||||
DRIVER_UNKNOWN // Unknown driver, default to official hardware driver
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue