Name Description Size
AsyncCompositionManager.cpp 67808
AsyncCompositionManager.h Manage async composition effects. This class is only used with OMTC and only lives on the compositor thread. It is a layer on top of the layer manager (LayerManagerComposite) which deals with elements of composition which are usually dealt with by dom or layout when main thread rendering, but which can short circuit that stuff to directly affect layers as they are composited, for example, off-main thread animation, async video, async pan/zoom. 12176
CanvasLayerComposite.cpp 4478
CanvasLayerComposite.h GFX_CanvasLayerComposite_H 2332
ColorLayerComposite.cpp 2508
ColorLayerComposite.h GFX_ColorLayerComposite_H 1954
CompositableHost.cpp static 5160
CompositableHost.h The compositor-side counterpart to CompositableClient. Responsible for updating textures and data about textures from IPC and how textures are composited (tiling, double buffering, etc.). Update (for images/canvases) and UpdateThebes (for Thebes) are called during the layers transaction to update the Compositbale's textures from the content side. The actual update (and any syncronous upload) is done by the TextureHost, but it is coordinated by the CompositableHost. Composite is called by the owning layer when it is composited. CompositableHost will use its TextureHost(s) and call Compositor::DrawQuad to do the actual rendering. 9996
CompositorScreenshotGrabber.cpp The actual implementation of screenshot grabbing. The CompositorScreenshotGrabberImpl object is destroyed if the profiler is disabled and MaybeGrabScreenshot notices it. 7921
CompositorScreenshotGrabber.h Used by LayerManagerComposite to grab snapshots from the compositor and submit them to the Gecko profiler. Doesn't do any work if the profiler is not running or the "screenshots" feature is not enabled. Screenshots are scaled down to fit within a fixed size, and read back to main memory using async readback. Scaling is done in multiple scale-by-0.5x steps using CompositingRenderTargets and Compositor::BlitFromRenderTarget, and readback is done using AsyncReadbackBuffers. 2293
ConsolasFontData.h 33160
ContainerLayerComposite.cpp 28508
ContainerLayerComposite.h 7381
ContentHost.cpp 15508
ContentHost.h ContentHosts are used for compositing Painted layers, always matched by a ContentClient of the same type. ContentHosts support only UpdateThebes(), not Update(). 8371
Diagnostics.cpp 3487
Diagnostics.h 2668
FPSCounter.cpp Returns true if we have another timestamp that is valid and is within the given duration that we're interested in. Duration is in seconds 10441
FPSCounter.h The FPSCounter tracks how often we composite or have a layer transaction. At each composite / layer transaction, we record the timestamp. After kFpsDumpInterval number of composites / transactions, we calculate the average and standard deviation of frames composited. We dump a histogram, which allows for more statistically significant measurements. We also dump absolute frame composite times to a file on the device. The FPS counters displayed on screen are based on how many frames we composited within the last ~1 second. The more accurate measurement is to grab the histogram from stderr or grab the FPS timestamp dumps written to file. To enable dumping to file, enable layers.acceleration.draw-fps.write-to-file pref. double AddFrameAndGetFps(TimeStamp aCurrentFrame) { AddFrame(aCurrentFrame); return EstimateFps(aCurrentFrame); } To enable printing histogram data to logcat, enable layers.acceleration.draw-fps.print-histogram Use the HasNext(), GetNextTimeStamp() like an iterator to read the data, backwards in time. This abstracts away the mechanics of reading the data. 3752
FontData.h 21752
FrameUniformityData.cpp 4047
FrameUniformityData.h 2031
GPUVideoTextureHost.cpp 5756
GPUVideoTextureHost.h 2787
ImageComposite.cpp static 8357
ImageComposite.h Implements Image selection logic. 3568
ImageHost.cpp 15743
ImageHost.h ImageHost. Works with ImageClientSingle and ImageClientBuffered 5058
ImageLayerComposite.cpp 7111
ImageLayerComposite.h GFX_ImageLayerComposite_H 2320
LayerManagerComposite.cpp 60386
LayerManagerComposite.h 30421
PaintCounter.cpp 2713
PaintCounter.h 1552
PaintedLayerComposite.cpp 5335
PaintedLayerComposite.h PaintedLayers use ContentHosts for their compsositable host. By using different ContentHosts, PaintedLayerComposite support tiled and non-tiled PaintedLayers and single or double buffering. 2589
TextRenderer.cpp 8336
TextRenderer.h 2947
TextureHost.cpp TextureParent is the host-side IPDL glue between TextureClient and TextureHost. It is an IPDL actor just like LayerParent, CompositableParent, etc. 42137
TextureHost.h A view on a TextureHost where the texture is internally represented as tiles (contrast with a tiled buffer, where each texture is a tile). For iteration by the texture's buffer host. This is only useful when the underlying surface is too big to fit in one device texture, which forces us to split it in smaller parts. Tiled Compositable is a different thing. 32615
TiledContentHost.cpp = NO_FLAGS 23867
TiledContentHost.h aCompress, ignored for host tiles 10027
X11TextureHost.cpp 2900
X11TextureHost.h 1879