gecko-dev/gfx/wr/wrench
Dzmitry Malyshau 13c8d55d12 Bug 1570401 - WR early out on transformed ClipOut clips r=gw
Refactors get_clip_result_complex to cover ClipOut cases for rectangles as well
as Clip for non-repeated images.

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

--HG--
extra : moz-landing-system : lando
2019-08-01 02:07:21 +00:00
..
benchmarks Bug 1528157 - Optimize GPU time for clip mask generation. r=kvark 2019-02-19 20:52:27 +00:00
examples Bug 1525741 - Support animating yaml files in wrench. r=kvark 2019-02-07 18:03:59 +00:00
reftests Bug 1570401 - WR early out on transformed ClipOut clips r=gw 2019-08-01 02:07:21 +00:00
res
script Bug 1559975: Fix python2/3 compat in gfx/ r=ahal 2019-07-05 14:28:55 +00:00
src Bug 1548339 - WR swizzle configuration of texture units r=gw 2019-07-26 14:55:50 +00:00
.gitignore
android.txt Bug 1555479 - Update wrench mozharness script to support running on a device as well. r=gbrown 2019-06-08 08:59:06 +00:00
build.rs
Cargo.toml Bug 1567241 - Update to euclid 0.20. r=kvark, emilio. 2019-07-18 22:54:16 +02:00
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