summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorRyan Houdek <Sonicadvance1@gmail.com>2014-12-19 15:55:50 -0600
committerRyan Houdek <Sonicadvance1@gmail.com>2014-12-19 15:55:50 -0600
commitb30802e2f013726842f69c6e4ea28af13ff31974 (patch)
treeaf73c64f07ae66f250c5ae58aff4a212ca72a750 /Source/Core
parent2a95454c01e771e6b2c43da746cdc90eda139b89 (diff)
parent8c0e26d96987194bc04d77071a897a507d8bcaa4 (diff)
Merge pull request #1721 from Sonicadvance1/fix_adreno_400
Fixes Adreno 400 performance.
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/VideoBackends/OGL/Render.cpp41
-rw-r--r--Source/Core/VideoCommon/DriverDetails.cpp20
-rw-r--r--Source/Core/VideoCommon/DriverDetails.h10
3 files changed, 29 insertions, 42 deletions
diff --git a/Source/Core/VideoBackends/OGL/Render.cpp b/Source/Core/VideoBackends/OGL/Render.cpp
index cc52c47e03..9baeb286a6 100644
--- a/Source/Core/VideoBackends/OGL/Render.cpp
+++ b/Source/Core/VideoBackends/OGL/Render.cpp
@@ -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.
-
- 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;
- }
+ //
+ // 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.
+
+ driver = DriverDetails::DRIVER_ARM;
+ if (GLExtensions::Supports("GL_EXT_shader_pixel_local_storage"))
+ version = 400;
+ else
+ version = 300;
break;
case DriverDetails::VENDOR_MESA:
{
diff --git a/Source/Core/VideoCommon/DriverDetails.cpp b/Source/Core/VideoCommon/DriverDetails.cpp
index ccde499071..dbcd45133f 100644
--- a/Source/Core/VideoCommon/DriverDetails.cpp
+++ b/Source/Core/VideoCommon/DriverDetails.cpp
@@ -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},
diff --git a/Source/Core/VideoCommon/DriverDetails.h b/Source/Core/VideoCommon/DriverDetails.h
index 49371d3a03..278e339fac 100644
--- a/Source/Core/VideoCommon/DriverDetails.h
+++ b/Source/Core/VideoCommon/DriverDetails.h
@@ -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
};