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.
* Use workspace dependencies
* Update CI workflow to account for the two workspaces
* Make the tables in the root workspace a bit nicer to look at
* Use workspace package version
* Remove workspace package version
* Make winit a workspace dependency as well
* Fix iOS, use similar approach for metal layer as wgpu
* Use correct return type
* Handle ios resizing
* Add changelog notes
* Fix typo
* Update raw-window-handle
* Ensure mac changes correspond master version
* Feature: Create a Surface from a RawWindowHandle
* Comment on the new features
* Updated changelog
* Corrected feature name
* Compiler error corrections
* Empty commit for CI
Co-authored-by: Antonino Siena <a.siena@gmx.de>
* Version change
* Allowed surface creation with winit >= 0.20
* Latest winit version
* Migrate to latest winit
* Migrated all examples to the latest winit version
* Version increment
* Formatting change
* Removed trailing white space
* Corrected method calls
* Missing _ in OSX methods
* Minor version change
* Minor version change
This is kind of a delayed emergency release to address an issue where
some Linux distributions (Arch, Void and perhaps others) are unable to
build any projects depending on vulkano-shaders due to
google/shaderc-rs#58. This is resolved in shaderc 0.6 and in turn will
be resolved in vulkano 0.14 thanks to #1226.
See the CHANGELOG-VULKANO.md for more details on the release.