Closed Bug 1559295 Opened 3 months ago Closed 3 months ago

Support multiple picture cache tile sizes in WR texture cache.

Categories

(Core :: Graphics: WebRender, enhancement)

enhancement
Not set

Tracking

()

RESOLVED FIXED
mozilla69
Tracking Status
firefox69 --- fixed

People

(Reporter: gw, Assigned: gw)

Details

Attachments

(1 file)

No description provided.
Assignee: nobody → gwatson

In future, picture cache tiles will support different sizes, depending
on the size of the content slice being cached, and how frequently
parts of the slice are changing.

Although currently unused, this patch adds support for specifying
multiple different tile sizes for the picture cache texture array.

Pushed by gwatson@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/be881e8aa8d9
Support multiple picture cache tile sizes in WR texture cache. r=kvark

Backed out for webrender bustage on webrender/src/texture_cache.rs

backout: https://hg.mozilla.org/integration/autoland/rev/5a67612df3f5d82209a68e79df546801aade2583

push: https://treeherder.mozilla.org/#/jobs?repo=autoland&selectedJob=252455826&revision=be881e8aa8d9e12d4a78e2116c9750f1d8d24049&searchStr=%2Cwebrender&group_state=expanded

failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=252455826&repo=autoland

[task 2019-06-19T14:33:24.870Z] Running rustc --edition=2018 --crate-name angle_shader_validation webrender/tests/angle_shader_validation.rs --color never --emit=dep-info,link -C debuginfo=2 --test --cfg 'feature="api"' --cfg 'feature="base64"' --cfg 'feature="capture"' --cfg 'feature="debugger"' --cfg 'feature="default"' --cfg 'feature="freetype"' --cfg 'feature="freetype-lib"' --cfg 'feature="image_loader"' --cfg 'feature="no_static_freetype"' --cfg 'feature="png"' --cfg 'feature="profiler"' --cfg 'feature="replay"' --cfg 'feature="ron"' --cfg 'feature="serde"' --cfg 'feature="serde_json"' --cfg 'feature="smallvec"' --cfg 'feature="thread_profiler"' --cfg 'feature="ws"' -C metadata=91d3fb79c26b9e2a -C extra-filename=-91d3fb79c26b9e2a --out-dir /builds/worker/checkouts/gecko/gfx/wr/target/debug/deps -C incremental=/builds/worker/checkouts/gecko/gfx/wr/target/debug/incremental -L dependency=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps --extern base64=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libbase64-1be233c3a2dd2bb4.rlib --extern bincode=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libbincode-0d9218f1bbca8909.rlib --extern bitflags=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libbitflags-ea0a373b01a3b230.rlib --extern byteorder=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libbyteorder-344ba4b8ba252fb3.rlib --extern cfg_if=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libcfg_if-98ae113399494b59.rlib --extern cstr=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libcstr-e09f8e788cf8a663.rlib --extern euclid=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libeuclid-216484fe5670f5f7.rlib --extern freetype=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libfreetype-dc90fee977c57d10.rlib --extern fxhash=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libfxhash-3cf6f8b4752608cb.rlib --extern gleam=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libgleam-1a516298418406c5.rlib --extern image_loader=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libimage-4dd9c2f69da0f89f.rlib --extern lazy_static=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/liblazy_static-f04f93e39441d2eb.rlib --extern libc=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/liblibc-1ff3637bd65676b4.rlib --extern log=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/liblog-97c71e035e0c44c8.rlib --extern malloc_size_of_derive=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libmalloc_size_of_derive-0b6d9102f2e64444.so --extern mozangle=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libmozangle-2e065813f2cdde4f.rlib --extern num_traits=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libnum_traits-103ba42c53ef0862.rlib --extern plane_split=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libplane_split-f8c781095148d26e.rlib --extern png=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libpng-fcecd1ef2dc76f06.rlib --extern rand=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/librand-e71fab5f322ce960.rlib --extern rayon=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/librayon-b7a4ab19ece476dc.rlib --extern ron=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libron-d5fb17402956a6da.rlib --extern serde=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libserde-ca78127813725598.rlib --extern serde_json=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libserde_json-ebf6fef16f9f0eea.rlib --extern sha2=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libsha2-7187d9b33e93dc86.rlib --extern smallvec=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libsmallvec-f678046bf3fe3b62.rlib --extern svg_fmt=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libsvg_fmt-589e5da9fc42438f.rlib --extern thread_profiler=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libthread_profiler-02103a2359fe2d7c.rlib --extern time=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libtime-dfdd9ea3b302f23f.rlib --extern webrender=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libwebrender-836428c2e9a8cc77.rlib --extern api=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libwebrender_api-3a178be808e1846d.rlib --extern webrender_build=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libwebrender_build-8e6dbba46b3ad26f.rlib --extern malloc_size_of=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libwr_malloc_size_of-30f1262bbf0bdd08.rlib --extern ws=/builds/worker/checkouts/gecko/gfx/wr/target/debug/deps/libws-479407d427e5ac97.rlib --deny warnings -L native=/usr/lib/x86_64-linux-gnu -L native=/builds/worker/checkouts/gecko/gfx/wr/target/debug/build/mozangle-349e86323ec7fcbb/out
[task 2019-06-19T14:33:50.162Z] error[E0308]: mismatched types
[task 2019-06-19T14:33:50.162Z] --> webrender/src/texture_cache.rs:610:73
[task 2019-06-19T14:33:50.162Z] |
[task 2019-06-19T14:33:50.162Z] 610 | let mut cache = Self::new(max_texture_size, max_texture_layers, None, DeviceIntSize::zero());
[task 2019-06-19T14:33:50.162Z] | ^^^^ expected reference, found enum std::option::Option
[task 2019-06-19T14:33:50.162Z] |
[task 2019-06-19T14:33:50.162Z] = note: expected type &[euclid::TypedSize2D<i32, api::units::DevicePixel>]
[task 2019-06-19T14:33:50.162Z] found type std::option::Option<_>
[task 2019-06-19T14:33:50.162Z]
[task 2019-06-19T14:33:51.399Z] error: aborting due to previous error
[task 2019-06-19T14:33:51.399Z]
[task 2019-06-19T14:33:51.399Z] For more information about this error, try rustc --explain E0308.
[task 2019-06-19T14:33:51.553Z] error: Could not compile webrender.
[task 2019-06-19T14:33:51.553Z]

Flags: needinfo?(gwatson)
Pushed by gwatson@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/33ef5e8d04f8
Support multiple picture cache tile sizes in WR texture cache. r=kvark

Fixed up the unit test that was failing, and re-pushed via lando. Thanks!

Flags: needinfo?(gwatson)
Status: NEW → RESOLVED
Closed: 3 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla69
You need to log in before you can comment on or make changes to this bug.