Bug 1465784 - Remove unnecessary render step with async-scene-building. r=sotaro
authorKartikaya Gupta <kgupta@mozilla.com>
Wed, 06 Jun 2018 16:45:06 -0400
changeset 475865 553ca5e060470b0724f4e12faa8ac0363ac3401d
parent 475864 51f4eaa7c00323836b66396b42cdb41a1306c358
child 475866 b43ab3cd2f3b182d0e718940b3ee0090ae8249c8
push id9374
push userjlund@mozilla.com
push dateMon, 18 Jun 2018 21:43:20 +0000
treeherdermozilla-beta@160e085dfb0b [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerssotaro
bugs1465784
milestone62.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
Bug 1465784 - Remove unnecessary render step with async-scene-building. r=sotaro MozReview-Commit-ID: 8iOQHLhlcjA
gfx/layers/wr/WebRenderBridgeParent.cpp
--- a/gfx/layers/wr/WebRenderBridgeParent.cpp
+++ b/gfx/layers/wr/WebRenderBridgeParent.cpp
@@ -672,17 +672,21 @@ WebRenderBridgeParent::RecvSetDisplayLis
     // ProcessWebRenderParentCommands call above. If we send the display list
     // alone then WR will not yet have the content for those other pipelines
     // and so it will emit errors; the ApplyAsyncImages call below ensure that
     // we provide the pipeline content to WR as part of the same transaction.
     mAsyncImageManager->ApplyAsyncImages(txn);
 
     mApi->SendTransaction(txn);
 
-    ScheduleGenerateFrame();
+    if (!gfxPrefs::WebRenderAsyncSceneBuild()) {
+      // With async-scene-build enabled, we will trigger this after the scene
+      // build is done, so we don't need to do it here.
+      ScheduleGenerateFrame();
+    }
 
     if (ShouldParentObserveEpoch()) {
       mCompositorBridge->ObserveLayerUpdate(GetLayersId(), GetChildLayerObserverEpoch(), true);
     }
   }
 
   HoldPendingTransactionId(wrEpoch, aTransactionId, aTxnStartTime, aFwdTime);