diff options
Diffstat (limited to '')
-rw-r--r-- | gfx/layers/moz.build | 532 |
1 files changed, 532 insertions, 0 deletions
diff --git a/gfx/layers/moz.build b/gfx/layers/moz.build new file mode 100644 index 0000000000..1bf2e83804 --- /dev/null +++ b/gfx/layers/moz.build @@ -0,0 +1,532 @@ +# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- +# vim: set filetype=python: +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +with Files("**"): + BUG_COMPONENT = ("Core", "Graphics") + +with Files("apz/**"): + BUG_COMPONENT = ("Core", "Panning and Zooming") + +EXPORTS += [ + "composite/CompositableHost.h", + "CompositorTypes.h", + "FrameMetrics.h", + "GLImages.h", + "GPUVideoImage.h", + "ImageContainer.h", + "ImageTypes.h", + "IMFYCbCrImage.h", + "LayersTypes.h", + "LayerUserData.h", + "opengl/OGLShaderConfig.h", + "opengl/OGLShaderProgram.h", +] + +if CONFIG["MOZ_WIDGET_TOOLKIT"] == "windows": + SOURCES += [ + "D3D11ShareHandleImage.cpp", + "D3D11TextureIMFSampleImage.cpp", + "D3D11YCbCrImage.cpp", + ] + UNIFIED_SOURCES += [ + "IMFYCbCrImage.cpp", + ] + if CONFIG["MOZ_ENABLE_D3D10_LAYER"]: + EXPORTS.mozilla.layers += [ + "d3d11/CompositorD3D11.h", + "d3d11/DeviceAttachmentsD3D11.h", + "d3d11/FenceD3D11.h", + "d3d11/GpuProcessD3D11QueryMap.h", + "d3d11/GpuProcessD3D11TextureMap.h", + "d3d11/HelpersD3D11.h", + "d3d11/ShaderDefinitionsD3D11.h", + "d3d11/TextureD3D11.h", + "d3d11/TextureHostWrapperD3D11.h", + ] + UNIFIED_SOURCES += [ + "d3d11/FenceD3D11.cpp", + "d3d11/GpuProcessD3D11QueryMap.cpp", + "d3d11/GpuProcessD3D11TextureMap.cpp", + "d3d11/TextureD3D11.cpp", + "d3d11/TextureHostWrapperD3D11.cpp", + ] + SOURCES += [ + "d3d11/CompositorD3D11.cpp", + "d3d11/DeviceAttachmentsD3D11.cpp", + ] + if CONFIG["MOZ_WMF_MEDIA_ENGINE"]: + EXPORTS.mozilla.layers += [ + "DcompSurfaceImage.h", + ] + UNIFIED_SOURCES += [ + "DcompSurfaceImage.cpp", + ] + +EXPORTS.gfxipc += [ + "ipc/ShadowLayerUtils.h", + "ipc/SurfaceDescriptor.h", +] + +EXPORTS.mozilla.dom += [ + "apz/util/CheckerboardReportService.h", +] + +EXPORTS.mozilla.gfx += [ + "BuildConstants.h", +] + +EXPORTS.mozilla.layers += [ + "AnimationHelper.h", + "AnimationInfo.h", + "AnimationStorageData.h", + "apz/public/APZInputBridge.h", + "apz/public/APZPublicUtils.h", + "apz/public/APZSampler.h", + "apz/public/APZUpdater.h", + "apz/public/CompositorController.h", + "apz/public/GeckoContentController.h", + "apz/public/GeckoContentControllerTypes.h", + "apz/public/IAPZCTreeManager.h", + "apz/public/MatrixMessage.h", + # exporting things from apz/src is temporary until we extract a + # proper interface for the code there + "apz/src/APZUtils.h", + "apz/src/AsyncDragMetrics.h", + "apz/src/FocusTarget.h", + "apz/src/KeyboardMap.h", + "apz/src/KeyboardScrollAction.h", + "apz/testutil/APZTestData.h", + "apz/util/ActiveElementManager.h", + "apz/util/APZCCallbackHelper.h", + "apz/util/APZEventState.h", + "apz/util/APZTaskRunnable.h", + "apz/util/APZThreadUtils.h", + "apz/util/ChromeProcessController.h", + "apz/util/ContentProcessController.h", + "apz/util/DoubleTapToZoom.h", + "apz/util/InputAPZContext.h", + "apz/util/ScrollingInteractionContext.h", + "apz/util/ScrollLinkedEffectDetector.h", + "apz/util/TouchActionHelper.h", + "apz/util/TouchCounter.h", + "AtomicRefCountedWithFinalize.h", + "AxisPhysicsModel.h", + "AxisPhysicsMSDModel.h", + "BSPTree.h", + "BufferTexture.h", + "BuildConstants.h", + "CanvasDrawEventRecorder.h", + "CanvasRenderer.h", + "client/CanvasClient.h", + "client/CompositableClient.h", + "client/GPUVideoTextureClient.h", + "client/ImageClient.h", + "client/TextureClient.h", + "client/TextureClientPool.h", + "client/TextureClientRecycleAllocator.h", + "client/TextureClientSharedSurface.h", + "client/TextureRecorded.h", + "composite/Diagnostics.h", + "composite/FrameUniformityData.h", + "composite/GPUVideoTextureHost.h", + "composite/ImageComposite.h", + "composite/RemoteTextureHostWrapper.h", + "composite/TextureHost.h", + "CompositionRecorder.h", + "Compositor.h", + "CompositorAnimationStorage.h", + "CompositorTypes.h", + "D3D11ShareHandleImage.h", + "D3D11TextureIMFSampleImage.h", + "D3D11YCbCrImage.h", + "DirectionUtils.h", + "Effects.h", + "ImageDataSerializer.h", + "ipc/ActiveResource.h", + "ipc/APZChild.h", + "ipc/APZCTreeManagerChild.h", + "ipc/APZCTreeManagerParent.h", + "ipc/APZInputBridgeChild.h", + "ipc/APZInputBridgeParent.h", + "ipc/CanvasChild.h", + "ipc/CanvasTranslator.h", + "ipc/CompositableForwarder.h", + "ipc/CompositableTransactionParent.h", + "ipc/CompositorBridgeChild.h", + "ipc/CompositorBridgeParent.h", + "ipc/CompositorManagerChild.h", + "ipc/CompositorManagerParent.h", + "ipc/CompositorThread.h", + "ipc/CompositorVsyncScheduler.h", + "ipc/CompositorVsyncSchedulerOwner.h", + "ipc/ContentCompositorBridgeParent.h", + "ipc/ImageBridgeChild.h", + "ipc/ImageBridgeParent.h", + "ipc/ISurfaceAllocator.h", + "ipc/KnowsCompositor.h", + "ipc/LayersMessageUtils.h", + "ipc/LayerTreeOwnerTracker.h", + "ipc/RefCountedShmem.h", + "ipc/RemoteContentController.h", + "ipc/SharedPlanarYCbCrImage.h", + "ipc/SharedRGBImage.h", + "ipc/SharedSurfacesChild.h", + "ipc/SharedSurfacesMemoryReport.h", + "ipc/SharedSurfacesParent.h", + "ipc/SynchronousTask.h", + "ipc/TextureForwarder.h", + "ipc/UiCompositorControllerChild.h", + "ipc/UiCompositorControllerMessageTypes.h", + "ipc/UiCompositorControllerParent.h", + "ipc/VideoBridgeChild.h", + "ipc/VideoBridgeParent.h", + "ipc/VideoBridgeUtils.h", + "LayersTypes.h", + "MemoryPressureObserver.h", + "NativeLayer.h", + "OOPCanvasRenderer.h", + "opengl/CompositingRenderTargetOGL.h", + "opengl/CompositorOGL.h", + "opengl/MacIOSurfaceTextureClientOGL.h", + "opengl/MacIOSurfaceTextureHostOGL.h", + "opengl/TextureClientOGL.h", + "opengl/TextureHostOGL.h", + "PersistentBufferProvider.h", + "ProfilerScreenshots.h", + "RecordedCanvasEventImpl.h", + "RemoteTextureMap.h", + "RepaintRequest.h", + "SampleTime.h", + "ScreenshotGrabber.h", + "ScrollableLayerGuid.h", + "ScrollbarData.h", + "ShareableCanvasRenderer.h", + "SourceSurfaceSharedData.h", + "SurfacePool.h", + "SyncObject.h", + "TextureSourceProvider.h", + "TextureWrapperImage.h", + "TransactionIdAllocator.h", + "TreeTraversal.h", + "UpdateImageHelper.h", + "wr/AsyncImagePipelineManager.h", + "wr/AsyncImagePipelineOp.h", + "wr/ClipManager.h", + "wr/DisplayItemCache.h", + "wr/HitTestInfoManager.h", + "wr/IpcResourceUpdateQueue.h", + "wr/OMTAController.h", + "wr/OMTASampler.h", + "wr/RenderRootStateManager.h", + "wr/RenderRootTypes.h", + "wr/StackingContextHelper.h", + "wr/WebRenderBridgeChild.h", + "wr/WebRenderBridgeParent.h", + "wr/WebRenderCanvasRenderer.h", + "wr/WebRenderCommandBuilder.h", + "wr/WebRenderDrawEventRecorder.h", + "wr/WebRenderImageHost.h", + "wr/WebRenderLayerManager.h", + "wr/WebRenderMessageUtils.h", + "wr/WebRenderScrollData.h", + "wr/WebRenderScrollDataWrapper.h", + "wr/WebRenderTextureHost.h", + "wr/WebRenderUserData.h", + "ZoomConstraints.h", +] + +if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk": + EXPORTS.mozilla.layers += [ + "DMABUFSurfaceImage.h", + "opengl/DMABUFTextureClientOGL.h", + "opengl/DMABUFTextureHostOGL.h", + ] + SOURCES += [ + "DMABUFSurfaceImage.cpp", + "opengl/DMABUFTextureClientOGL.cpp", + "opengl/DMABUFTextureHostOGL.cpp", + ] + +if CONFIG["MOZ_WAYLAND"]: + EXPORTS.mozilla.layers += [ + "NativeLayerWayland.h", + "SurfacePoolWayland.h", + ] + UNIFIED_SOURCES += [ + "NativeLayerWayland.cpp", + "SurfacePoolWayland.cpp", + ] + +if CONFIG["MOZ_WIDGET_TOOLKIT"] == "cocoa": + EXPORTS.mozilla.layers += [ + "NativeLayerCA.h", + "SurfacePoolCA.h", + ] + EXPORTS += [ + "MacIOSurfaceHelpers.h", + "MacIOSurfaceImage.h", + ] + UNIFIED_SOURCES += [ + "NativeLayerCA.mm", + "SurfacePoolCA.mm", + ] + SOURCES += [ + "MacIOSurfaceHelpers.cpp", + "MacIOSurfaceImage.cpp", + ] + OS_LIBS += [ + "-framework IOSurface", + ] + +if CONFIG["MOZ_WIDGET_TOOLKIT"] == "android": + EXPORTS.mozilla.layers += [ + "AndroidHardwareBuffer.h", + ] + UNIFIED_SOURCES += [ + "AndroidHardwareBuffer.cpp", + "apz/src/AndroidAPZ.cpp", + "apz/src/AndroidFlingPhysics.cpp", + "apz/src/AndroidVelocityTracker.cpp", + ] + +UNIFIED_SOURCES += [ + "AnimationHelper.cpp", + "AnimationInfo.cpp", + "apz/src/APZCTreeManager.cpp", + "apz/src/APZInputBridge.cpp", + "apz/src/APZPublicUtils.cpp", + "apz/src/APZSampler.cpp", + "apz/src/APZUpdater.cpp", + "apz/src/APZUtils.cpp", + "apz/src/AsyncPanZoomController.cpp", + "apz/src/AutoscrollAnimation.cpp", + "apz/src/Axis.cpp", + "apz/src/CheckerboardEvent.cpp", + "apz/src/DragTracker.cpp", + "apz/src/ExpectedGeckoMetrics.cpp", + "apz/src/FlingAccelerator.cpp", + "apz/src/FocusState.cpp", + "apz/src/FocusTarget.cpp", + "apz/src/GenericScrollAnimation.cpp", + "apz/src/GestureEventListener.cpp", + "apz/src/HitTestingTreeNode.cpp", + "apz/src/IAPZHitTester.cpp", + "apz/src/InputBlockState.cpp", + "apz/src/InputQueue.cpp", + "apz/src/KeyboardMap.cpp", + "apz/src/KeyboardScrollAction.cpp", + "apz/src/OverscrollHandoffState.cpp", + "apz/src/OvershootDetector.cpp", + "apz/src/PotentialCheckerboardDurationTracker.cpp", + "apz/src/QueuedInput.cpp", + "apz/src/SampledAPZCState.cpp", + "apz/src/ScrollThumbUtils.cpp", + "apz/src/SimpleVelocityTracker.cpp", + "apz/src/SmoothMsdScrollAnimation.cpp", + "apz/src/SmoothScrollAnimation.cpp", + "apz/src/WheelScrollAnimation.cpp", + "apz/src/WRHitTester.cpp", + "apz/testutil/APZTestData.cpp", + "apz/util/ActiveElementManager.cpp", + "apz/util/APZCCallbackHelper.cpp", + "apz/util/APZEventState.cpp", + "apz/util/APZTaskRunnable.cpp", + "apz/util/APZThreadUtils.cpp", + "apz/util/CheckerboardReportService.cpp", + "apz/util/ChromeProcessController.cpp", + "apz/util/ContentProcessController.cpp", + "apz/util/DoubleTapToZoom.cpp", + "apz/util/InputAPZContext.cpp", + "apz/util/ScrollingInteractionContext.cpp", + "apz/util/ScrollLinkedEffectDetector.cpp", + "apz/util/TouchActionHelper.cpp", + "apz/util/TouchCounter.cpp", + "AxisPhysicsModel.cpp", + "AxisPhysicsMSDModel.cpp", + "BSPTree.cpp", + "BufferTexture.cpp", + "CanvasDrawEventRecorder.cpp", + "CanvasRenderer.cpp", + "client/CanvasClient.cpp", + "client/CompositableClient.cpp", + "client/GPUVideoTextureClient.cpp", + "client/ImageClient.cpp", + "client/TextureClientPool.cpp", + "client/TextureClientRecycleAllocator.cpp", + "client/TextureClientSharedSurface.cpp", + "client/TextureRecorded.cpp", + "composite/CompositableHost.cpp", + "composite/FrameUniformityData.cpp", + "composite/GPUVideoTextureHost.cpp", + "composite/ImageComposite.cpp", + "composite/RemoteTextureHostWrapper.cpp", + "CompositionRecorder.cpp", + "Compositor.cpp", + "CompositorAnimationStorage.cpp", + "CompositorTypes.cpp", + "Effects.cpp", + "FrameMetrics.cpp", + "GLImages.cpp", + "ImageDataSerializer.cpp", + "ipc/APZChild.cpp", + "ipc/APZCTreeManagerChild.cpp", + "ipc/APZCTreeManagerParent.cpp", + "ipc/APZInputBridgeChild.cpp", + "ipc/APZInputBridgeParent.cpp", + "ipc/CanvasChild.cpp", + "ipc/CanvasTranslator.cpp", + "ipc/CompositableForwarder.cpp", + "ipc/CompositableTransactionParent.cpp", + "ipc/CompositorBench.cpp", + "ipc/CompositorBridgeChild.cpp", + "ipc/CompositorBridgeParent.cpp", + "ipc/CompositorManagerChild.cpp", + "ipc/CompositorManagerParent.cpp", + "ipc/CompositorThread.cpp", + "ipc/CompositorVsyncScheduler.cpp", + "ipc/ContentCompositorBridgeParent.cpp", + "ipc/ImageBridgeChild.cpp", + "ipc/ImageBridgeParent.cpp", + "ipc/ISurfaceAllocator.cpp", + "ipc/KnowsCompositor.cpp", + "ipc/LayerTreeOwnerTracker.cpp", + "ipc/RefCountedShmem.cpp", + "ipc/RemoteContentController.cpp", + "ipc/SharedPlanarYCbCrImage.cpp", + "ipc/SharedRGBImage.cpp", + "ipc/SharedSurfacesChild.cpp", + "ipc/SharedSurfacesParent.cpp", + "ipc/UiCompositorControllerChild.cpp", + "ipc/UiCompositorControllerParent.cpp", + "ipc/VideoBridgeChild.cpp", + "ipc/VideoBridgeParent.cpp", + "LayersTypes.cpp", + "MemoryPressureObserver.cpp", + "opengl/CompositingRenderTargetOGL.cpp", + "opengl/CompositorOGL.cpp", + "opengl/OGLShaderProgram.cpp", + "opengl/TextureClientOGL.cpp", + "opengl/TextureHostOGL.cpp", + "ProfilerScreenshots.cpp", + "RemoteTextureMap.cpp", + "RepaintRequest.cpp", + "SampleTime.cpp", + "ScreenshotGrabber.cpp", + "ScrollableLayerGuid.cpp", + "ShareableCanvasRenderer.cpp", + "SourceSurfaceSharedData.cpp", + "SyncObject.cpp", + "TextureSourceProvider.cpp", + "TextureWrapperImage.cpp", + "wr/AsyncImagePipelineManager.cpp", + "wr/AsyncImagePipelineOp.cpp", + "wr/ClipManager.cpp", + "wr/DisplayItemCache.cpp", + "wr/HitTestInfoManager.cpp", + "wr/IpcResourceUpdateQueue.cpp", + "wr/OMTAController.cpp", + "wr/OMTASampler.cpp", + "wr/RenderRootStateManager.cpp", + "wr/RenderRootTypes.cpp", + "wr/StackingContextHelper.cpp", + "wr/WebRenderBridgeChild.cpp", + "wr/WebRenderBridgeParent.cpp", + "wr/WebRenderCanvasRenderer.cpp", + "wr/WebRenderCommandBuilder.cpp", + "wr/WebRenderDrawEventRecorder.cpp", + "wr/WebRenderImageHost.cpp", + "wr/WebRenderLayerManager.cpp", + "wr/WebRenderScrollData.cpp", + "wr/WebRenderUserData.cpp", + "ZoomConstraints.cpp", + # XXX here are some unified build error. + #'wr/WebRenderTextureHost.cpp' +] + +SOURCES += [ + "client/TextureClient.cpp", + "composite/TextureHost.cpp", + "ImageContainer.cpp", + "PersistentBufferProvider.cpp", + "wr/WebRenderTextureHost.cpp", +] + +DEFINES["GOOGLE_PROTOBUF_NO_RTTI"] = True +DEFINES["GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER"] = True +DEFINES["MOZ_APP_VERSION"] = CONFIG["MOZ_APP_VERSION"] + +if CONFIG["MOZ_WIDGET_TOOLKIT"] == "cocoa": + SOURCES += [ + "opengl/MacIOSurfaceTextureClientOGL.cpp", + "opengl/MacIOSurfaceTextureHostOGL.cpp", + ] + +IPDL_SOURCES += [ + "ipc/LayersMessages.ipdlh", + "ipc/LayersSurfaces.ipdlh", + "ipc/PAPZ.ipdl", + "ipc/PAPZCTreeManager.ipdl", + "ipc/PAPZInputBridge.ipdl", + "ipc/PCanvas.ipdl", + "ipc/PCompositorBridge.ipdl", + "ipc/PCompositorBridgeTypes.ipdlh", + "ipc/PCompositorManager.ipdl", + "ipc/PImageBridge.ipdl", + "ipc/PTexture.ipdl", + "ipc/PUiCompositorController.ipdl", + "ipc/PVideoBridge.ipdl", + "ipc/PWebRenderBridge.ipdl", + "ipc/WebRenderMessages.ipdlh", +] + +include("/ipc/chromium/chromium-config.mozbuild") + +if CONFIG["COMPILE_ENVIRONMENT"] and CONFIG["MOZ_WIDGET_TOOLKIT"] == "windows": + GeneratedFile( + "CompositorD3D11Shaders.h", + script="d3d11/genshaders.py", + inputs=["d3d11/shaders.manifest"], + ) + +LOCAL_INCLUDES += [ + "/docshell/base", # for nsDocShell.h + "/dom/canvas", # for intertwined WebGL headers + "/gfx/cairo/cairo/src", + "/layout/base", # for TouchManager.h + "/layout/generic", # for nsTextFrame.h + "/media/libyuv/libyuv/include", # for libyuv.h +] + +FINAL_LIBRARY = "xul" + +if CONFIG["MOZ_DEBUG"]: + DEFINES["D3D_DEBUG_INFO"] = True + +if CONFIG["MOZ_ENABLE_D3D10_LAYER"]: + DEFINES["MOZ_ENABLE_D3D10_LAYER"] = True + +if CONFIG["ENABLE_TESTS"]: + DIRS += ["apz/test/gtest"] + DIRS += ["apz/test/gtest/mvm"] + +MOCHITEST_MANIFESTS += ["apz/test/mochitest/mochitest.toml"] +BROWSER_CHROME_MANIFESTS += ["apz/test/mochitest/browser.toml"] + +if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk": + CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"] + +CXXFLAGS += ["-Werror=switch"] + +LOCAL_INCLUDES += CONFIG["SKIA_INCLUDES"] + +# Suppress warnings in third-party code. +if CONFIG["CC_TYPE"] == "gcc": + CXXFLAGS += ["-Wno-maybe-uninitialized"] + +UNIFIED_SOURCES += [] + +# Add libFuzzer configuration directives +include("/tools/fuzzing/libfuzzer-config.mozbuild") |