Bug 1259785: Do a proper flush when taking a snapshot so our dependent targets and command lists get appropriately cleared. r=jrmuizel a=lizzard
authorBas Schouten <bschouten@mozilla.com>
Thu, 31 Mar 2016 21:45:36 +0200
changeset 325732 6b279bfa8288a27d513b252382ca5ab640fe5387
parent 325731 36ad0d4df02c9c9ea551c1d5cc0b0669ef9d9efd
child 325733 00ab94f6a5bc64291aa681c8fc6261bc6fda7f68
push id1128
push userjlund@mozilla.com
push dateWed, 01 Jun 2016 01:31:59 +0000
treeherdermozilla-release@fe0d30de989d [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjrmuizel, lizzard
bugs1259785
milestone47.0a2
Bug 1259785: Do a proper flush when taking a snapshot so our dependent targets and command lists get appropriately cleared. r=jrmuizel a=lizzard MozReview-Commit-ID: D49eFNRGD2V
gfx/2d/DrawTargetD2D1.cpp
--- a/gfx/2d/DrawTargetD2D1.cpp
+++ b/gfx/2d/DrawTargetD2D1.cpp
@@ -83,17 +83,17 @@ already_AddRefed<SourceSurface>
 DrawTargetD2D1::Snapshot()
 {
   if (mSnapshot) {
     RefPtr<SourceSurface> snapshot(mSnapshot);
     return snapshot.forget();
   }
   PopAllClips();
 
-  mDC->Flush();
+  Flush();
 
   mSnapshot = new SourceSurfaceD2D1(mBitmap, mDC, mFormat, mSize, this);
 
   RefPtr<SourceSurface> snapshot(mSnapshot);
   return snapshot.forget();
 }
 
 // Command lists are kept around by device contexts until EndDraw is called,