servo/ports/servoshell/egl
Martin Robinson 9195344b75
compositor: Create a single cross-process compositor API (#33619) (#33660)
Instead of exposing many different kinds of messages to the compositor
that are routed through the constellation, expose a single message type
which can be sent across IPC channels. In addition, this IPC channel and
the route to the crossbeam channel with the compositor is created along
with the `CompositorProxy`, simplifying what needs to be passed around
during pipeline initialization.

Previously, some image updates (from video) were sent over IPC with a
special serialization routine and some were sent via crossbeam channels
(canvas). Now all updates go over the IPC channel `IpcSharedMemory` is
used to avoid serialization penalties. This should improve performance
and reduce copies for video, but add a memory copy overhead for canvas.
This will improve in the future when canvas renders directly into a
texture.

All-in-all this is a simplification which opens the path toward having a
standard compositor API and reduces the number of duplicate messages and
proxying that had to happen in libservo.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2024-10-09 17:30:24 +00:00
..
android ohos: Bundle resource files in hap (#33513) 2024-09-24 04:29:53 +00:00
ohos ohos: Allow passing arguments to servoshell (#33588) 2024-10-02 04:27:18 +00:00
android.rs ohos: Bundle resource files in hap (#33513) 2024-09-24 04:29:53 +00:00
gl_glue.rs Add OpenHarmony support to servoshell (#32594) 2024-06-28 12:51:50 +00:00
host_trait.rs ohos: Present on vsync signals (#33117) 2024-08-30 13:25:50 +00:00
log.rs ohos/android: Redirect stdout/stderr to log sink (#32858) 2024-08-15 09:26:03 +00:00
mod.rs ohos: Bundle resource files in hap (#33513) 2024-09-24 04:29:53 +00:00
ohos.rs ohos: Add toast prompt (#33621) 2024-10-03 16:33:21 +00:00
servo_glue.rs compositor: Create a single cross-process compositor API (#33619) (#33660) 2024-10-09 17:30:24 +00:00