Skip to content

Commit 3cdb5ed

Browse files
committed
Don't needlessly replace GPU device buffers
1 parent e78c82c commit 3cdb5ed

1 file changed

Lines changed: 7 additions & 5 deletions

File tree

src/gpu.rs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -258,11 +258,13 @@ pub trait GpuDeviceBufferUtils<T> {
258258

259259
impl<T> GpuDeviceBufferUtils<T> for Option<GpuDeviceBuffer<T>> {
260260
fn init(&mut self, length: usize, access_mode: GpuBufferAccessMode, name: &'static str) -> &mut GpuDeviceBuffer<T> {
261-
self.replace(
262-
GPU.create_device_buffer(length, access_mode)
263-
.with_context(|| format!("failed to create GPU device buffer {name}"))
264-
.unwrap(),
265-
);
261+
if self.as_ref().is_none_or(|b| b.len() != length) {
262+
self.replace(
263+
GPU.create_device_buffer(length, access_mode)
264+
.with_context(|| format!("failed to create GPU device buffer {name}"))
265+
.unwrap(),
266+
);
267+
}
266268
self.as_mut().unwrap()
267269
}
268270

0 commit comments

Comments
 (0)