# -*- 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: Layers') with Files('apz/**'): BUG_COMPONENT = ('Core', 'Panning and Zooming') EXPORTS += [ 'basic/BasicCanvasLayer.h', 'basic/BasicImplData.h', 'basic/BasicLayers.h', 'basic/BasicLayersImpl.h', 'basic/BasicPaintedLayer.h', 'client/ClientCanvasLayer.h', 'client/ClientContainerLayer.h', 'client/ClientLayerManager.h', 'client/ClientPaintedLayer.h', 'client/ClientTiledPaintedLayer.h', 'composite/CompositableHost.h', 'composite/ImageHost.h', 'CompositorTypes.h', 'D3D9SurfaceImage.h', 'FrameMetrics.h', 'GLImages.h', 'GPUVideoImage.h', 'ImageContainer.h', 'ImageLayers.h', 'ImageTypes.h', 'IMFYCbCrImage.h', 'ipc/ThreadSafeRefcountingWithMainThreadDestruction.h', 'Layers.h', 'LayerScope.h', 'LayersLogging.h', 'LayerSorter.h', 'LayersTypes.h', 'LayerTreeInvalidation.h', 'LayerUserData.h', 'opengl/OGLShaderProgram.h', 'opengl/TexturePoolOGL.h', 'protobuf/LayerScopePacket.pb.h', 'ReadbackLayer.h', 'TiledLayerBuffer.h', ] if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows': SOURCES += [ 'D3D11ShareHandleImage.cpp', ] UNIFIED_SOURCES += [ 'D3D9SurfaceImage.cpp', 'IMFYCbCrImage.cpp', 'TextureDIB.cpp', ] EXPORTS.mozilla.layers += [ 'TextureDIB.h', ] if CONFIG['MOZ_ENABLE_D3D10_LAYER']: EXPORTS.mozilla.layers += [ 'd3d11/CompositorD3D11.h', 'd3d11/DeviceAttachmentsD3D11.h', 'd3d11/DiagnosticsD3D11.h', 'd3d11/HelpersD3D11.h', 'd3d11/ReadbackManagerD3D11.h', 'd3d11/ShaderDefinitionsD3D11.h', 'd3d11/TextureD3D11.h', ] UNIFIED_SOURCES += [ 'd3d11/DiagnosticsD3D11.cpp', 'd3d11/TextureD3D11.cpp', ] SOURCES += [ 'd3d11/CompositorD3D11.cpp', 'd3d11/DeviceAttachmentsD3D11.cpp', 'd3d11/ReadbackManagerD3D11.cpp', ] EXPORTS.gfxipc += [ 'ipc/ShadowLayerUtils.h', ] EXPORTS.mozilla.dom += [ 'apz/util/CheckerboardReportService.h', ] EXPORTS.mozilla.layers += [ 'AnimationHelper.h', 'apz/public/CompositorController.h', 'apz/public/GeckoContentController.h', 'apz/public/IAPZCTreeManager.h', 'apz/public/MetricsSharingController.h', # exporting things from apz/src is temporary until we extract a # proper interface for the code there 'apz/src/APZCTreeManager.h', 'apz/src/APZUtils.h', 'apz/src/AsyncDragMetrics.h', 'apz/src/AsyncPanZoomAnimation.h', 'apz/src/TouchCounter.h', 'apz/testutil/APZTestData.h', 'apz/util/ActiveElementManager.h', 'apz/util/APZCCallbackHelper.h', 'apz/util/APZEventState.h', 'apz/util/APZThreadUtils.h', 'apz/util/ChromeProcessController.h', 'apz/util/ContentProcessController.h', 'apz/util/DoubleTapToZoom.h', 'apz/util/InputAPZContext.h', 'apz/util/ScrollInputMethods.h', 'apz/util/ScrollLinkedEffectDetector.h', 'apz/util/TouchActionHelper.h', 'AsyncCanvasRenderer.h', 'AtomicRefCountedWithFinalize.h', 'AxisPhysicsModel.h', 'AxisPhysicsMSDModel.h', 'basic/BasicCompositor.h', 'basic/MacIOSurfaceTextureHostBasic.h', 'basic/TextureHostBasic.h', 'BSPTree.h', 'BufferTexture.h', 'client/CanvasClient.h', 'client/CompositableClient.h', 'client/ContentClient.h', 'client/GPUVideoTextureClient.h', 'client/ImageClient.h', 'client/SingleTiledContentClient.h', 'client/TextureClient.h', 'client/TextureClientPool.h', 'client/TextureClientRecycleAllocator.h', 'client/TextureClientSharedSurface.h', 'client/TiledContentClient.h', 'composite/AnimationMetricsTracker.h', 'composite/AsyncCompositionManager.h', 'composite/CanvasLayerComposite.h', 'composite/ColorLayerComposite.h', 'composite/ContainerLayerComposite.h', 'composite/ContentHost.h', 'composite/Diagnostics.h', 'composite/FPSCounter.h', 'composite/FrameUniformityData.h', 'composite/GPUVideoTextureHost.h', 'composite/ImageComposite.h', 'composite/ImageHost.h', 'composite/ImageLayerComposite.h', 'composite/LayerManagerComposite.h', 'composite/PaintedLayerComposite.h', 'composite/TextureHost.h', 'composite/TiledContentHost.h', 'Compositor.h', 'CompositorTypes.h', 'D3D11ShareHandleImage.h', 'D3D9SurfaceImage.h', 'DirectionUtils.h', 'Effects.h', 'ImageDataSerializer.h', 'ipc/APZChild.h', 'ipc/APZCTreeManagerChild.h', 'ipc/APZCTreeManagerParent.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/CrossProcessCompositorBridgeParent.h', 'ipc/ImageBridgeChild.h', 'ipc/ImageBridgeParent.h', 'ipc/ISurfaceAllocator.h', 'ipc/KnowsCompositor.h', 'ipc/LayerAnimationUtils.h', 'ipc/LayersMessageUtils.h', 'ipc/LayerTransactionChild.h', 'ipc/LayerTransactionParent.h', 'ipc/LayerTreeOwnerTracker.h', 'ipc/RemoteContentController.h', 'ipc/ShadowLayers.h', 'ipc/SharedPlanarYCbCrImage.h', 'ipc/SharedRGBImage.h', 'ipc/SynchronousTask.h', 'ipc/TextureForwarder.h', 'ipc/UiCompositorControllerChild.h', 'ipc/UiCompositorControllerMessageTypes.h', 'ipc/UiCompositorControllerParent.h', 'ipc/VideoBridgeChild.h', 'ipc/VideoBridgeParent.h', 'LayerAttributes.h', 'LayerMetricsWrapper.h', 'LayersHelpers.h', 'LayersTypes.h', 'opengl/CompositingRenderTargetOGL.h', 'opengl/CompositorOGL.h', 'opengl/MacIOSurfaceTextureClientOGL.h', 'opengl/MacIOSurfaceTextureHostOGL.h', 'opengl/TextureClientOGL.h', 'opengl/TextureHostOGL.h', 'PaintThread.h', 'PersistentBufferProvider.h', 'RenderTrace.h', 'SourceSurfaceSharedData.h', 'SourceSurfaceVolatileData.h', 'TextureSourceProvider.h', 'TextureWrapperImage.h', 'TransactionIdAllocator.h', 'UpdateImageHelper.h', 'wr/ScrollingLayersHelper.h', 'wr/StackingContextHelper.h', 'wr/WebRenderBridgeChild.h', 'wr/WebRenderBridgeParent.h', 'wr/WebRenderCompositableHolder.h', 'wr/WebRenderDisplayItemLayer.h', 'wr/WebRenderImageHost.h', 'wr/WebRenderLayer.h', 'wr/WebRenderLayerManager.h', 'wr/WebRenderLayersLogging.h', 'wr/WebRenderMessageUtils.h', 'wr/WebRenderScrollData.h', 'wr/WebRenderScrollDataWrapper.h', 'wr/WebRenderTextureHost.h', ] if CONFIG['MOZ_X11']: EXPORTS.mozilla.layers += [ 'basic/TextureClientX11.h', 'basic/X11TextureSourceBasic.h', 'composite/X11TextureHost.h', 'ipc/ShadowLayerUtilsX11.h', 'opengl/X11TextureSourceOGL.h', ] SOURCES += [ 'basic/TextureClientX11.cpp', 'basic/X11BasicCompositor.cpp', 'basic/X11TextureSourceBasic.cpp', 'composite/X11TextureHost.cpp', 'ipc/ShadowLayerUtilsX11.cpp', 'opengl/X11TextureSourceOGL.cpp', ] if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa': EXPORTS.mozilla.layers += [ 'opengl/GLManager.h', ] EXPORTS += [ 'MacIOSurfaceHelpers.h', 'MacIOSurfaceImage.h', ] UNIFIED_SOURCES += [ 'opengl/GLManager.cpp', ] SOURCES += [ 'ipc/ShadowLayerUtilsMac.cpp', 'MacIOSurfaceHelpers.cpp', 'MacIOSurfaceImage.cpp', ] if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android': UNIFIED_SOURCES += [ 'apz/src/AndroidAPZ.cpp', 'apz/src/AndroidDynamicToolbarAnimator.cpp', ] EXPORTS.mozilla.layers += [ 'apz/src/AndroidDynamicToolbarAnimator.h', ] UNIFIED_SOURCES += [ 'AnimationHelper.cpp', 'apz/public/IAPZCTreeManager.cpp', 'apz/src/APZCTreeManager.cpp', 'apz/src/AsyncPanZoomController.cpp', 'apz/src/Axis.cpp', 'apz/src/CheckerboardEvent.cpp', 'apz/src/DragTracker.cpp', 'apz/src/GestureEventListener.cpp', 'apz/src/HitTestingTreeNode.cpp', 'apz/src/InputBlockState.cpp', 'apz/src/InputQueue.cpp', 'apz/src/OverscrollHandoffState.cpp', 'apz/src/PotentialCheckerboardDurationTracker.cpp', 'apz/src/QueuedInput.cpp', 'apz/src/TouchCounter.cpp', 'apz/src/WheelScrollAnimation.cpp', 'apz/testutil/APZTestData.cpp', 'apz/util/ActiveElementManager.cpp', 'apz/util/APZCCallbackHelper.cpp', 'apz/util/APZEventState.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/ScrollLinkedEffectDetector.cpp', 'apz/util/TouchActionHelper.cpp', 'AsyncCanvasRenderer.cpp', 'AxisPhysicsModel.cpp', 'AxisPhysicsMSDModel.cpp', 'basic/BasicBorderLayer.cpp', 'basic/BasicCanvasLayer.cpp', 'basic/BasicColorLayer.cpp', 'basic/BasicCompositor.cpp', 'basic/BasicContainerLayer.cpp', 'basic/BasicDisplayItemLayer.cpp', 'basic/BasicImages.cpp', 'basic/BasicLayerManager.cpp', 'basic/BasicLayersImpl.cpp', 'basic/BasicPaintedLayer.cpp', 'basic/BasicTextLayer.cpp', 'basic/TextureHostBasic.cpp', 'BSPTree.cpp', 'BufferTexture.cpp', 'BufferUnrotate.cpp', 'client/CanvasClient.cpp', 'client/ClientBorderLayer.cpp', 'client/ClientCanvasLayer.cpp', 'client/ClientColorLayer.cpp', 'client/ClientContainerLayer.cpp', 'client/ClientImageLayer.cpp', 'client/ClientLayerManager.cpp', 'client/ClientPaintedLayer.cpp', 'client/ClientTextLayer.cpp', 'client/ClientTiledPaintedLayer.cpp', 'client/CompositableClient.cpp', 'client/ContentClient.cpp', 'client/GPUVideoTextureClient.cpp', 'client/ImageClient.cpp', 'client/SingleTiledContentClient.cpp', 'client/TextureClient.cpp', 'client/TextureClientPool.cpp', 'client/TextureClientRecycleAllocator.cpp', 'client/TextureClientSharedSurface.cpp', 'client/TiledContentClient.cpp', 'composite/AnimationMetricsTracker.cpp', 'composite/AsyncCompositionManager.cpp', 'composite/CanvasLayerComposite.cpp', 'composite/ColorLayerComposite.cpp', 'composite/CompositableHost.cpp', 'composite/ContainerLayerComposite.cpp', 'composite/ContentHost.cpp', 'composite/Diagnostics.cpp', 'composite/FPSCounter.cpp', 'composite/FrameUniformityData.cpp', 'composite/GPUVideoTextureHost.cpp', 'composite/ImageComposite.cpp', 'composite/ImageHost.cpp', 'composite/ImageLayerComposite.cpp', 'composite/LayerManagerComposite.cpp', 'composite/PaintedLayerComposite.cpp', 'composite/TextRenderer.cpp', 'composite/TextureHost.cpp', 'composite/TiledContentHost.cpp', 'Compositor.cpp', 'CopyableCanvasLayer.cpp', 'Effects.cpp', 'FrameMetrics.cpp', 'GLImages.cpp', 'ImageDataSerializer.cpp', 'ImageLayers.cpp', 'ipc/APZChild.cpp', 'ipc/APZCTreeManagerChild.cpp', 'ipc/APZCTreeManagerParent.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/CrossProcessCompositorBridgeParent.cpp', 'ipc/ImageBridgeChild.cpp', 'ipc/ImageBridgeParent.cpp', 'ipc/ISurfaceAllocator.cpp', 'ipc/LayerAnimationUtils.cpp', 'ipc/LayerTransactionChild.cpp', 'ipc/LayerTransactionParent.cpp', 'ipc/LayerTreeOwnerTracker.cpp', 'ipc/RemoteContentController.cpp', 'ipc/ShadowLayers.cpp', 'ipc/SharedPlanarYCbCrImage.cpp', 'ipc/SharedRGBImage.cpp', 'ipc/UiCompositorControllerChild.cpp', 'ipc/UiCompositorControllerParent.cpp', 'ipc/VideoBridgeChild.cpp', 'ipc/VideoBridgeParent.cpp', 'LayerScope.cpp', 'LayersHelpers.cpp', 'LayersLogging.cpp', 'LayerSorter.cpp', 'LayersTypes.cpp', 'opengl/CompositingRenderTargetOGL.cpp', 'opengl/CompositorOGL.cpp', 'opengl/GLBlitTextureImageHelper.cpp', 'opengl/OGLShaderProgram.cpp', 'opengl/TextureClientOGL.cpp', 'opengl/TextureHostOGL.cpp', 'opengl/TexturePoolOGL.cpp', 'PaintThread.cpp', 'protobuf/LayerScopePacket.pb.cc', 'ReadbackProcessor.cpp', 'RenderTrace.cpp', 'RotatedBuffer.cpp', 'ShareableCanvasLayer.cpp', 'SourceSurfaceSharedData.cpp', 'SourceSurfaceVolatileData.cpp', 'TextureSourceProvider.cpp', 'TextureWrapperImage.cpp', 'wr/ScrollingLayersHelper.cpp', 'wr/StackingContextHelper.cpp', 'wr/WebRenderBridgeChild.cpp', 'wr/WebRenderBridgeParent.cpp', 'wr/WebRenderCanvasLayer.cpp', 'wr/WebRenderColorLayer.cpp', 'wr/WebRenderCompositableHolder.cpp', 'wr/WebRenderContainerLayer.cpp', 'wr/WebRenderDisplayItemLayer.cpp', 'wr/WebRenderImageHost.cpp', 'wr/WebRenderImageLayer.cpp', 'wr/WebRenderLayer.cpp', 'wr/WebRenderLayerManager.cpp', 'wr/WebRenderLayersLogging.cpp', 'wr/WebRenderPaintedLayer.cpp', 'wr/WebRenderPaintedLayerBlob.cpp', 'wr/WebRenderScrollData.cpp', 'wr/WebRenderTextLayer.cpp', # XXX here are some unified build error. #'wr/WebRenderTextureHost.cpp' ] SOURCES += [ 'basic/BasicImageLayer.cpp', 'ImageContainer.cpp', 'Layers.cpp', 'LayerTreeInvalidation.cpp', 'PersistentBufferProvider.cpp', 'wr/WebRenderTextureHost.cpp', ] # Disable RTTI in google protocol buffer DEFINES['GOOGLE_PROTOBUF_NO_RTTI'] = True # Workaround compiler bug (Bug 795594) if CONFIG['_MSC_VER'] and CONFIG['CPU_ARCH'] == 'x86_64': for src in [ 'Layers.cpp', 'LayerTreeInvalidation.cpp', ]: SOURCES[src].no_pgo = True if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa': SOURCES += [ 'basic/MacIOSurfaceTextureHostBasic.cpp', 'opengl/MacIOSurfaceTextureClientOGL.cpp', 'opengl/MacIOSurfaceTextureHostOGL.cpp', ] IPDL_SOURCES += [ 'ipc/LayersMessages.ipdlh', 'ipc/LayersSurfaces.ipdlh', 'ipc/PAPZ.ipdl', 'ipc/PAPZCTreeManager.ipdl', 'ipc/PCompositorBridge.ipdl', 'ipc/PCompositorManager.ipdl', 'ipc/PImageBridge.ipdl', 'ipc/PLayerTransaction.ipdl', 'ipc/PTexture.ipdl', 'ipc/PUiCompositorController.ipdl', 'ipc/PVideoBridge.ipdl', 'ipc/PWebRenderBridge.ipdl', 'ipc/WebRenderMessages.ipdlh', ] include('/ipc/chromium/chromium-config.mozbuild') if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows': GENERATED_FILES = [ 'CompositorD3D11Shaders.h', ] d3d11_shaders = GENERATED_FILES['CompositorD3D11Shaders.h'] d3d11_shaders.script = 'd3d11/genshaders.py' d3d11_shaders.inputs = ['d3d11/shaders.manifest'] LOCAL_INCLUDES += [ '/docshell/base', # for nsDocShell.h '/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'] MOCHITEST_MANIFESTS += ['apz/test/mochitest/mochitest.ini'] MOCHITEST_CHROME_MANIFESTS += ['apz/test/mochitest/chrome.ini'] 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', ]