gfx-rs / gfx

[maintenance mode] A low-overhead Vulkan-like GPU API for Rust.
http://gfx-rs.github.io/
Apache License 2.0
5.35k stars 549 forks source link

dx12: UWP support #2653

Open msiglreith opened 5 years ago

msiglreith commented 5 years ago

Bring Vulkan to directx world named UWP! See: https://github.com/gfx-rs/portability/issues/89

Testing can be done via gfx-portability. I have some old sample ported over to UWP: https://github.com/SaschaWillems/Vulkan/compare/master...msiglreith:uwp

(Implementation also in rostkatze for reference)

kvark commented 3 years ago

@msiglreith Could you explain more?

I see that the code you linked to uses an RKZ extension. Do we need a Vulkan Portability extension for UWP windowing? Would it be different from Win32 surface? And if so, do we need to add a variant into RawWindowHandle?

msiglreith commented 3 years ago

@kvark I'm far from an UWP expert, but yes the extension outlined would be an option (https://github.com/msiglreith/rostkatze/wiki/RKZ-extensions) In terms of raw-window-handle, it would need a new variant as well, which would pass the CoreWindow. Regarding rust ecosystem for uwp etc I haven't followed it at all. (common crates defining these types?) Right now, UWP target is tier 3 requiring building the compiler and stuff yourself.