Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

macOS/iOS: Use raw-window-metal to get a CAMetalLayer from raw-window-handle #2561

Merged
merged 1 commit into from
Sep 11, 2024

Commits on Sep 11, 2024

  1. Use raw-window-metal to get a CAMetalLayer from raw-window-handle

    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.
    madsmtm committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    5e8b57a View commit details
    Browse the repository at this point in the history