On Windows, servo crate declares a non-optional dependency on webxr:
|
webxr = { workspace = true, features = ["glwindow", "headless", "openxr-api"] } |
This enables the openxr-api feature, which in-turn enables the sm-angle-default feature in surfman
|
openxr-api = ["angle", "openxr", "winapi", "wio", "surfman/sm-angle-default"] |
Because of this, any rendering context created by servo using surfman ends up trying to use the ANGLE backend instead of the WGL backend even when no-wgl feature is not enabled for the servo crate.
I suspect webxr needs to declared as an optional dependency in servo. servoshell already enables the feature for servo unconditionally.
|
default = ["baked-in-resources", "gamepad", "servo/clipboard", "js_jit", "max_log_level", "webgpu", "webxr"] |
Platform:
Issue identified on Github's windows-2022 image we use for CI
On Windows,
servocrate declares a non-optional dependency onwebxr:servo/components/servo/Cargo.toml
Line 161 in ca6edff
This enables the
openxr-apifeature, which in-turn enables thesm-angle-defaultfeature insurfmanservo/components/webxr/Cargo.toml
Line 24 in ca6edff
Because of this, any rendering context created by
servousingsurfmanends up trying to use the ANGLE backend instead of the WGL backend even whenno-wglfeature is not enabled for theservocrate.I suspect
webxrneeds to declared as an optional dependency inservo.servoshellalready enables the feature forservounconditionally.servo/ports/servoshell/Cargo.toml
Line 44 in 1af38f2
Platform:
Issue identified on Github's windows-2022 image we use for CI