Auto merge of #26823 - jdm:single-renderapi, r=asajeffrey

Update webrender

These changes reflect changes in webrender's API that make RenderApiSender and RenderApi objects more challenging to share. This PR moves us to a model where:
* the compositor owns the main RenderApi object
* other threads that need to create transactions or manipulate fonts proxy those operations to the compositor (script/layout use IPC, while other threads use non-IPC channels)
* the webgl thread owns its own independent RenderApi
This commit is contained in:
bors-servo 2020-06-09 19:34:08 -04:00 committed by GitHub
commit 7eacfa4f0d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
51 changed files with 421 additions and 331 deletions

30
Cargo.lock generated
View file

@ -755,6 +755,7 @@ dependencies = [
name = "compositing"
version = "0.0.1"
dependencies = [
"app_units",
"canvas",
"crossbeam-channel",
"embedder_traits",
@ -1895,10 +1896,12 @@ dependencies = [
name = "gfx_traits"
version = "0.0.1"
dependencies = [
"app_units",
"malloc_size_of",
"malloc_size_of_derive",
"range",
"serde",
"webrender_api",
]
[[package]]
@ -3021,6 +3024,7 @@ dependencies = [
name = "libservo"
version = "0.0.1"
dependencies = [
"app_units",
"background_hang_monitor",
"bluetooth",
"bluetooth_traits",
@ -3037,6 +3041,7 @@ dependencies = [
"euclid",
"gaol",
"gfx",
"gfx_traits",
"gleam 0.11.0",
"gstreamer",
"ipc-channel",
@ -3934,7 +3939,7 @@ dependencies = [
[[package]]
name = "peek-poke"
version = "0.2.0"
source = "git+https://github.com/servo/webrender#01082a9091ab98c392af8934d04271eb1dd546df"
source = "git+https://github.com/servo/webrender#de3999583ab20aad7c57ea35a3e0394ed45be627"
dependencies = [
"euclid",
"peek-poke-derive 0.2.1 (git+https://github.com/servo/webrender)",
@ -3952,7 +3957,7 @@ dependencies = [
[[package]]
name = "peek-poke-derive"
version = "0.2.1"
source = "git+https://github.com/servo/webrender#01082a9091ab98c392af8934d04271eb1dd546df"
source = "git+https://github.com/servo/webrender#de3999583ab20aad7c57ea35a3e0394ed45be627"
dependencies = [
"proc-macro2 1.0.17",
"quote 1.0.2",
@ -4417,15 +4422,6 @@ version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cabe4fa914dec5870285fa7f71f602645da47c486e68486d2b4ceb4a343e90ac"
[[package]]
name = "ron"
version = "0.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "da06feaa07f69125ab9ddc769b11de29090122170b402547f64b86fe16ebc399"
dependencies = [
"serde",
]
[[package]]
name = "ron"
version = "0.5.1"
@ -6407,7 +6403,7 @@ dependencies = [
[[package]]
name = "webrender"
version = "0.61.0"
source = "git+https://github.com/servo/webrender#01082a9091ab98c392af8934d04271eb1dd546df"
source = "git+https://github.com/servo/webrender#de3999583ab20aad7c57ea35a3e0394ed45be627"
dependencies = [
"base64 0.10.1",
"bincode",
@ -6433,7 +6429,7 @@ dependencies = [
"num-traits",
"plane-split",
"rayon",
"ron 0.1.7",
"ron",
"serde",
"serde_json",
"smallvec 1.3.0",
@ -6449,7 +6445,7 @@ dependencies = [
[[package]]
name = "webrender_api"
version = "0.61.0"
source = "git+https://github.com/servo/webrender#01082a9091ab98c392af8934d04271eb1dd546df"
source = "git+https://github.com/servo/webrender#de3999583ab20aad7c57ea35a3e0394ed45be627"
dependencies = [
"app_units",
"bitflags",
@ -6470,7 +6466,7 @@ dependencies = [
[[package]]
name = "webrender_build"
version = "0.0.1"
source = "git+https://github.com/servo/webrender#01082a9091ab98c392af8934d04271eb1dd546df"
source = "git+https://github.com/servo/webrender#de3999583ab20aad7c57ea35a3e0394ed45be627"
dependencies = [
"bitflags",
"lazy_static",
@ -6550,7 +6546,7 @@ dependencies = [
"naga",
"parking_lot 0.10.2",
"peek-poke 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
"ron 0.5.1",
"ron",
"serde",
"smallvec 1.3.0",
"spirv_headers",
@ -6650,7 +6646,7 @@ dependencies = [
[[package]]
name = "wr_malloc_size_of"
version = "0.0.1"
source = "git+https://github.com/servo/webrender#01082a9091ab98c392af8934d04271eb1dd546df"
source = "git+https://github.com/servo/webrender#de3999583ab20aad7c57ea35a3e0394ed45be627"
dependencies = [
"app_units",
"euclid",