author | Jeff Muizelaar <jmuizelaar@mozilla.com> |
Fri, 05 Jun 2015 17:17:30 -0400 | |
changeset 247536 | 56e2e974eae2ade79607f7385ab79187ca3c1861 |
parent 247535 | 564799379b68e31fd1731662e300a89e36447d4f |
child 247537 | 7128670beeea8dedbce4177d8cefd65a6ae2a503 |
push id | 28870 |
push user | cbook@mozilla.com |
push date | Mon, 08 Jun 2015 09:58:36 +0000 |
treeherder | mozilla-central@4700d1cdf489 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | Bas |
bugs | 1171094 |
milestone | 41.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/gfx/thebes/gfxPlatform.cpp +++ b/gfx/thebes/gfxPlatform.cpp @@ -2241,17 +2241,17 @@ gfxPlatform::OptimalFormatForContent(gfx * There are a number of layers acceleration (or layers in general) preferences * that should be consistent for the lifetime of the application (bug 840967). * As such, we will evaluate them all as soon as one of them is evaluated * and remember the values. Changing these preferences during the run will * not have any effect until we restart. */ 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; static bool sPrefBrowserTabsRemoteAutostart = false; static bool sLayersAccelerationPrefsInitialized = false; void @@ -2286,17 +2286,17 @@ InitLayersAccelerationPrefs() } } if (!gfxPrefs::LayersD3D11DisableWARP()) { // Always support D3D11 when WARP is allowed. sLayersSupportsD3D11 = true; } if (NS_SUCCEEDED(gfxInfo->GetFeatureStatus(nsIGfxInfo::FEATURE_DIRECT3D_11_ANGLE, &status))) { if (status == nsIGfxInfo::FEATURE_STATUS_OK) { - sANGLESupportsD3D11 = true; + gANGLESupportsD3D11 = true; } } } #endif if (Preferences::GetBool("media.hardware-video-decoding.enabled", false) && #ifdef XP_WIN Preferences::GetBool("media.windows-media-foundation.use-dxva", true) && @@ -2342,17 +2342,17 @@ gfxPlatform::CanUseHardwareVideoDecoding MOZ_ASSERT(sLayersAccelerationPrefsInitialized); return sLayersSupportsHardwareVideoDecoding && !sLayersHardwareVideoDecodingFailed; } bool gfxPlatform::CanUseDirect3D11ANGLE() { MOZ_ASSERT(sLayersAccelerationPrefsInitialized); - return sANGLESupportsD3D11; + return gANGLESupportsD3D11; } bool gfxPlatform::BufferRotationEnabled() { MutexAutoLock autoLock(*gGfxPlatformPrefsLock);
--- a/gfx/thebes/gfxPlatform.h +++ b/gfx/thebes/gfxPlatform.h @@ -126,16 +126,18 @@ enum eGfxLog { eGfxLog_cmapdata = 4, // text perf data eGfxLog_textperf = 5 }; // 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* GetBackendName(mozilla::gfx::BackendType aBackend) { switch (aBackend) { case mozilla::gfx::BackendType::DIRECT2D: return "direct2d";
--- a/gfx/thebes/gfxWindowsPlatform.cpp +++ b/gfx/thebes/gfxWindowsPlatform.cpp @@ -1713,22 +1713,24 @@ bool DoesD3D11DeviceWork(ID3D11Device *d if (GetModuleHandleW(L"dlumd32.dll") && GetModuleHandleW(L"igd10umd32.dll")) { nsString displayLinkModuleVersionString; gfxWindowsPlatform::GetDLLVersion(L"dlumd32.dll", displayLinkModuleVersionString); uint64_t displayLinkModuleVersion; if (!ParseDriverVersion(displayLinkModuleVersionString, &displayLinkModuleVersion)) { #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; } } result = true; return true; } // See bug 1083071. On some drivers, Direct3D 11 CreateShaderResourceView fails