AndroidHardwareBuffer.cpp |
static |
16881 |
AndroidHardwareBuffer.h |
AndroidHardwareBufferApi provides apis for managing AHardwareBuffer.
The apis are supported since Android O(APIVersion 26).
|
8980 |
AnimationHelper.cpp |
|
28423 |
AnimationHelper.h |
This utility class allows reusing code between the webrender and
non-webrender compositor-side implementations. It provides
utility functions for sampling animations at particular timestamps.
|
6010 |
AnimationInfo.cpp |
static |
41502 |
AnimationInfo.h |
|
6044 |
AnimationStorageData.h |
|
3996 |
AtomicRefCountedWithFinalize.h |
Set a callback responsible for recycling this object
before it is finalized.
|
5334 |
AxisPhysicsMSDModel.cpp |
Constructs an AxisPhysicsMSDModel with initial values for state.
@param aInitialPosition sets the initial position of the simulated spring,
in AppUnits.
@param aInitialDestination sets the resting position of the simulated spring,
in AppUnits.
@param aInitialVelocity sets the initial velocity of the simulated spring,
in AppUnits / second. Critically-damped and over-damped systems are
guaranteed not to overshoot aInitialDestination if this is set to 0;
however, it is possible to overshoot and oscillate if not set to 0 or
the system is under-damped.
@param aSpringConstant sets the strength of the simulated spring. Greater
values of mSpringConstant result in a stiffer / stronger spring.
@param aDampingRatio controls the amount of dampening force and determines
if the system is under-damped, critically-damped, or over-damped.
|
3685 |
AxisPhysicsMSDModel.h |
AxisPhysicsMSDModel encapsulates a 1-dimensional MSD (Mass-Spring-Damper)
model. A unit mass is assumed.
|
2394 |
AxisPhysicsModel.cpp |
The simulation is advanced forward in time with a fixed time step to ensure
that it remains deterministic given variable framerates. To determine the
position at any variable time, two samples are interpolated.
kFixedtimestep is set to 120hz in order to ensure that every frame in a
common 60hz refresh rate display will have at least one physics simulation
sample. More accuracy can be obtained by reducing kFixedTimestep to smaller
intervals, such as 240hz or 1000hz, at the cost of more CPU cycles. If
kFixedTimestep is increased to much longer intervals, interpolation will
become less effective at reducing temporal jitter and the simulation will
lose accuracy.
|
3636 |
AxisPhysicsModel.h |
AxisPhysicsModel encapsulates a generic 1-dimensional physically-based motion
model.
It performs frame-rate independent interpolation and RK4 integration for
smooth animation with stable, deterministic behavior.
Implementations are expected to subclass and override the Acceleration()
method.
|
3356 |
BSPTree.cpp |
|
3481 |
BSPTree.h |
Represents a layer that might have a non-rectangular geometry.
|
3822 |
BufferTexture.cpp |
|
19260 |
BufferTexture.h |
|
4739 |
BuildConstants.h |
Why not just use ifdefs?
ifdefs tend to result in code that compiles on one platform but not another.
Given the number of build and platform configurations we have, it's best to
aim to compile the same on as many platforms as possible, and let the
compiler see the constexprs and handle dead-code elision itself.
|
1269 |
CanvasDrawEventRecorder.cpp |
|
15428 |
CanvasDrawEventRecorder.h |
WriterServices allows consumers of CanvasEventRingBuffer to provide
functions required by the write side of a CanvasEventRingBuffer without
introducing unnecessary dependencies on IPC code.
|
9288 |
CanvasRenderer.cpp |
|
3902 |
CanvasRenderer.h |
|
5021 |
CompositionRecorder.cpp |
|
3836 |
CompositionRecorder.h |
A captured frame from a |LayerManager|.
|
2793 |
Compositor.cpp |
aZero = |
22613 |
Compositor.h |
|
29198 |
CompositorAnimationStorage.cpp |
|
26852 |
CompositorAnimationStorage.h |
This transform is calculated from sampleanimation in device pixel
and used for layers (i.e. non WebRender)
|
8439 |
CompositorTypes.cpp |
|
1889 |
CompositorTypes.h |
Flags used by texture clients and texture hosts. These are passed from client
side to host side when textures and compositables are created. Usually set
by the compositableCient, they may be modified by either the compositable or
texture clients.
|
11941 |
D3D11ShareHandleImage.cpp |
|
7409 |
D3D11ShareHandleImage.h |
Used for checking if CompositorDevice/ContentDevice is updated.
|
3169 |
D3D11YCbCrImage.cpp |
|
13984 |
D3D11YCbCrImage.h |
|
2612 |
D3D9SurfaceImage.cpp |
|
9199 |
D3D9SurfaceImage.h |
Wraps a D3D9 texture, shared with the compositor though DXGI.
At the moment it is only used with D3D11 compositing, and the corresponding
TextureHost is DXGITextureHostD3D11.
|
3893 |
DMABUFSurfaceImage.cpp |
|
1426 |
DMABUFSurfaceImage.h |
|
1055 |
DirectedGraph.h |
Add a new edge to the graph.
|
2306 |
DirectionUtils.h |
GFX_DIRECTIONUTILS_H |
1819 |
Effects.cpp |
|
2273 |
Effects.h |
Effects and effect chains are used by the compositor API (see Compositor.h).
An effect chain represents a rendering method, for example some shader and
the data required for that shader to run. An effect is some component of the
chain and its data.
An effect chain consists of a primary effect - how the 'texture' memory
should be interpreted (RGBA, BGRX, YCBCR, etc.) - and any number of secondary
effects
- any way in which rendering can be changed, e.g., applying a mask layer.
During the rendering process, an effect chain is created by the layer being
rendered and the primary effect is added by the compositable host. Secondary
effects may be added by the layer or compositable. The effect chain is passed
to the compositor by the compositable host as a parameter to DrawQuad.
|
10941 |
FrameMetrics.cpp |
static |
12428 |
FrameMetrics.h |
Metrics about a scroll frame that are sent to the compositor and used
by APZ.
This is used for two main purposes:
(1) Sending information about a scroll frame to the compositor and APZ
as part of a layers or WebRender transaction.
(2) Storing information about a scroll frame in APZ that persists
between transactions.
TODO: Separate these two uses into two distinct structures.
A related class, RepaintRequest, is used for sending information about a
scroll frame back from the compositor to the main thread when requesting
a repaint of the scroll frame's contents.
|
40384 |
GLImages.cpp |
= true |
3067 |
GLImages.h |
|
2586 |
GPUVideoImage.h |
|
3022 |
IMFYCbCrImage.cpp |
static |
4538 |
IMFYCbCrImage.h |
|
1384 |
IPDLActor.h |
|
1525 |
ImageContainer.cpp |
|
27408 |
ImageContainer.h |
Forward declarations for Image derivatives. |
29671 |
ImageDataSerializer.cpp |
|
11788 |
ImageDataSerializer.h |
|
4029 |
ImageLayers.cpp |
|
2378 |
ImageLayers.h |
A Layer which renders an Image.
|
2794 |
ImageTypes.h |
The PLANAR_YCBCR format creates a PlanarYCbCrImage. All backends should
support this format, because the Ogg video decoder depends on it.
The maximum image width and height is 16384.
|
2980 |
LayerAttributes.h |
It stores data for scroll thumb layer or container layers.
|
12380 |
LayerManager.cpp |
static |
8181 |
LayerManager.h |
Record (and return) frame-intervals and paint-times for frames which were
presented between calling StartFrameTimeRecording and
StopFrameTimeRecording.
- Uses a cyclic buffer and serves concurrent consumers, so if Stop is
called too late
(elements were overwritten since Start), result is considered invalid
and hence empty.)
- Buffer is capable of holding 10 seconds @ 60fps (or more if frames were
less frequent).
Can be changed (up to 1 hour) via pref:
toolkit.framesRecording.bufferSize.
- Note: the first frame-interval may be longer than expected because last
frame
might have been presented some time before calling
StartFrameTimeRecording.
|
28837 |
LayerMetricsWrapper.h |
|
15242 |
LayerScope.cpp |
This must occur *after* layers/PLayers.h to avoid typedefs conflicts. |
47362 |
LayerScope.h |
GFX_LAYERSCOPE_H |
1801 |
LayerSorter.cpp |
Recover the z component from a 2d transformed point by finding the
intersection of a line through the point in the z direction and the
transformed plane.
We want to solve:
point = normal . (p0 - l0) / normal . l
|
12122 |
LayerSorter.h |
GFX_LAYERSORTER_H |
591 |
LayerTreeInvalidation.cpp |
Get accumulated transform of from the context creating layer to the
given layer.
|
28460 |
LayerTreeInvalidation.h |
Callback for ContainerLayer invalidations.
@param aContainer ContainerLayer being invalidated.
@param aRegion Invalidated region in the ContainerLayer's coordinate
space. If null, then the entire region must be invalidated.
|
2591 |
LayerUserData.h |
Base class for userdata objects attached to layers and layer managers.
We define it here in a separate header so clients only need to include
this header for their class definitions, rather than pulling in Layers.h.
Everything else in Layers.h should be forward-declarable.
|
875 |
Layers.cpp |
|
77185 |
Layers.h |
|
75333 |
LayersHelpers.cpp |
|
2237 |
LayersHelpers.h |
|
1938 |
LayersTypes.cpp |
|
6359 |
LayersTypes.h |
|
14626 |
MacIOSurfaceHelpers.cpp |
Extract and separate the CbCr planes |
6671 |
MacIOSurfaceHelpers.h |
|
877 |
MacIOSurfaceImage.cpp |
|
5220 |
MacIOSurfaceImage.h |
|
2288 |
MemoryPressureObserver.cpp |
|
2275 |
MemoryPressureObserver.h |
|
1806 |
NativeLayer.h |
|
11301 |
NativeLayerCA.h |
|
17019 |
NativeLayerCA.mm |
static |
40209 |
OOPCanvasRenderer.h |
This renderer works with WebGL running in the host process. It does
not perform any graphics operations itself -- it is the client-side
representation. It forwards WebGL composition to the remote process.
|
1600 |
PaintThread.cpp |
static |
8165 |
PaintThread.h |
|
3423 |
PersistentBufferProvider.cpp |
|
16194 |
PersistentBufferProvider.h |
A PersistentBufferProvider is for users which require the temporary use of
a DrawTarget to draw into. When they're done drawing they return the
DrawTarget, when they later need to continue drawing they get a DrawTarget
from the provider again, the provider will guarantee the contents of the
previously returned DrawTarget is persisted into the one newly returned.
|
7206 |
ProfilerScreenshots.cpp |
static |
5188 |
ProfilerScreenshots.h |
Can be used to submit screenshots from the compositor to the profiler.
Screenshots have a fixed bounding size. The user of this class will usually
scale down the window contents first, ideally on the GPU, then read back the
small scaled down image into main memory, and then call SubmitScreenshot to
pass the data to the profiler.
This class encodes each screenshot to a JPEG data URL, on a separate thread.
This class manages that thread and recycles memory buffers.
|
4151 |
ReadbackLayer.h |
A ReadbackSink receives a stream of updates to a rectangle of pixels.
These update callbacks are always called on the main thread, either during
EndTransaction or from the event loop.
|
7466 |
ReadbackProcessor.cpp |
|
6667 |
ReadbackProcessor.h |
Called by the container before processing any child layers. Call this
if any child layer might have changed in any way (other than content-only
changes to layers other than ColorLayers and PaintedLayers).
This method recomputes the relationship between ReadbackLayers and
sibling layers, and dispatches changes to ReadbackLayers. Except that
if a PaintedLayer needs its contents sent to some ReadbackLayer, we'll
just record that internally and later the PaintedLayer should call
GetPaintedLayerUpdates when it paints, to find out which rectangle needs
to be sent, and the ReadbackLayer it needs to be sent to.
|
2929 |
RecordedCanvasEventImpl.h |
|
17638 |
RenderTrace.cpp |
|
2846 |
RenderTrace.h |
|
2442 |
RepaintRequest.cpp |
|
944 |
RepaintRequest.h |
|
12502 |
RotatedBuffer.cpp |
@param aXSide LEFT means we draw from the left side of the buffer (which
is drawn on the right side of mBufferRect). RIGHT means we draw from
the right side of the buffer (which is drawn on the left side of
mBufferRect).
@param aYSide TOP means we draw from the top side of the buffer (which
is drawn on the bottom side of mBufferRect). BOTTOM means we draw from
the bottom side of the buffer (which is drawn on the top side of
mBufferRect).
|
16960 |
RotatedBuffer.h |
This is a cairo/Thebes surface, but with a literal twist. Scrolling
causes the layer's visible region to move. We want to keep
reusing the same surface if the region size hasn't changed, but we don't
want to keep moving the contents of the surface around in memory. So
we use a trick.
Consider just the vertical case, and suppose the buffer is H pixels
high and we're scrolling down by N pixels. Instead of copying the
buffer contents up by N pixels, we leave the buffer contents in place,
and paint content rows H to H+N-1 into rows 0 to N-1 of the buffer.
Then we can refresh the screen by painting rows N to H-1 of the buffer
at row 0 on the screen, and then painting rows 0 to N-1 of the buffer
at row H-N on the screen.
mBufferRotation.y would be N in this example.
|
14881 |
SampleTime.cpp |
static |
2061 |
SampleTime.h |
When compositing frames, there is usually a "sample time" associated
with the frame, which may be derived from vsync or controlled by a test.
This class encapsulates that and tracks where the sample time comes from,
as the desired behaviour may vary based on the time source.
|
2303 |
ScreenshotGrabber.cpp |
The actual implementation of screenshot grabbing.
The ScreenshotGrabberImpl object is destroyed if the profiler is
disabled and MaybeGrabScreenshot notices it.
|
7737 |
ScreenshotGrabber.h |
Used by various renderers / layer managers to grab snapshots from the window
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 DownscaleTarget::CopyFrom, and readback is done using
AsyncReadbackBuffers.
|
4366 |
ScrollableLayerGuid.cpp |
|
2547 |
ScrollableLayerGuid.h |
This class allows us to uniquely identify a scrollable layer. The
mLayersId identifies the layer tree (corresponding to a child process
and/or tab) that the scrollable layer belongs to. The mPresShellId
is a temporal identifier (corresponding to the document loaded that
contains the scrollable layer, which may change over time). The
mScrollId corresponds to the actual frame that is scrollable.
|
2995 |
ShareableCanvasRenderer.cpp |
|
5882 |
ShareableCanvasRenderer.h |
|
1563 |
SourceSurfaceSharedData.cpp |
If defined, this makes SourceSurfaceSharedData::Finalize memory protect the
underlying shared buffer in the producing process (the content or UI
process). Given flushing the page table is expensive, and its utility is
predominantly diagnostic (in case of overrun), turn it off by default.
|
5432 |
SourceSurfaceSharedData.h |
This class is used to wrap shared (as in process) data buffers allocated by
a SourceSurfaceSharedData object. It may live in the same process or a
different process from the actual SourceSurfaceSharedData object.
If it is in the same process, mBuf is the same object as that in the surface.
It is a useful abstraction over just using the surface directly, because it
can have a different lifetime from the surface; if the surface gets freed,
consumers may continue accessing the data in the buffer. Releasing the
original surface is a signal which feeds into SharedSurfacesParent to decide
to release the SourceSurfaceSharedDataWrapper.
If it is in a different process, mBuf is a new SharedMemoryBasic object which
mapped in the given shared memory handle as read only memory.
|
9748 |
SourceSurfaceVolatileData.cpp |
|
1619 |
SourceSurfaceVolatileData.h |
This class is used to wrap volatile data buffers used for source surfaces.
The Map and Unmap semantics are used to guarantee that the volatile data
buffer is not freed by the operating system while the surface is in active
use. If GetData is expected to return a non-null value without a
corresponding Map call (and verification of the result), the surface data
should be wrapped in a temporary SourceSurfaceRawData with a ScopedMap
closure.
|
3168 |
SurfacePool.h |
|
2229 |
SurfacePoolCA.h |
|
12873 |
SurfacePoolCA.mm |
static |
16928 |
SyncObject.cpp |
static |
1325 |
SyncObject.h |
|
1939 |
TextureDIB.cpp |
Can only be drawn into through Cairo.
The coresponding TextureHost depends on the compositor
|
14173 |
TextureDIB.h |
This is meant for a texture host which does a direct upload from
Updated to a Compositor specific DataTextureSource and therefor doesn't
need any specific Lock/Unlock magic.
|
3629 |
TextureSourceProvider.cpp |
|
2934 |
TextureSourceProvider.h |
|
4900 |
TextureSync.cpp |
nothing |
8725 |
TextureSync.h |
|
1684 |
TextureWrapperImage.cpp |
|
1424 |
TextureWrapperImage.h |
|
1290 |
TiledLayerBuffer.h |
Stores the origin and size of a tile buffer and handles switching between
tile indices and tile coordinates.
Tile coordinates in TileCoordIntPoint take the first tile offset into account
which means that two TilesPlacement of the same layer and resolution give
tile coordinates in the same coordinate space (useful when changing the
offset and/or size of a tile buffer).
|
7900 |
TransactionIdAllocator.h |
Allocate a unique id number for the current refresh tick, can
only be called while IsInRefresh().
If too many id's are allocated without being returned then
the refresh driver will suspend until they catch up. This
"throttling" behaviour can be skipped by passing aThrottle=false.
Otherwise call sites should generally be passing aThrottle=true.
|
3230 |
TreeTraversal.h |
Returned by |aPostAction| and |aPreAction| in ForEachNode, indicates
the behavior to follow either action:
TraversalFlag::Skip - the node's children are not traversed. If this
flag is returned by |aPreAction|, |aPostAction| is skipped for the
current node, as well.
TraversalFlag::Continue - traversal continues normally.
TraversalFlag::Abort - traversal stops immediately.
|
8330 |
UpdateImageHelper.h |
unused |
2293 |
ZoomConstraints.cpp |
|
820 |
ZoomConstraints.h |
GFX_ZOOMCONSTRAINTS_H |
2086 |
apz |
|
5 |
basic |
|
27 |
client |
|
41 |
composite |
|
43 |
d3d11 |
|
20 |
ipc |
|
102 |
layerviewer |
|
6 |
mlgpu |
|
42 |
moz.build |
|
20616 |
opengl |
|
25 |
protobuf |
|
3 |
wr |
|
40 |