Fix memory leak in acquiring encoders

This commit is contained in:
Dzmitry Malyshau
2021-07-03 22:25:59 -04:00
parent 762cdb3953
commit b704a0542f

View File

@@ -3618,16 +3618,14 @@ impl<G: GlobalIdentityHandlerFactory> Global<G> {
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,