From b1a7baf394fa2c51d951c63743cb562cf3c04191 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Sun, 5 Mar 2023 10:00:05 -0800 Subject: [PATCH] metal: do not use setPurgeableState on MTLTexture/Buffer The Metal system automatically will free hardware resources when no other references exist (I believe) and this causes a crash if you close a window while a render is in-flight. --- src/renderer/Metal.zig | 1 - 1 file changed, 1 deletion(-) diff --git a/src/renderer/Metal.zig b/src/renderer/Metal.zig index fd8082750..085a268eb 100644 --- a/src/renderer/Metal.zig +++ b/src/renderer/Metal.zig @@ -1365,7 +1365,6 @@ fn initAtlasTexture(device: objc.Object, atlas: *const font.Atlas) !objc.Object /// Deinitialize a metal resource (buffer, texture, etc.) and free the /// memory associated with it. fn deinitMTLResource(obj: objc.Object) void { - obj.msgSend(void, objc.sel("setPurgeableState:"), .{@enumToInt(MTLPurgeableState.empty)}); obj.msgSend(void, objc.sel("release"), .{}); }