vulkano/vulkano-win
Mads Marquart 0af3fb3cb3
Use raw-window-metal to get a CAMetalLayer from raw-window-handle (#2561)
The way `raw-window-metal` works is by creating a layer, and inserting
that as a sublayer, just like we did on iOS before. The bounds are then
kept in-sync with an observer, ensuring smooth resizing.

This also fixes compilation errors on iOS, and adds preliminary support
for tvOS.

The implementation now solely uses `VK_EXT_metal_surface`, which was
added in 2018, instead of `VK_MVK_ios_surface` / `VK_MVK_macos_surface`,
which are deprecated, and only available a year and a half earlier
anyhow.

Note that apart from the above, there is a slight behavioral change on
macOS: we no longer set `edgeAntialiasingMask` on the layer, as it's not
really required, and allows us to avoid depending on `objc2` directly.
It was introduced without motivation in 40e0b24, so I doubt anyone uses
it, and if they do, they can change it on the layer themselves.
2024-09-11 18:03:54 +02:00
..
src Use raw-window-metal to get a CAMetalLayer from raw-window-handle (#2561) 2024-09-11 18:03:54 +02:00
Cargo.toml Use raw-window-metal to get a CAMetalLayer from raw-window-handle (#2561) 2024-09-11 18:03:54 +02:00
LICENSE-APACHE Adds LICENSE-* files to crate subdirectories (#1597) 2021-05-31 04:53:05 +07:00
LICENSE-MIT Adds LICENSE-* files to crate subdirectories (#1597) 2021-05-31 04:53:05 +07:00