gecko-dev/gfx/wr/wrench
Glenn Watson 6bfb59cac9 Bug 1708444 - Don't create compositor surfaces inside blend containers. r=gfx-reviewers,bradwerth
If we optimize a root level blend container to be a tile cache, we
need to ensure we don't promote compositor surfaces within this slice
as it can result in incorrect blending.

Differential Revision: https://phabricator.services.mozilla.com/D114176
2021-05-04 00:02:45 +00:00
..
benchmarks Bug 1656711. Support hardware accelerated <feGaussianBlur> SVG filters if the x and y radius are not equal with webrender. r=gw 2020-08-25 07:26:21 +00:00
examples
invalidation Bug 1675414 - Fix incorrect skipping of composites in some cases. r=nical 2020-11-17 19:24:16 +00:00
reftests Bug 1708444 - Don't create compositor surfaces inside blend containers. r=gfx-reviewers,bradwerth 2021-05-04 00:02:45 +00:00
res
script Bug 1665371 - Switch WR reftests to llvmpipe and update the expectations r=gw,kats 2020-09-25 19:54:32 +00:00
src Bug 1675375 Part 2: Add a polygon clips to image masks. r=gw 2021-04-15 18:54:38 +00:00
.gitignore
Cargo.toml Bug 1688062 - Fix tidy. r=fix CLOSED TREE 2021-03-01 23:02:31 +02:00
README.md Bug 1661408 - Update the README. r=gw 2020-08-27 19:58:34 +00:00
android.txt Bug 1681962 - Update cargo-apk CI dependency to a version which can read the new Cargo.lock file format. r=jrmuizel 2020-12-11 17:00:48 +00:00
build.rs

README.md

wrench

wrench is a tool for debugging webrender outside of a browser engine.

Build

Build wrench with cargo build --release within the wrench directory.

headless

wrench has an optional headless mode for use in continuous integration. To run in headless mode, instead of using cargo run -- args, use ./headless.py args.

show

If you are working on gecko integration you can capture a frame via the following steps.

  • Visit about:support and check that the "Compositing" value in the "Graphics" table says "WebRender". Enable gfx.webrender.all in about:config if necessary to enable WebRender.
  • Hit ctrl-shift-3 to capture the frame. The data will be put in ~/wr-capture.
  • View the capture with wrench show ~/wr-capture.

reftest

Wrench also has a reftest system for catching regressions.

  • To run all reftests, run script/headless.py reftest
  • To run specific reftests, run script/headless.py reftest path/to/test/or/dir
  • To examine test failures, use the reftest analyzer
  • To add a new reftest, create an example frame and a reference frame in reftests/ and then add an entry to reftests/reftest.list