зеркало из https://github.com/mozilla/gecko-dev.git
1f4b5cd074
The `clear_caches_with_quads` flags is meant to work around a bug in some drivers' scissored clears, but its implementation uses the `GL_ALWAYS` depth comparison function, which SWGL doesn't support. SWGL does scissored clears very well, so simply turning this workaround off on SWGL avoids the problem and gets good results. Of course we could just make SWGL support `GL_ALWAYS`, but that would be kind of annoying, since it basically disables depth checks altogether, and we want to use entirely different paths when depth checks aren't needed. Differential Revision: https://phabricator.services.mozilla.com/D81918 |
||
---|---|---|
.. | ||
benchmarks | ||
examples | ||
reftests | ||
res | ||
script | ||
src | ||
.gitignore | ||
Cargo.toml | ||
README.md | ||
android.txt | ||
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 toreftests/reftest.list