Closed penguin42 closed 4 years ago
Vulkano is one of the Rust bindings for the Vulkan GPU API - https://docs.rs/vulkano/ To use it to display efficiently in a window you need to build a 'swapchain surface': https://docs.rs/vulkano/0.9.0/vulkano/swapchain/struct.Surface.html which you can do if you've got the underlying window system window id's; there's some existing glue for the Rust winit system, but it would be good to have glue for Gtk-rs to be able to use Vulkano effectively in Gtk. The winit glue is: https://github.com/vulkano-rs/vulkano/blob/master/vulkano-win/src/lib.rs
I think it really comes down to providing an Enum with whatever underlying display system's IDs for a given widget. I guess Gdk has that somewhere (so far I think I've got a Gdk::Display and Gdk::Window and am still digging).
GDK4 has Vulkan support, which should then provide proper integration for this.
Vulkano is one of the Rust bindings for the Vulkan GPU API - https://docs.rs/vulkano/ To use it to display efficiently in a window you need to build a 'swapchain surface': https://docs.rs/vulkano/0.9.0/vulkano/swapchain/struct.Surface.html which you can do if you've got the underlying window system window id's; there's some existing glue for the Rust winit system, but it would be good to have glue for Gtk-rs to be able to use Vulkano effectively in Gtk. The winit glue is: https://github.com/vulkano-rs/vulkano/blob/master/vulkano-win/src/lib.rs
I think it really comes down to providing an Enum with whatever underlying display system's IDs for a given widget. I guess Gdk has that somewhere (so far I think I've got a Gdk::Display and Gdk::Window and am still digging).