renderer/metal: release some of our shader initialization objects

This commit is contained in:
Mitchell Hashimoto
2023-11-14 18:52:22 -08:00
parent 3095dce685
commit 28246a80b8

View File

@ -348,6 +348,7 @@ fn initCellPipeline(device: objc.Object, library: objc.Object) !objc.Object {
break :vertex_desc desc; break :vertex_desc desc;
}; };
defer vertex_desc.msgSend(void, objc.sel("release"), .{});
// Create our descriptor // Create our descriptor
const desc = init: { 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"), .{}); const id_init = id_alloc.msgSend(objc.Object, objc.sel("init"), .{});
break :init id_init; break :init id_init;
}; };
defer desc.msgSend(void, objc.sel("release"), .{});
// Set our properties // Set our properties
desc.setProperty("vertexFunction", func_vert); desc.setProperty("vertexFunction", func_vert);
@ -393,6 +395,7 @@ fn initCellPipeline(device: objc.Object, library: objc.Object) !objc.Object {
.{ desc, &err }, .{ desc, &err },
); );
try checkError(err); try checkError(err);
errdefer pipeline_state.msgSend(void, objc.sel("release"), .{});
return pipeline_state; return pipeline_state;
} }