Bug 1171094. Disallow D3D11 ANGLE with old DisplayLink drivers. r=Bas

--HG--
extra : rebase_source : 93fbda95aa8b4ec57d6ecfa0859e8bb319135cdf
This commit is contained in:
Jeff Muizelaar 2015-06-05 17:17:30 -04:00
Родитель 8ab478043e
Коммит feadb7fa1f
3 изменённых файлов: 7 добавлений и 3 удалений

Просмотреть файл

@ -2246,7 +2246,7 @@ gfxPlatform::OptimalFormatForContent(gfxContentType aContent)
*/
static bool sLayersSupportsD3D9 = false;
static bool sLayersSupportsD3D11 = false;
static bool sANGLESupportsD3D11 = false;
bool gANGLESupportsD3D11 = false;
static bool sLayersSupportsHardwareVideoDecoding = false;
static bool sLayersHardwareVideoDecodingFailed = false;
static bool sBufferRotationCheckPref = true;
@ -2291,7 +2291,7 @@ InitLayersAccelerationPrefs()
}
if (NS_SUCCEEDED(gfxInfo->GetFeatureStatus(nsIGfxInfo::FEATURE_DIRECT3D_11_ANGLE, &status))) {
if (status == nsIGfxInfo::FEATURE_STATUS_OK) {
sANGLESupportsD3D11 = true;
gANGLESupportsD3D11 = true;
}
}
}
@ -2347,7 +2347,7 @@ bool
gfxPlatform::CanUseDirect3D11ANGLE()
{
MOZ_ASSERT(sLayersAccelerationPrefsInitialized);
return sANGLESupportsD3D11;
return gANGLESupportsD3D11;
}

Просмотреть файл

@ -131,6 +131,8 @@ enum eGfxLog {
// when searching through pref langs, max number of pref langs
const uint32_t kMaxLenPrefLangList = 32;
extern bool gANGLESupportsD3D11;
#define UNINITIALIZED_VALUE (-1)
inline const char*

Просмотреть файл

@ -1718,12 +1718,14 @@ bool DoesD3D11DeviceWork(ID3D11Device *device)
#if defined(MOZ_CRASHREPORTER)
CrashReporter::AppendAppNotesToCrashReport(NS_LITERAL_CSTRING("DisplayLink: could not parse version\n"));
#endif
gANGLESupportsD3D11 = false;
return false;
}
if (displayLinkModuleVersion <= V(8,6,1,36484)) {
#if defined(MOZ_CRASHREPORTER)
CrashReporter::AppendAppNotesToCrashReport(NS_LITERAL_CSTRING("DisplayLink: too old version\n"));
#endif
gANGLESupportsD3D11 = false;
return false;
}
}