Open Bug 1568622 Opened 5 years ago Updated 3 months ago

Combinatorical device capability testing in Wrench

Categories

(Core :: Graphics: WebRender, enhancement, P3)

66 Branch
enhancement

Tracking

()

People

(Reporter: kvark, Unassigned)

References

(Blocks 1 open bug)

Details

Today, WR's Renderer discovers GL device capabilities, such as dual-source blending, texture storage, advanced blend modes, etc. That affects the code paths used for batching and resource allocation.

We have a few "RendererOptions::allow_xxx" flags that disable WR's abilities to discover some device features. Problem is, developers still need to manually make sure to test with those combinations. There are wrench command line flags, reftest annotations, and possibly Gecko prefs to affect the allow_xxx flags in WR options.

What we could do is having a mode in Wrench that enumerates all the combinations of those allowance flags and repeats the same set of tests, e.g.:

cd wr/wrench
cargo run -- --all-options reftest reftests/image

This would help developers to easily test multiple code paths locally before hitting a bug report in the wild.

In order to get there, we need a proper bitflags mask of features allowed in the RendererOptions, and we need a bit of logic in Wrench to combinatorically enumerate these flags when running reftests or rawtests.

The primary motivation here is to test the swizzling of 1548339

Yes please.

Priority: -- → P3
Severity: normal → S3
Blocks: wr-todos
You need to log in before you can comment on or make changes to this bug.