vulkano-rs/vulkano

Update to winit 0.29.x and raw-window-handle v0.6.0 for vulkano-util

rauba-code opened this issue · 2 comments

Hello,

I find useful to consider upgrading Vulkano package winit from v0.28.x to v0.29.x. As winit is a hard dependency for vulkano-util, all the applications that use vulkano-util must use the same winit version.

Issue

Vulkano package vulkano-util and derived examples are using outdated winit v0.28 and raw-window-handle v0.5.0 packages.

Notable challenges

  • Packages winit and raw-window-handle are in process of deprecation of RawWindowHandle and RawDisplayHandle and provide WindowHandle and DisplayHandle.
  • Package glium-winit, which is required to build some examples, is deprecated and uses even older winit 0.27.1.

Things done so far

I forked a repository and upgraded some things on my own (see my commit on Codeberg), as I made a project that requires winit v0.29. The fork was spun off the latest version of Vulkano (v0.34.1). It builds Vulkano libraries but not examples (except triangle).

Newer winit adds more safety checks. I don't know internals of software (e.g., how to handle None/Err values), so I left some TODOs in those places. Option<NotNull> values are converted to *const T. The 'triangle' example and the latest Akytė rendering library, which uses vulkano v0.34.1, were tested on Intel(R) Graphics (ADL GT2) iGPU with Linux X11 (KDE Plasma) and Wayland (Sway). No testing on other machines was applied.

EDIT: unfinished sentence

Vulkano is already updated to those versions.

Good!