gecko-dev/gfx/wrench
Kartikaya Gupta 624ee847f6 Bug 1473284 - Update webrender to commit 0e9563688e575cd662570f54bc9d6f849040dbf8. r=Gankro
MozReview-Commit-ID: 8iH1bGPKpsd

--HG--
rename : gfx/webrender/src/query.rs => gfx/webrender/src/device/query_gl.rs
extra : rebase_source : ee7fcddee44b360cfee098656df7f144cacf270e
2018-07-09 09:29:15 -04:00
..
res
src Bug 1473284 - Update webrender to commit 0e9563688e575cd662570f54bc9d6f849040dbf8. r=Gankro 2018-07-09 09:29:15 -04:00
.gitignore
build.rs
Cargo.toml Backed out 3 changesets (bug 1470125) for force-cargo-library-build bustages on a CLOSED TREE 2018-06-28 21:25:33 +03:00
README.md Bug 1436058 - Update webrender to 342bc314db94aa439b2001249c5f24ccfcbccc22. r=jrmuizel 2018-02-12 11:28:01 -05:00

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