Don't require paint resampling for desktop APZ, yet. (bug 1126045 part 1, r=mattwoodrow)
authorDavid Anderson <danderson@mozilla.com>
Tue, 27 Jan 2015 16:01:48 -0800
changeset 226147 5df638c467f85c763a8d72507c39680561d6efd3
parent 226146 774ff21aecb3cc882d2fd53317fc1f4aa5d7109a
child 226148 a9a751813c5e19b0d753aca2f1cc16e45d26ed83
push id54770
push userdanderson@mozilla.com
push dateWed, 28 Jan 2015 01:27:51 +0000
treeherdermozilla-inbound@a9a751813c5e [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmattwoodrow
bugs1126045
milestone38.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
Don't require paint resampling for desktop APZ, yet. (bug 1126045 part 1, r=mattwoodrow)
gfx/layers/client/ClientLayerManager.cpp
--- a/gfx/layers/client/ClientLayerManager.cpp
+++ b/gfx/layers/client/ClientLayerManager.cpp
@@ -202,21 +202,26 @@ ClientLayerManager::BeginTransactionWith
   targetBounds.x = targetBounds.y = 0;
   mForwarder->BeginTransaction(targetBounds, mTargetRotation, orientation);
 
   // If we're drawing on behalf of a context with async pan/zoom
   // enabled, then the entire buffer of painted layers might be
   // composited (including resampling) asynchronously before we get
   // a chance to repaint, so we have to ensure that it's all valid
   // and not rotated.
+  //
+  // Desktop does not support async zoom yet, so we ignore this for those
+  // platforms.
+#if defined(MOZ_WIDGET_ANDROID) || defined(MOZ_WIDGET_GONK)
   if (mWidget) {
     if (dom::TabChild* window = mWidget->GetOwningTabChild()) {
       mCompositorMightResample = window->IsAsyncPanZoomEnabled();
     }
   }
+#endif
 
   // If we have a non-default target, we need to let our shadow manager draw
   // to it. This will happen at the end of the transaction.
   if (aTarget && XRE_GetProcessType() == GeckoProcessType_Default) {
     mShadowTarget = aTarget;
   } else {
     NS_ASSERTION(!aTarget,
                  "Content-process ClientLayerManager::BeginTransactionWithTarget not supported");