From b704a0542f4eebdb7b917b46827d7eee0ce73fa0 Mon Sep 17 00:00:00 2001 From: Dzmitry Malyshau Date: Sat, 3 Jul 2021 22:25:59 -0400 Subject: [PATCH] Fix memory leak in acquiring encoders --- wgpu-core/src/device/mod.rs | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/wgpu-core/src/device/mod.rs b/wgpu-core/src/device/mod.rs index 8c1db66e8c..a497288ed6 100644 --- a/wgpu-core/src/device/mod.rs +++ b/wgpu-core/src/device/mod.rs @@ -3618,16 +3618,14 @@ impl Global { value: id::Valid(device_id), ref_count: device.life_guard.add_ref(), }; - - let hal_desc = hal::CommandEncoderDescriptor { - label: None, - queue: &device.queue, - }; - let encoder = match unsafe { device.raw.create_command_encoder(&hal_desc) } { + let encoder = match device + .command_allocator + .lock() + .acquire_encoder(&device.raw, &device.queue) + { Ok(raw) => raw, Err(_) => break DeviceError::OutOfMemory, }; - let command_buffer = command::CommandBuffer::new( encoder, dev_stored,