From a0fce9c08e9edb0bb92eee078044e54d3556f907 Mon Sep 17 00:00:00 2001 From: Florian RICHER Date: Tue, 27 May 2025 22:32:44 +0200 Subject: [PATCH] texture: Avoid clone image --- src/core/render/texture.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/core/render/texture.rs b/src/core/render/texture.rs index 680ddbf..17e9247 100644 --- a/src/core/render/texture.rs +++ b/src/core/render/texture.rs @@ -54,7 +54,7 @@ impl Texture { let image_data = image.to_rgba8(); let image_dimensions = image_data.dimensions(); - let upload_buffer = Buffer::from_iter( + let upload_buffer = Buffer::new_slice::( memory_allocator.clone(), BufferCreateInfo { usage: BufferUsage::TRANSFER_SRC, @@ -65,9 +65,14 @@ impl Texture { | MemoryTypeFilter::HOST_SEQUENTIAL_WRITE, ..Default::default() }, - image_data.to_vec(), + image_data.len() as u64, )?; + { + let buffer_data = &mut *upload_buffer.write()?; + buffer_data.copy_from_slice(image_data.as_bytes()); + } + let image = Image::new( memory_allocator.clone(), ImageCreateInfo {