diff -r ff9e20146e8b -r 66115255ad6f mozilla-disable-skia-be.patch --- a/mozilla-disable-skia-be.patch Sun Feb 12 08:57:22 2017 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,292 +0,0 @@ - -# HG changeset patch -# User Lee Salzman -# Date 1484854371 18000 -# Node ID 42afdb8f7e6b3e8a465042f64c6c49782f231af4 -# Parent dfadd79c97458f898d542461033a61dd34d3a5f0 -Bug 1319374 - Wrap PaintCounter with ifdef USE_SKIA. r=mchang, a=jcristau - -diff --git a/gfx/2d/BorrowedContext.h b/gfx/2d/BorrowedContext.h ---- a/gfx/2d/BorrowedContext.h -+++ b/gfx/2d/BorrowedContext.h -@@ -190,18 +190,28 @@ public: - } - - ~BorrowedCGContext() { - MOZ_ASSERT(!cg); - } - - CGContextRef cg; - private: -+#ifdef USE_SKIA - static CGContextRef BorrowCGContextFromDrawTarget(DrawTarget *aDT); - static void ReturnCGContextToDrawTarget(DrawTarget *aDT, CGContextRef cg); -+#else -+ static CGContextRef BorrowCGContextFromDrawTarget(DrawTarget *aDT) { -+ MOZ_CRASH("Not supported without Skia"); -+ } -+ -+ static void ReturnCGContextToDrawTarget(DrawTarget *aDT, CGContextRef cg) { -+ MOZ_CRASH("not supported without Skia"); -+ } -+#endif - DrawTarget *mDT; - }; - #endif - - } // namespace gfx - } // namespace mozilla - - #endif // _MOZILLA_GFX_BORROWED_CONTEXT_H -diff --git a/gfx/layers/composite/LayerManagerComposite.cpp b/gfx/layers/composite/LayerManagerComposite.cpp ---- a/gfx/layers/composite/LayerManagerComposite.cpp -+++ b/gfx/layers/composite/LayerManagerComposite.cpp -@@ -7,17 +7,16 @@ - #include // for size_t - #include // for uint16_t, uint32_t - #include "CanvasLayerComposite.h" // for CanvasLayerComposite - #include "ColorLayerComposite.h" // for ColorLayerComposite - #include "Composer2D.h" // for Composer2D - #include "CompositableHost.h" // for CompositableHost - #include "ContainerLayerComposite.h" // for ContainerLayerComposite, etc - #include "FPSCounter.h" // for FPSState, FPSCounter --#include "PaintCounter.h" // For PaintCounter - #include "FrameMetrics.h" // for FrameMetrics - #include "GeckoProfiler.h" // for profiler_set_frame_number, etc - #include "ImageLayerComposite.h" // for ImageLayerComposite - #include "Layers.h" // for Layer, ContainerLayer, etc - #include "LayerScope.h" // for LayerScope Tool - #include "protobuf/LayerScopePacket.pb.h" // for protobuf (LayerScope) - #include "PaintedLayerComposite.h" // for PaintedLayerComposite - #include "TiledContentHost.h" -@@ -68,16 +67,20 @@ - #include "nsScreenManagerGonk.h" - #include "nsWindow.h" - #endif - #include "GeckoProfiler.h" - #include "TextRenderer.h" // for TextRenderer - #include "mozilla/layers/CompositorBridgeParent.h" - #include "TreeTraversal.h" // for ForEachNode - -+#ifdef USE_SKIA -+#include "PaintCounter.h" // For PaintCounter -+#endif -+ - class gfxContext; - - namespace mozilla { - namespace layers { - - class ImageLayer; - - using namespace mozilla::gfx; -@@ -128,16 +131,20 @@ LayerManagerComposite::LayerManagerCompo - , mGeometryChanged(true) - , mLastFrameMissedHWC(false) - , mWindowOverlayChanged(false) - , mLastPaintTime(TimeDuration::Forever()) - , mRenderStartTime(TimeStamp::Now()) - { - mTextRenderer = new TextRenderer(aCompositor); - MOZ_ASSERT(aCompositor); -+ -+#ifdef USE_SKIA -+ mPaintCounter = nullptr; -+#endif - } - - LayerManagerComposite::~LayerManagerComposite() - { - Destroy(); - } - - -@@ -146,18 +153,21 @@ LayerManagerComposite::Destroy() - { - if (!mDestroyed) { - mCompositor->GetWidget()->CleanupWindowEffects(); - if (mRoot) { - RootLayer()->Destroy(); - } - mRoot = nullptr; - mClonedLayerTreeProperties = nullptr; -+ mDestroyed = true; -+ -+#ifdef USE_SKIA - mPaintCounter = nullptr; -- mDestroyed = true; -+#endif - } - } - - void - LayerManagerComposite::UpdateRenderBounds(const IntRect& aRect) - { - mRenderBounds = aRect; - } -@@ -559,48 +569,52 @@ LayerManagerComposite::RootLayer() const - #endif - - void - LayerManagerComposite::InvalidateDebugOverlay(nsIntRegion& aInvalidRegion, const IntRect& aBounds) - { - bool drawFps = gfxPrefs::LayersDrawFPS(); - bool drawFrameCounter = gfxPrefs::DrawFrameCounter(); - bool drawFrameColorBars = gfxPrefs::CompositorDrawColorBars(); -- bool drawPaintTimes = gfxPrefs::AlwaysPaint(); - - if (drawFps || drawFrameCounter) { - aInvalidRegion.Or(aInvalidRegion, nsIntRect(0, 0, 256, 256)); - } - if (drawFrameColorBars) { - aInvalidRegion.Or(aInvalidRegion, nsIntRect(0, 0, 10, aBounds.height)); - } -+ -+#ifdef USE_SKIA -+ bool drawPaintTimes = gfxPrefs::AlwaysPaint(); - if (drawPaintTimes) { - aInvalidRegion.Or(aInvalidRegion, nsIntRect(PaintCounter::GetPaintRect())); - } -+#endif - } - -+#ifdef USE_SKIA - void - LayerManagerComposite::DrawPaintTimes(Compositor* aCompositor) - { - if (!mPaintCounter) { - mPaintCounter = new PaintCounter(); - } - - TimeDuration compositeTime = TimeStamp::Now() - mRenderStartTime; - mPaintCounter->Draw(aCompositor, mLastPaintTime, compositeTime); - } -+#endif - - static uint16_t sFrameCount = 0; - void - LayerManagerComposite::RenderDebugOverlay(const IntRect& aBounds) - { - bool drawFps = gfxPrefs::LayersDrawFPS(); - bool drawFrameCounter = gfxPrefs::DrawFrameCounter(); - bool drawFrameColorBars = gfxPrefs::CompositorDrawColorBars(); -- bool drawPaintTimes = gfxPrefs::AlwaysPaint(); - - TimeStamp now = TimeStamp::Now(); - - if (drawFps) { - if (!mFPS) { - mFPS = MakeUnique(); - } - -@@ -731,19 +745,22 @@ LayerManagerComposite::RenderDebugOverla - } - #endif - - if (drawFrameColorBars || drawFrameCounter) { - // We intentionally overflow at 2^16. - sFrameCount++; - } - -+#ifdef USE_SKIA -+ bool drawPaintTimes = gfxPrefs::AlwaysPaint(); - if (drawPaintTimes) { - DrawPaintTimes(mCompositor); - } -+#endif - } - - RefPtr - LayerManagerComposite::PushGroupForLayerEffects() - { - // This is currently true, so just making sure that any new use of this - // method is flagged for investigation - MOZ_ASSERT(gfxPrefs::LayersEffectInvert() || -diff --git a/gfx/layers/composite/LayerManagerComposite.h b/gfx/layers/composite/LayerManagerComposite.h ---- a/gfx/layers/composite/LayerManagerComposite.h -+++ b/gfx/layers/composite/LayerManagerComposite.h -@@ -326,21 +326,16 @@ private: - * Render the current layer tree to the active target. - */ - void Render(const nsIntRegion& aInvalidRegion, const nsIntRegion& aOpaqueRegion); - #if defined(MOZ_WIDGET_ANDROID) || defined(MOZ_WIDGET_GONK) - void RenderToPresentationSurface(); - #endif - - /** -- * Render paint and composite times above the frame. -- */ -- void DrawPaintTimes(Compositor* aCompositor); -- -- /** - * We need to know our invalid region before we're ready to render. - */ - void InvalidateDebugOverlay(nsIntRegion& aInvalidRegion, const gfx::IntRect& aBounds); - - /** - * Render debug overlays such as the FPS/FrameCounter above the frame. - */ - void RenderDebugOverlay(const gfx::IntRect& aBounds); -@@ -386,19 +381,26 @@ private: - RefPtr mTextRenderer; - bool mGeometryChanged; - - // Testing property. If hardware composer is supported, this will return - // true if the last frame was deemed 'too complicated' to be rendered. - bool mLastFrameMissedHWC; - - bool mWindowOverlayChanged; -- RefPtr mPaintCounter; - TimeDuration mLastPaintTime; - TimeStamp mRenderStartTime; -+ -+#ifdef USE_SKIA -+ /** -+ * Render paint and composite times above the frame. -+ */ -+ void DrawPaintTimes(Compositor* aCompositor); -+ RefPtr mPaintCounter; -+#endif - }; - - /** - * Composite layers are for use with OMTC on the compositor thread only. There - * must be corresponding Basic layers on the content thread. For composite - * layers, the layer manager only maintains the layer tree, all rendering is - * done by a Compositor (see Compositor.h). As such, composite layers are - * platform-independent and can be used on any platform for which there is a -diff --git a/gfx/layers/moz.build b/gfx/layers/moz.build ---- a/gfx/layers/moz.build -+++ b/gfx/layers/moz.build -@@ -335,17 +335,16 @@ UNIFIED_SOURCES += [ - 'composite/CompositableHost.cpp', - 'composite/ContainerLayerComposite.cpp', - 'composite/ContentHost.cpp', - 'composite/FPSCounter.cpp', - 'composite/FrameUniformityData.cpp', - 'composite/ImageHost.cpp', - 'composite/ImageLayerComposite.cpp', - 'composite/LayerManagerComposite.cpp', -- 'composite/PaintCounter.cpp', - 'composite/PaintedLayerComposite.cpp', - 'composite/TextRenderer.cpp', - 'composite/TextureHost.cpp', - 'composite/TiledContentHost.cpp', - 'Compositor.cpp', - 'CopyableCanvasLayer.cpp', - 'Effects.cpp', - 'FrameMetrics.cpp', -@@ -480,8 +479,13 @@ MOCHITEST_CHROME_MANIFESTS += ['apz/test - - CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS'] - CXXFLAGS += CONFIG['TK_CFLAGS'] - - LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES'] - - if CONFIG['GNU_CXX']: - CXXFLAGS += ['-Wno-error=shadow'] -+ -+if CONFIG['MOZ_ENABLE_SKIA']: -+ UNIFIED_SOURCES += [ -+ 'composite/PaintCounter.cpp', -+ ]