gecko-dev/gfx/wr/wrench
WR Updater Bot 2c5f2d8ed6 Bug 1511245 - Update webrender to commit d771bae9f824769c73419fdc3ccffa2bdc47c3e4 (WR PR #3368). r=kats
https://github.com/servo/webrender/pull/3368

Differential Revision: https://phabricator.services.mozilla.com/D13497

--HG--
extra : moz-landing-system : lando
2018-11-30 02:07:23 +00:00
..
benchmarks
reftests Bug 1511245 - Update webrender to commit d771bae9f824769c73419fdc3ccffa2bdc47c3e4 (WR PR #3368). r=kats 2018-11-30 02:07:23 +00:00
res
script Bug 1510078 - Update webrender to commit f450af9277e2474e2a2a2c1358689ca9486e2a09 (WR PR #3345). r=kats 2018-11-27 01:16:27 +00:00
src Bug 1510221 - Update webrender to commit 195582a8dc5b9c6d26d54ce8d70060ccc8f423d8 (WR PR #3337). r=kats 2018-11-27 19:19:54 +00:00
.gitignore
Cargo.toml Bug 1510884 - Update webrender to commit 7f5c575c965520adffc488c76d6b0f6b4cefe9fc (WR PR #3364). r=kats 2018-11-29 03:36:07 +00:00
README.md
build.rs

README.md

wrench

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

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.

replay and show

Binary recordings can be generated by webrender and replayed with wrench replay. Enable binary recording in RendererOptions.

RendererOptions {
    ...
    recorder: Some(Box::new(BinaryRecorder::new("wr-frame.bin"))),
    ...
}

If you are working on gecko integration you can enable recording in webrender_bindings/src/bindings.rs by setting

static ENABLE_RECORDING: bool = true;

wrench replay --save yaml will convert the recording into frames described in yaml. Frames can then be replayed with wrench show.

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