You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Vulkan backend has no OpenHarmony window-system integration, so surface
creation fails there and GLES is the only usable backend. That rules out
anything needing `VERTEX_STORAGE` or compute, even though OpenHarmony devices
ship a working Vulkan driver.
`ash` generates no OpenHarmony bindings, so `vkCreateSurfaceOHOS` is resolved
via `get_instance_proc_addr` and `VkSurfaceCreateInfoOHOS` is declared locally,
matching the OpenHarmony SDK's `vulkan_ohos.h`.
OpenHarmony is also excluded from the X11/Wayland extension list: it is unix and
reports `target_os = "linux"`, but has neither.
Surfaces are created from the `OHNativeWindow` an XComponent hands out, which
`raw-window-handle` already exposes as `RawWindowHandle::OhosNdk` and the GLES
backend already consumes.
Tested on a HUAWEI MatePad Air (Maleoon 920, HarmonyOS 6.1): the Vulkan adapter
is selected and storage-buffer/compute pipelines build, which the GLES backend
could not do.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -85,6 +85,7 @@ Bottom level categories:
85
85
86
86
#### Vulkan
87
87
88
+
- Add OpenHarmony surface support via `VK_OHOS_surface`. Previously the Vulkan backend could not create a surface on OpenHarmony, leaving GLES as the only usable backend. By @ozongzi in [#9908](https://github.com/gfx-rs/wgpu/pull/9908).
88
89
- Stop passing an un-waited fence to `vkAcquireNextImageKHR` on non-Windows platforms, which triggered `VUID-vkAcquireNextImageKHR-fence-10066` validation errors every frame since v30.0.0. By @ErichDonGubler in [#9855](https://github.com/gfx-rs/wgpu/issues/9855).
0 commit comments