libservo: Expose SoftwareRenderingContext and WindowRenderingContext (#35501)

Expose two easy-to-use wrappers around `SurfmanRenderingContext` that
make the API simpler to use:

- `WindowRenderingContext`: This `RenderingContext` is a newtype around
  `SurfmanRenderingContext` takes a `raw-window-handle` display and window
  and creates a full window rendering context.
- `SoftwareRenderingContext`: is wraps `SurfmanRenderingContext` and
  adds a swap chain in order to expose a software GL rendering context.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
This commit is contained in:
Martin Robinson 2025-02-18 15:50:41 +01:00 committed by GitHub
parent 73507f58e6
commit f34f2d9d0a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
18 changed files with 514 additions and 470 deletions

3
Cargo.lock generated
View file

@ -6876,6 +6876,7 @@ dependencies = [
"cc",
"cfg-if",
"dirs",
"dpi",
"egui",
"egui-file-dialog",
"egui-winit",
@ -8592,6 +8593,7 @@ name = "webrender_traits"
version = "0.0.1"
dependencies = [
"base",
"dpi",
"embedder_traits",
"euclid",
"gleam",
@ -8600,6 +8602,7 @@ dependencies = [
"ipc-channel",
"libc",
"log",
"raw-window-handle",
"serde",
"servo-media",
"servo_geometry",