From 00c5c3e7c2ed8b627fe1af2496945b583ea8d29a Mon Sep 17 00:00:00 2001 From: Moonchild Date: Thu, 8 Sep 2022 16:50:40 +0000 Subject: Re-unify most of gfx --- gfx/2d/moz.build | 13 ++++++++---- gfx/cairo/cairo/src/moz.build | 2 +- gfx/config/moz.build | 2 +- gfx/gl/moz.build | 4 ++-- gfx/layers/apz/public/IAPZCTreeManager.cpp | 10 ---------- gfx/layers/apz/public/IAPZCTreeManager.h | 10 ++++++++++ gfx/layers/apz/src/APZCTreeManager.cpp | 15 -------------- gfx/layers/moz.build | 32 +++++++++++++++++------------- gfx/thebes/moz.build | 31 +++++++++++++++++++---------- 9 files changed, 62 insertions(+), 57 deletions(-) diff --git a/gfx/2d/moz.build b/gfx/2d/moz.build index 4f437d575a..b2d48c8427 100644 --- a/gfx/2d/moz.build +++ b/gfx/2d/moz.build @@ -62,7 +62,7 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('cocoa', 'uikit'): EXPORTS.mozilla.gfx += [ 'MacIOSurface.h', ] - SOURCES += [ + UNIFIED_SOURCES += [ 'NativeFontResourceMac.cpp', 'PathCG.cpp', 'ScaledFontMac.cpp', @@ -94,8 +94,10 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3'): ] if CONFIG['MOZ_ENABLE_SKIA']: - SOURCES += [ + UNIFIED_SOURCES += [ 'convolver.cpp', + ] + SOURCES += [ 'DrawTargetSkia.cpp', 'image_operations.cpp', # Uses _USE_MATH_DEFINES 'PathSkia.cpp', @@ -140,7 +142,7 @@ elif CONFIG['CPU_ARCH'].startswith('mips'): 'convolverLS3.cpp', ] -SOURCES += [ +UNIFIED_SOURCES += [ 'BezierUtils.cpp', 'Blur.cpp', 'DataSourceSurface.cpp', @@ -153,7 +155,6 @@ SOURCES += [ 'DrawTargetDual.cpp', 'DrawTargetRecording.cpp', 'DrawTargetTiled.cpp', - 'Factory.cpp', # Need to suppress warnings in Skia header files. 'FilterNodeSoftware.cpp', 'FilterProcessing.cpp', 'FilterProcessingScalar.cpp', @@ -175,6 +176,10 @@ SOURCES += [ 'SourceSurfaceRawData.cpp', ] +SOURCES += [ + 'Factory.cpp', # Need to suppress warnings in Skia header files. +] + if CONFIG['CLANG_CXX']: SOURCES['Factory.cpp'].flags += ['-Wno-implicit-fallthrough'] diff --git a/gfx/cairo/cairo/src/moz.build b/gfx/cairo/cairo/src/moz.build index e097c45ca6..1330fdd3e1 100644 --- a/gfx/cairo/cairo/src/moz.build +++ b/gfx/cairo/cairo/src/moz.build @@ -106,7 +106,7 @@ SOURCES += [ 'cairo-surface-wrapper.c', # redefinition of '_copy_transformed_pattern' ] -SOURCES += [ +UNIFIED_SOURCES += [ 'cairo-analysis-surface.c', 'cairo-arc.c', 'cairo-array.c', diff --git a/gfx/config/moz.build b/gfx/config/moz.build index 7311d8b363..d7ff074822 100644 --- a/gfx/config/moz.build +++ b/gfx/config/moz.build @@ -14,7 +14,7 @@ EXPORTS.mozilla.gfx += [ 'gfxVars.h', ] -SOURCES += [ +UNIFIED_SOURCES += [ 'gfxConfig.cpp', 'gfxFeature.cpp', 'gfxVars.cpp', diff --git a/gfx/gl/moz.build b/gfx/gl/moz.build index c490400cbf..f9ff018373 100644 --- a/gfx/gl/moz.build +++ b/gfx/gl/moz.build @@ -64,7 +64,7 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows': 'SharedSurfaceD3D11Interop.h', 'WGLLibrary.h', ] - SOURCES += [ + UNIFIED_SOURCES += [ 'GLContextProviderWGL.cpp', 'SharedSurfaceANGLE.cpp', 'SharedSurfaceD3D11Interop.cpp', @@ -114,7 +114,7 @@ elif gl_provider == 'GLX': 'SharedSurfaceGLX.h' ] -SOURCES += [ +UNIFIED_SOURCES += [ 'DecomposeIntoNoRepeatTriangles.cpp', 'EGLUtils.cpp', 'GfxTexturesReporter.cpp', diff --git a/gfx/layers/apz/public/IAPZCTreeManager.cpp b/gfx/layers/apz/public/IAPZCTreeManager.cpp index f60cb9c87f..9b4e746e5d 100644 --- a/gfx/layers/apz/public/IAPZCTreeManager.cpp +++ b/gfx/layers/apz/public/IAPZCTreeManager.cpp @@ -9,21 +9,11 @@ #include "InputData.h" // for InputData, etc #include "mozilla/EventStateManager.h" // for WheelPrefs #include "mozilla/layers/APZThreadUtils.h" // for AssertOnCompositorThread, etc -#include "mozilla/MouseEvents.h" // for WidgetMouseEvent #include "mozilla/TouchEvents.h" // for WidgetTouchEvent namespace mozilla { namespace layers { -static bool -WillHandleMouseEvent(const WidgetMouseEventBase& aEvent) -{ - return aEvent.mMessage == eMouseMove || - aEvent.mMessage == eMouseDown || - aEvent.mMessage == eMouseUp || - aEvent.mMessage == eDragEnd; -} - // Returns whether or not a wheel event action will be (or was) performed by // APZ. If this returns true, the event must not perform a synchronous // scroll. diff --git a/gfx/layers/apz/public/IAPZCTreeManager.h b/gfx/layers/apz/public/IAPZCTreeManager.h index f3cc37a716..2bd50fb986 100644 --- a/gfx/layers/apz/public/IAPZCTreeManager.h +++ b/gfx/layers/apz/public/IAPZCTreeManager.h @@ -11,6 +11,7 @@ #include "FrameMetrics.h" // for FrameMetrics, etc #include "mozilla/EventForwards.h" // for WidgetInputEvent, nsEventStatus #include "mozilla/layers/APZUtils.h" // for HitTestResult +#include "mozilla/MouseEvents.h" // for WidgetMouseEvent #include "nsTArrayForwardDeclare.h" // for nsTArray, nsTArray_Impl, etc #include "nsISupportsImpl.h" // for MOZ_COUNT_CTOR, etc #include "Units.h" // for CSSPoint, CSSRect, etc @@ -38,6 +39,15 @@ enum ZoomToRectBehavior : uint32_t { class AsyncDragMetrics; +static bool +WillHandleMouseEvent(const WidgetMouseEventBase& aEvent) +{ + return aEvent.mMessage == eMouseMove || + aEvent.mMessage == eMouseDown || + aEvent.mMessage == eMouseUp || + aEvent.mMessage == eDragEnd; +} + class IAPZCTreeManager { NS_INLINE_DECL_THREADSAFE_VIRTUAL_REFCOUNTING(IAPZCTreeManager) diff --git a/gfx/layers/apz/src/APZCTreeManager.cpp b/gfx/layers/apz/src/APZCTreeManager.cpp index 297bf57fe2..c308754e5a 100644 --- a/gfx/layers/apz/src/APZCTreeManager.cpp +++ b/gfx/layers/apz/src/APZCTreeManager.cpp @@ -85,21 +85,6 @@ struct APZCTreeManager::TreeBuildingState { std::map mApzcMap; }; -// Returns whether or not a wheel event action will be (or was) performed by -// APZ. If this returns true, the event must not perform a synchronous -// scroll. -// -// Even if this returns false, all wheel events in APZ-aware widgets must -// be sent through APZ so they are transformed correctly for TabParent. -static bool -WillHandleWheelEvent(WidgetWheelEvent* aEvent) -{ - return EventStateManager::WheelEventIsScrollAction(aEvent) && - (aEvent->mDeltaMode == nsIDOMWheelEvent::DOM_DELTA_LINE || - aEvent->mDeltaMode == nsIDOMWheelEvent::DOM_DELTA_PIXEL || - aEvent->mDeltaMode == nsIDOMWheelEvent::DOM_DELTA_PAGE); -} - class APZCTreeManager::CheckerboardFlushObserver : public nsIObserver { public: NS_DECL_ISUPPORTS diff --git a/gfx/layers/moz.build b/gfx/layers/moz.build index be0c95ba20..1449c3477a 100644 --- a/gfx/layers/moz.build +++ b/gfx/layers/moz.build @@ -48,6 +48,8 @@ EXPORTS += [ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows': SOURCES += [ 'D3D11ShareHandleImage.cpp', + ] + UNIFIED_SOURCES += [ 'D3D9SurfaceImage.cpp', 'IMFYCbCrImage.cpp', 'TextureDIB.cpp', @@ -64,7 +66,8 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows': SOURCES += [ 'd3d11/CompositorD3D11.cpp', 'd3d11/ReadbackManagerD3D11.cpp', - 'd3d11/TextureD3D11.cpp', + ] + UNIFIED_SOURCES += [ 'd3d11/TextureD3D11.cpp', ] EXPORTS.gfxipc += [ @@ -208,14 +211,16 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa': 'MacIOSurfaceHelpers.h', 'MacIOSurfaceImage.h', ] + UNIFIED_SOURCES += [ + 'opengl/GLManager.cpp', + ] SOURCES += [ 'ipc/ShadowLayerUtilsMac.cpp', 'MacIOSurfaceHelpers.cpp', 'MacIOSurfaceImage.cpp', - 'opengl/GLManager.cpp', ] -SOURCES += [ +UNIFIED_SOURCES += [ 'apz/public/IAPZCTreeManager.cpp', 'apz/src/APZCTreeManager.cpp', 'apz/src/AsyncPanZoomController.cpp', @@ -250,7 +255,6 @@ SOURCES += [ 'basic/BasicColorLayer.cpp', 'basic/BasicCompositor.cpp', 'basic/BasicContainerLayer.cpp', - 'basic/BasicImageLayer.cpp', 'basic/BasicImages.cpp', 'basic/BasicLayerManager.cpp', 'basic/BasicLayersImpl.cpp', @@ -299,7 +303,6 @@ SOURCES += [ 'Effects.cpp', 'FrameMetrics.cpp', 'GLImages.cpp', - 'ImageContainer.cpp', 'ImageDataSerializer.cpp', 'ImageLayers.cpp', 'ipc/APZChild.cpp', @@ -309,7 +312,9 @@ SOURCES += [ 'ipc/CompositableTransactionParent.cpp', 'ipc/CompositorBench.cpp', 'ipc/CompositorBridgeChild.cpp', + 'ipc/CompositorBridgeParent.cpp', 'ipc/CompositorThread.cpp', + 'ipc/CrossProcessCompositorBridgeParent.cpp', 'ipc/ImageBridgeChild.cpp', 'ipc/ImageBridgeParent.cpp', 'ipc/ImageContainerChild.cpp', @@ -327,12 +332,10 @@ SOURCES += [ 'ipc/SharedRGBImage.cpp', 'ipc/VideoBridgeChild.cpp', 'ipc/VideoBridgeParent.cpp', - 'Layers.cpp', 'LayerScope.cpp', 'LayersLogging.cpp', 'LayerSorter.cpp', 'LayersTypes.cpp', - 'LayerTreeInvalidation.cpp', 'opengl/CompositingRenderTargetOGL.cpp', 'opengl/CompositorOGL.cpp', 'opengl/GLBlitTextureImageHelper.cpp', @@ -340,7 +343,6 @@ SOURCES += [ 'opengl/TextureClientOGL.cpp', 'opengl/TextureHostOGL.cpp', 'opengl/TexturePoolOGL.cpp', - 'PersistentBufferProvider.cpp', 'protobuf/LayerScopePacket.pb.cc', 'ReadbackProcessor.cpp', 'RenderTrace.cpp', @@ -348,11 +350,13 @@ SOURCES += [ 'TextureWrapperImage.cpp', ] -# Implementation in CBP.cpp of things used in CPCBP.cpp -# EraseLayerState, UpdateIndirectTree and map -UNIFIED_SOURCES += [ - 'ipc/CompositorBridgeParent.cpp', - 'ipc/CrossProcessCompositorBridgeParent.cpp', +# Cannot be built unified +SOURCES += [ + 'basic/BasicImageLayer.cpp', + 'ImageContainer.cpp', + 'Layers.cpp', + 'LayerTreeInvalidation.cpp', + 'PersistentBufferProvider.cpp', ] # Disable RTTI in google protocol buffer @@ -420,6 +424,6 @@ if CONFIG['GNU_CXX']: CXXFLAGS += ['-Wno-error=shadow'] if CONFIG['MOZ_ENABLE_SKIA']: - SOURCES += [ + UNIFIED_SOURCES += [ 'composite/PaintCounter.cpp', ] diff --git a/gfx/thebes/moz.build b/gfx/thebes/moz.build index 1d3cf3bc93..2d4dc41a40 100644 --- a/gfx/thebes/moz.build +++ b/gfx/thebes/moz.build @@ -121,9 +121,11 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows': 'PrintTargetPDF.h', 'PrintTargetWindows.h', ] + UNIFIED_SOURCES += [ + 'gfxDWriteFontList.cpp', + ] SOURCES += [ 'gfxDWriteCommon.cpp', - 'gfxDWriteFontList.cpp', 'gfxDWriteFonts.cpp', 'gfxGDIFont.cpp', 'gfxGDIFontList.cpp', @@ -142,14 +144,27 @@ if CONFIG['INTEL_ARCHITECTURE']: SOURCES['gfxAlphaRecoverySSE2.cpp'].flags += CONFIG['SSE2_FLAGS'] SOURCES += [ - 'CJKCompatSVS.cpp', 'ContextStateTracker.cpp', - 'gfxAlphaRecovery.cpp', + # Includes mac system header conflicting with point/size, + # and includes glxXlibSurface.h which drags in Xrender.h 'gfxASurface.cpp', + # on X11, gfxDrawable.cpp includes X headers for an old workaround which + # we could consider removing soon (affects Ubuntus older than 10.04 LTS) + # which currently prevent it from joining UNIFIED_SOURCES. + 'gfxDrawable.cpp', + # gfxPlatform.cpp includes mac system header conflicting with point/size + 'gfxPlatform.cpp', + 'gfxPrefs.cpp', + 'PrintTarget.cpp', + 'PrintTargetThebes.cpp', +] + +UNIFIED_SOURCES += [ + 'CJKCompatSVS.cpp', + 'gfxAlphaRecovery.cpp', 'gfxBaseSharedMemorySurface.cpp', 'gfxBlur.cpp', 'gfxContext.cpp', - 'gfxDrawable.cpp', 'gfxFont.cpp', 'gfxFontEntry.cpp', 'gfxFontFeatures.cpp', @@ -165,9 +180,7 @@ SOURCES += [ 'gfxMathTable.cpp', 'gfxMatrix.cpp', 'gfxPattern.cpp', - 'gfxPlatform.cpp', 'gfxPlatformFontList.cpp', - 'gfxPrefs.cpp', 'gfxRect.cpp', 'gfxScriptItemizer.cpp', 'gfxSkipChars.cpp', @@ -176,18 +189,16 @@ SOURCES += [ 'gfxUserFontSet.cpp', 'gfxUtils.cpp', 'nsUnicodeRange.cpp', - 'PrintTarget.cpp', - 'PrintTargetThebes.cpp', 'SoftwareVsyncSource.cpp', 'VsyncSource.cpp', ] if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa': - SOURCES += [ + UNIFIED_SOURCES += [ 'gfxMacPlatformFontList.mm', ] elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows': - SOURCES += [ + UNIFIED_SOURCES += [ 'D3D11Checks.cpp', 'DeviceManagerDx.cpp', ] -- cgit v1.2.3