From 28246a80b8180d14e393ea808ad06b5186f58f75 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Tue, 14 Nov 2023 18:52:22 -0800 Subject: [PATCH] renderer/metal: release some of our shader initialization objects --- src/renderer/metal/shaders.zig | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/renderer/metal/shaders.zig b/src/renderer/metal/shaders.zig index ba55eefb7..05b9993b4 100644 --- a/src/renderer/metal/shaders.zig +++ b/src/renderer/metal/shaders.zig @@ -348,6 +348,7 @@ fn initCellPipeline(device: objc.Object, library: objc.Object) !objc.Object { break :vertex_desc desc; }; + defer vertex_desc.msgSend(void, objc.sel("release"), .{}); // Create our descriptor const desc = init: { @@ -356,6 +357,7 @@ fn initCellPipeline(device: objc.Object, library: objc.Object) !objc.Object { const id_init = id_alloc.msgSend(objc.Object, objc.sel("init"), .{}); break :init id_init; }; + defer desc.msgSend(void, objc.sel("release"), .{}); // Set our properties desc.setProperty("vertexFunction", func_vert); @@ -393,6 +395,7 @@ fn initCellPipeline(device: objc.Object, library: objc.Object) !objc.Object { .{ desc, &err }, ); try checkError(err); + errdefer pipeline_state.msgSend(void, objc.sel("release"), .{}); return pipeline_state; }