author Andrew Halberstadt <>
Mon, 30 Sep 2019 16:59:27 +0000
changeset 2362374 b50c4cdef2ac1ed8949753711f608f19fd12acb3
parent 2163724 57a452ce3376bb82f30dbcdfe0fba9ecabbc66f4
child 2383975 23136cb380005f57d22099857ef7be2a244b7d0c
permissions -rw-r--r--
Bug 1584567 - Merge desktop + android commands (run and install) back together, r=nalexander Differential Revision:

# WebRender


GPU renderer for the Web content, used by Servo.

Note that the canonical home for this code is in gfx/wr folder of the
mozilla-central repository at The
Github repository at should be considered
a downstream mirror, although it contains additional metadata (such as Github
wiki pages) that do not exist in mozilla-central. Pull requests against the
Github repository are still being accepted, although once reviewed, they will
be landed on mozilla-central first and then mirrored back. If you are familiar
with the mozilla-central contribution workflow, filing bugs in
and submitting patches there would be preferred.

## Update as a Dependency
After updating shaders in WebRender, go to servo and:

  * Go to the servo directory and do ./mach update-cargo -p webrender
  * Create a pull request to servo

## Use WebRender with Servo
To use a local copy of WebRender with servo, go to your servo build directory and:

  * Edit Cargo.toml
  * Add at the end of the file:

"webrender" = { path = "<path>/webrender" }
"webrender_api" = { path = "<path>/webrender_api" }

where `<path>` is the path to your local copy of WebRender.

  * Build as normal

## Documentation

The Wiki has a [few pages]( describing the internals and conventions of WebRender.

## Testing

Tests run using OSMesa to get consistent rendering across platforms.

Still there may be differences depending on font libraries on your system, for

See [this gist]( for
how to make the text tests useful in Fedora, for example.