From: Ruben Ortlam Date: Sun, 9 Nov 2025 15:14:41 +0000 (+0100) Subject: vulkan: fix memory allocations (llama/17122) X-Git-Tag: upstream/0.9.4.395~209 X-Git-Url: https://git.djapps.eu/?a=commitdiff_plain;h=a71f8ff7b399abd99a9b47fac3f246a39cb28517;p=pkg%2Fggml%2Fsources%2Fggml vulkan: fix memory allocations (llama/17122) --- diff --git a/src/ggml-vulkan/ggml-vulkan.cpp b/src/ggml-vulkan/ggml-vulkan.cpp index 46e098a7..7570febe 100644 --- a/src/ggml-vulkan/ggml-vulkan.cpp +++ b/src/ggml-vulkan/ggml-vulkan.cpp @@ -2220,9 +2220,12 @@ static vk_buffer ggml_vk_create_buffer(vk_device& device, size_t size, const std } buf->memory_property_flags = req_flags; + bool done = false; + for (auto mtype_it = memory_type_indices.begin(); mtype_it != memory_type_indices.end(); mtype_it++) { try { buf->device_memory = device->device.allocateMemory({ mem_req.size, *mtype_it, &mem_flags_info }); + done = true; break; } catch (const vk::SystemError& e) { // loop and retry @@ -2233,6 +2236,10 @@ static vk_buffer ggml_vk_create_buffer(vk_device& device, size_t size, const std } } } + + if (done) { + break; + } } if (!buf->device_memory) {