]> git.nega.tv - josh/narcissus/commitdiff
narcissus-gpu: Fix slice size mismatch
authorJoshua Simmons <josh@nega.tv>
Sat, 1 Jul 2023 09:13:23 +0000 (11:13 +0200)
committerJoshua Simmons <josh@nega.tv>
Sat, 1 Jul 2023 09:13:23 +0000 (11:13 +0200)
It's possible that returned memory is larger than the requested size, so
we need to truncate the destination slice to match the input data.

libs/narcissus-gpu/src/backend/vulkan/mod.rs

index 7120d2d673afa6535164f0aba392cc8e07a78874..c55d4354a8da081d1c5cdd74780a6e286638c16c 100644 (file)
@@ -1673,7 +1673,7 @@ impl VulkanDevice {
             unsafe {
                 let dst =
                     std::slice::from_raw_parts_mut(memory.mapped_ptr(), memory.size().widen());
-                dst.copy_from_slice(initial_data);
+                dst[..desc.size].copy_from_slice(initial_data);
             }
         }