dependencies: Upgrade to WebRender 0.64 (#31486)

This brings the version of WebRender used in Servo up-to-date with Gecko
upstream. The big change here is that HiDPI is no longer handled via
WebRender. Instead this happens via a scale applied to the root layer in
the compositor. In addition to this change, various changes are made to
Servo to adapt to the new WebRender API.

Co-authored-by: Mukilan Thiyagarajan <mukilan@igalia.com>
This commit is contained in:
Martin Robinson 2024-03-14 18:40:54 +01:00 committed by GitHub
parent 4597aeae5f
commit ad37a54f59
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
102 changed files with 704 additions and 600 deletions

183
Cargo.lock generated
View file

@ -176,7 +176,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ac57f2b058a76363e357c056e4f74f1945bf734d37b8b3ef49066c4787dde0fc"
dependencies = [
"clipboard-win",
"core-graphics",
"core-graphics 0.22.3",
"image",
"log",
"objc",
@ -311,12 +311,6 @@ version = "0.21.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
[[package]]
name = "binary-space-partition"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "88ceb0d16c4fd0e42876e298d7d3ce3780dd9ebdcbe4199816a32c77e08597ff"
[[package]]
name = "bincode"
version = "1.3.3"
@ -737,7 +731,7 @@ dependencies = [
"block",
"cocoa-foundation",
"core-foundation",
"core-graphics",
"core-graphics 0.22.3",
"foreign-types 0.3.2",
"libc",
"objc",
@ -924,12 +918,6 @@ dependencies = [
"url",
]
[[package]]
name = "convert_case"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e"
[[package]]
name = "cookie"
version = "0.12.0"
@ -978,6 +966,19 @@ dependencies = [
"libc",
]
[[package]]
name = "core-graphics"
version = "0.23.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "970a29baf4110c26fedbc7f82107d42c23f7e88e404c4577ed73fe99ff85a212"
dependencies = [
"bitflags 1.3.2",
"core-foundation",
"core-graphics-types",
"foreign-types 0.5.0",
"libc",
]
[[package]]
name = "core-graphics-types"
version = "0.1.3"
@ -996,11 +997,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "99d74ada66e07c1cefa18f8abfba765b486f250de2e4a999e5727fc0dd4b4a25"
dependencies = [
"core-foundation",
"core-graphics",
"core-graphics 0.22.3",
"foreign-types 0.3.2",
"libc",
]
[[package]]
name = "core-text"
version = "20.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c9d2790b5c08465d49f8dc05c8bcae9fea467855947db39b0f8145c091aaced5"
dependencies = [
"core-foundation",
"core-graphics 0.23.1",
"foreign-types 0.5.0",
"libc",
]
[[package]]
name = "cpufeatures"
version = "0.2.12"
@ -1101,16 +1114,6 @@ dependencies = [
"syn 2.0.52",
]
[[package]]
name = "cstr"
version = "0.2.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8aa998c33a6d3271e3678950a22134cd7dd27cef86dee1b611b5b14207d1d90b"
dependencies = [
"proc-macro2",
"quote",
]
[[package]]
name = "d3d12"
version = "0.7.0"
@ -1208,7 +1211,7 @@ dependencies = [
[[package]]
name = "derive_common"
version = "0.0.1"
source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#6614be88ec2b773e397767eb0d0554dd1145e81e"
source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#7dd884031d6b97d801d50f8fcdff69bbeb292ae0"
dependencies = [
"darling",
"proc-macro2",
@ -1223,10 +1226,8 @@ version = "0.99.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321"
dependencies = [
"convert_case",
"proc-macro2",
"quote",
"rustc_version",
"syn 1.0.109",
]
@ -1680,8 +1681,8 @@ dependencies = [
"bitflags 1.3.2",
"byteorder",
"core-foundation",
"core-graphics",
"core-text",
"core-graphics 0.22.3",
"core-text 19.2.0",
"dirs-next",
"dwrote",
"float-ord",
@ -1951,8 +1952,8 @@ dependencies = [
"bitflags 2.4.2",
"byteorder",
"core-foundation",
"core-graphics",
"core-text",
"core-graphics 0.22.3",
"core-text 19.2.0",
"dwrote",
"euclid",
"fnv",
@ -2565,8 +2566,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bf8c27ca13930dc4ffe474880040fe9e0f03c2121600dc9c95423624cab3e467"
dependencies = [
"cc",
"core-graphics",
"core-text",
"core-graphics 0.22.3",
"core-text 19.2.0",
"foreign-types 0.3.2",
"freetype",
"pkg-config",
@ -3463,7 +3464,7 @@ dependencies = [
[[package]]
name = "malloc_size_of"
version = "0.0.1"
source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#6614be88ec2b773e397767eb0d0554dd1145e81e"
source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#7dd884031d6b97d801d50f8fcdff69bbeb292ae0"
dependencies = [
"accountable-refcell",
"app_units",
@ -4229,8 +4230,8 @@ dependencies = [
[[package]]
name = "peek-poke"
version = "0.2.0"
source = "git+https://github.com/servo/webrender?rev=f91b68a61#f91b68a616377da0f3f8858f3cead3e47da4acdd"
version = "0.3.0"
source = "git+https://github.com/servo/webrender?branch=0.64#9d354adf8955b1390dd56db89e6d5a9ea7880391"
dependencies = [
"euclid",
"peek-poke-derive",
@ -4238,13 +4239,13 @@ dependencies = [
[[package]]
name = "peek-poke-derive"
version = "0.2.1"
source = "git+https://github.com/servo/webrender?rev=f91b68a61#f91b68a616377da0f3f8858f3cead3e47da4acdd"
version = "0.3.0"
source = "git+https://github.com/servo/webrender?branch=0.64#9d354adf8955b1390dd56db89e6d5a9ea7880391"
dependencies = [
"proc-macro2",
"quote",
"syn 1.0.109",
"synstructure 0.12.6",
"syn 2.0.52",
"synstructure 0.13.1",
"unicode-xid",
]
@ -4404,14 +4405,13 @@ checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec"
[[package]]
name = "plane-split"
version = "0.17.1"
version = "0.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f3f7075ec146b897b6e0faca47adeb7ed3d4f6eaa8145bf19db17311081b3f63"
checksum = "8c1f7d82649829ecdef8e258790b0587acf0a8403f0ce963473d8e918acc1643"
dependencies = [
"binary-space-partition",
"euclid",
"log",
"num-traits",
"smallvec",
]
[[package]]
@ -5075,7 +5075,7 @@ dependencies = [
[[package]]
name = "selectors"
version = "0.24.0"
source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#6614be88ec2b773e397767eb0d0554dd1145e81e"
source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#7dd884031d6b97d801d50f8fcdff69bbeb292ae0"
dependencies = [
"bitflags 1.3.2",
"cssparser",
@ -5363,7 +5363,7 @@ dependencies = [
[[package]]
name = "servo_arc"
version = "0.2.0"
source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#6614be88ec2b773e397767eb0d0554dd1145e81e"
source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#7dd884031d6b97d801d50f8fcdff69bbeb292ae0"
dependencies = [
"nodrop",
"serde",
@ -5373,7 +5373,7 @@ dependencies = [
[[package]]
name = "servo_atoms"
version = "0.0.1"
source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#6614be88ec2b773e397767eb0d0554dd1145e81e"
source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#7dd884031d6b97d801d50f8fcdff69bbeb292ae0"
dependencies = [
"string_cache",
"string_cache_codegen",
@ -5579,7 +5579,7 @@ checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
[[package]]
name = "size_of_test"
version = "0.0.1"
source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#6614be88ec2b773e397767eb0d0554dd1145e81e"
source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#7dd884031d6b97d801d50f8fcdff69bbeb292ae0"
dependencies = [
"static_assertions",
]
@ -5705,7 +5705,7 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
[[package]]
name = "static_prefs"
version = "0.1.0"
source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#6614be88ec2b773e397767eb0d0554dd1145e81e"
source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#7dd884031d6b97d801d50f8fcdff69bbeb292ae0"
[[package]]
name = "str-buf"
@ -5748,7 +5748,7 @@ dependencies = [
[[package]]
name = "style"
version = "0.0.1"
source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#6614be88ec2b773e397767eb0d0554dd1145e81e"
source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#7dd884031d6b97d801d50f8fcdff69bbeb292ae0"
dependencies = [
"app_units",
"arrayvec",
@ -5806,7 +5806,7 @@ dependencies = [
[[package]]
name = "style_config"
version = "0.0.1"
source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#6614be88ec2b773e397767eb0d0554dd1145e81e"
source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#7dd884031d6b97d801d50f8fcdff69bbeb292ae0"
dependencies = [
"lazy_static",
]
@ -5814,7 +5814,7 @@ dependencies = [
[[package]]
name = "style_derive"
version = "0.0.1"
source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#6614be88ec2b773e397767eb0d0554dd1145e81e"
source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#7dd884031d6b97d801d50f8fcdff69bbeb292ae0"
dependencies = [
"darling",
"derive_common",
@ -5845,7 +5845,7 @@ dependencies = [
[[package]]
name = "style_traits"
version = "0.0.1"
source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#6614be88ec2b773e397767eb0d0554dd1145e81e"
source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#7dd884031d6b97d801d50f8fcdff69bbeb292ae0"
dependencies = [
"app_units",
"bitflags 1.3.2",
@ -5876,7 +5876,7 @@ dependencies = [
"cgl",
"cocoa",
"core-foundation",
"core-graphics",
"core-graphics 0.22.3",
"euclid",
"fnv",
"gl_generator",
@ -6188,7 +6188,7 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]]
name = "to_shmem"
version = "0.0.1"
source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#6614be88ec2b773e397767eb0d0554dd1145e81e"
source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#7dd884031d6b97d801d50f8fcdff69bbeb292ae0"
dependencies = [
"cssparser",
"servo_arc",
@ -6201,7 +6201,7 @@ dependencies = [
[[package]]
name = "to_shmem_derive"
version = "0.0.1"
source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#6614be88ec2b773e397767eb0d0554dd1145e81e"
source = "git+https://github.com/servo/stylo.git?branch=2023-07-23#7dd884031d6b97d801d50f8fcdff69bbeb292ae0"
dependencies = [
"darling",
"derive_common",
@ -6330,6 +6330,12 @@ dependencies = [
"winnow",
]
[[package]]
name = "topological-sort"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aa7c7f42dea4b1b99439786f5633aeb9c14c1b53f75e282803c2ec2ad545873c"
[[package]]
name = "tower-service"
version = "0.3.2"
@ -6866,31 +6872,24 @@ checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1"
[[package]]
name = "webrender"
version = "0.61.0"
source = "git+https://github.com/servo/webrender?rev=f91b68a61#f91b68a616377da0f3f8858f3cead3e47da4acdd"
version = "0.64.0"
source = "git+https://github.com/servo/webrender?branch=0.64#9d354adf8955b1390dd56db89e6d5a9ea7880391"
dependencies = [
"bincode",
"bitflags 1.3.2",
"bitflags 2.4.2",
"build-parallel",
"byteorder",
"core-foundation",
"core-graphics",
"core-text",
"cstr",
"derive_more",
"dwrote",
"etagere",
"euclid",
"freetype",
"fxhash",
"gleam",
"glslopt",
"lazy_static",
"libc",
"log",
"malloc_size_of_derive",
"num-traits",
"objc",
"peek-poke",
"plane-split",
"rayon",
"ron",
@ -6898,24 +6897,23 @@ dependencies = [
"smallvec",
"svg_fmt",
"time 0.1.45",
"topological-sort",
"tracy-rs",
"webrender_api",
"webrender_build",
"wr_glyph_rasterizer",
"wr_malloc_size_of",
]
[[package]]
name = "webrender_api"
version = "0.61.0"
source = "git+https://github.com/servo/webrender?rev=f91b68a61#f91b68a616377da0f3f8858f3cead3e47da4acdd"
version = "0.64.0"
source = "git+https://github.com/servo/webrender?branch=0.64#9d354adf8955b1390dd56db89e6d5a9ea7880391"
dependencies = [
"app_units",
"bitflags 1.3.2",
"bitflags 2.4.2",
"byteorder",
"core-foundation",
"core-graphics",
"crossbeam-channel",
"derive_more",
"euclid",
"malloc_size_of_derive",
"peek-poke",
@ -6928,10 +6926,10 @@ dependencies = [
[[package]]
name = "webrender_build"
version = "0.0.1"
source = "git+https://github.com/servo/webrender?rev=f91b68a61#f91b68a616377da0f3f8858f3cead3e47da4acdd"
version = "0.0.2"
source = "git+https://github.com/servo/webrender?branch=0.64#9d354adf8955b1390dd56db89e6d5a9ea7880391"
dependencies = [
"bitflags 1.3.2",
"bitflags 2.4.2",
"lazy_static",
]
@ -7332,7 +7330,7 @@ dependencies = [
"bitflags 1.3.2",
"cfg_aliases",
"core-foundation",
"core-graphics",
"core-graphics 0.22.3",
"dispatch",
"instant",
"libc",
@ -7384,10 +7382,35 @@ dependencies = [
"winapi",
]
[[package]]
name = "wr_glyph_rasterizer"
version = "0.1.0"
source = "git+https://github.com/servo/webrender?branch=0.64#9d354adf8955b1390dd56db89e6d5a9ea7880391"
dependencies = [
"core-foundation",
"core-graphics 0.23.1",
"core-text 20.1.0",
"dwrote",
"euclid",
"freetype",
"fxhash",
"lazy_static",
"libc",
"log",
"malloc_size_of_derive",
"objc",
"rayon",
"serde",
"smallvec",
"tracy-rs",
"webrender_api",
"wr_malloc_size_of",
]
[[package]]
name = "wr_malloc_size_of"
version = "0.0.1"
source = "git+https://github.com/servo/webrender?rev=f91b68a61#f91b68a616377da0f3f8858f3cead3e47da4acdd"
version = "0.0.2"
source = "git+https://github.com/servo/webrender?branch=0.64#9d354adf8955b1390dd56db89e6d5a9ea7880391"
dependencies = [
"app_units",
"euclid",