From 95f729a5fc3ffdba671ecb8f26ad8f07f1d12c71 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Thu, 18 Jan 2024 15:36:06 -0800 Subject: [PATCH] renderer/metal: only set wantsLayer for AppKit --- src/renderer/Metal.zig | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/renderer/Metal.zig b/src/renderer/Metal.zig index 5232d0e04..9562e8d3a 100644 --- a/src/renderer/Metal.zig +++ b/src/renderer/Metal.zig @@ -476,9 +476,13 @@ pub fn finalizeSurfaceInit(self: *const Metal, surface: *apprt.Surface) !void { else => @compileError("unsupported apprt for metal"), }; - // Make our view layer-backed with our Metal layer - info.view.setProperty("layer", self.swapchain.value); - info.view.setProperty("wantsLayer", true); + // Make our view layer-backed with our Metal layer. On iOS views are + // always layer backed so we don't need to do this. But on iOS the + // caller MUST be sure to set the layerClass to CAMetalLayer. + if (comptime builtin.os.tag == .macos) { + info.view.setProperty("layer", self.swapchain.value); + info.view.setProperty("wantsLayer", true); + } // Ensure that our metal layer has a content scale set to match the // scale factor of the window. This avoids magnification issues leading