gecko-dev/gfx/wr/wrench
2024-01-16 08:21:36 +00:00
..
benchmarks
examples
invalidation Bug 1836063 - Add invalidation regression test r=gfx-reviewers,gw 2023-07-13 19:42:21 +00:00
reftests Bug 1869994 - Fix overlapping underlay compositor surfaces with masks r=gfx-reviewers,lsalzman 2023-12-17 19:54:38 +00:00
res
script
src Bug 1866020 - Override buggy colorspace conversion on Pixel devices. r=gw,padenot,geckoview-reviewers,owlish 2023-12-14 10:45:08 +00:00
.gitignore
android.txt Bug 1823842 - Explicitly only build the wrench library on android. r=gfx-reviewers,jnicol 2023-03-22 09:02:37 +00:00
build.rs
Cargo.toml Bug 1873677 - GeckoView Android API 34 (Android 14) r=jgraham,jonalmeida 2024-01-16 08:21:36 +00:00
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