From e727fd90180bb1175330f3eb9eb64a8a70998f62 Mon Sep 17 00:00:00 2001 From: Patrick Walton Date: Mon, 24 Jun 2019 11:45:44 -0700 Subject: [PATCH] Try to work around #199 --- metal/src/lib.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/metal/src/lib.rs b/metal/src/lib.rs index 13f157bc..41a11c80 100644 --- a/metal/src/lib.rs +++ b/metal/src/lib.rs @@ -868,6 +868,11 @@ impl MetalDevice { render_command_encoder.use_resource(&data_buffer, MTLResourceUsage::Read); + // Metal expects the data buffer to remain live. (Issue #199.) + // FIXME(pcwalton): When do we deallocate this? What are the expected + // lifetime semantics? + mem::forget(data_buffer); + if let Some(vertex_argument_buffer) = vertex_argument_buffer { let range = NSRange::new(0, vertex_argument_buffer.length()); vertex_argument_buffer.did_modify_range(range);