summaryrefslogtreecommitdiffstats
path: root/gfx/layers/moz.build
diff options
context:
space:
mode:
Diffstat (limited to 'gfx/layers/moz.build')
-rw-r--r--gfx/layers/moz.build524
1 files changed, 524 insertions, 0 deletions
diff --git a/gfx/layers/moz.build b/gfx/layers/moz.build
new file mode 100644
index 0000000000..0d84c4941c
--- /dev/null
+++ b/gfx/layers/moz.build
@@ -0,0 +1,524 @@
+# -*- 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",
+ "D3D9SurfaceImage.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 += [
+ "D3D9SurfaceImage.cpp",
+ "IMFYCbCrImage.cpp",
+ ]
+ if CONFIG["MOZ_ENABLE_D3D10_LAYER"]:
+ EXPORTS.mozilla.layers += [
+ "d3d11/CompositorD3D11.h",
+ "d3d11/DeviceAttachmentsD3D11.h",
+ "d3d11/HelpersD3D11.h",
+ "d3d11/ShaderDefinitionsD3D11.h",
+ "d3d11/TextureD3D11.h",
+ ]
+ UNIFIED_SOURCES += [
+ "d3d11/TextureD3D11.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",
+ "D3D9SurfaceImage.h",
+ "DirectionUtils.h",
+ "Effects.h",
+ "ImageDataSerializer.h",
+ "ipc/APZChild.h",
+ "ipc/APZCTreeManagerChild.h",
+ "ipc/APZCTreeManagerParent.h",
+ "ipc/APZInputBridgeChild.h",
+ "ipc/APZInputBridgeParent.h",
+ "ipc/CanvasChild.h",
+ "ipc/CanvasThread.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",
+ "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/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_WAYLAND"]:
+ EXPORTS.mozilla.layers += [
+ "DMABUFSurfaceImage.h",
+ "NativeLayerWayland.h",
+ "opengl/DMABUFTextureClientOGL.h",
+ "opengl/DMABUFTextureHostOGL.h",
+ "SurfacePoolWayland.h",
+ ]
+ UNIFIED_SOURCES += [
+ "NativeLayerWayland.cpp",
+ "SurfacePoolWayland.cpp",
+ ]
+ SOURCES += [
+ "DMABUFSurfaceImage.cpp",
+ "opengl/DMABUFTextureClientOGL.cpp",
+ "opengl/DMABUFTextureHostOGL.cpp",
+ ]
+
+if CONFIG["MOZ_WIDGET_TOOLKIT"] == "cocoa":
+ REQUIRES_UNIFIED_BUILD = True
+ 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/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/CanvasThread.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/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.ini"]
+BROWSER_CHROME_MANIFESTS += ["apz/test/mochitest/browser.ini"]
+
+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 += []
+
+if CONFIG["FUZZING"] and CONFIG["FUZZING_INTERFACES"]:
+ TEST_DIRS += ["ipc/fuzztest"]
+
+# Add libFuzzer configuration directives
+include("/tools/fuzzing/libfuzzer-config.mozbuild")