Bug 1151489. Enable software vsync on all b2g versions. r=kats

This commit is contained in:
Mason Chang 2015-04-14 10:32:47 -04:00
parent fa69195567
commit 13fbb87beb
2 changed files with 7 additions and 17 deletions

View File

@ -1124,23 +1124,8 @@ pref("dom.mozSettings.allowForceReadOnly", false);
// RequestSync API is enabled by default on B2G. // RequestSync API is enabled by default on B2G.
pref("dom.requestSync.enabled", true); pref("dom.requestSync.enabled", true);
// Only enable for kit kat and above devices // Use vsync aligned rendering
// kit kat == 19, L = 21, 20 is kit-kat for wearables
// 15 is for the ICS emulators which will fallback to software vsync
#if ANDROID_VERSION == 19 || ANDROID_VERSION == 21 || ANDROID_VERSION == 15
pref("gfx.vsync.hw-vsync.enabled", true); pref("gfx.vsync.hw-vsync.enabled", true);
pref("gfx.vsync.compositor", true); pref("gfx.vsync.compositor", true);
pref("gfx.touch.resample", true); pref("gfx.touch.resample", true);
#else
pref("gfx.vsync.hw-vsync.enabled", false);
pref("gfx.vsync.compositor", false);
pref("gfx.touch.resample", false);
#endif
// Bug 1147753 - Weird issues with vsync refresh driver on L devices
// so disable them on L, but enable on KK and ICS
#if ANDROID_VERSION == 19 || ANDROID_VERSION == 15
pref("gfx.vsync.refreshdriver", true); pref("gfx.vsync.refreshdriver", true);
#else
pref("gfx.vsync.refreshdriver", false);
#endif

View File

@ -487,7 +487,12 @@ private:
already_AddRefed<mozilla::gfx::VsyncSource> already_AddRefed<mozilla::gfx::VsyncSource>
gfxAndroidPlatform::CreateHardwareVsyncSource() gfxAndroidPlatform::CreateHardwareVsyncSource()
{ {
#ifdef MOZ_WIDGET_GONK // Only enable true hardware vsync on kit-kat due to L HwcComposer issues
// Jelly Bean has inaccurate hardware vsync so disable on JB
// Android pre-JB doesn't have hardware vsync
// Once L HwcComposer issues have been resolved, re-enable for L devices
// L is andriod version 21, Kit-kat is 19, 20 is kit-kat for wearables
#if defined(MOZ_WIDGET_GONK) && (ANDROID_VERSION == 19)
nsRefPtr<GonkVsyncSource> vsyncSource = new GonkVsyncSource(); nsRefPtr<GonkVsyncSource> vsyncSource = new GonkVsyncSource();
VsyncSource::Display& display = vsyncSource->GetGlobalDisplay(); VsyncSource::Display& display = vsyncSource->GetGlobalDisplay();
display.EnableVsync(); display.EnableVsync();