Fixes Adreno 400 slow performance.
Adreno 300 and 400 have the same video driver performance issues because they are very similar architectures which use basically the same thing with everything. There isn't any need to detect the family of the driver with Qualcomm anyway. If we ever need family specific bugs then we can implement real support for that. Performance issue on Adreno 400 series was due to us only detecting Adreno 300 series, and with Adreno 400 it wouldn't use the bugs, which would cause it to use glBufferSubData, causing the huge performance hit.
This commit is contained in:
parent
ca18e51450
commit
0fec69001b
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -40,15 +40,15 @@ 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_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_MIDGARD, -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},
|
||||
|
|
|
@ -45,8 +45,7 @@ namespace DriverDetails
|
|||
DRIVER_ARM_MIDGARD, // Official Mali driver
|
||||
DRIVER_ARM_UTGARD, // 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
|
||||
|
|
Loading…
Reference in New Issue