]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/commitdiff
vulkan: fix memory allocations (#17122)
authorRuben Ortlam <redacted>
Sun, 9 Nov 2025 15:14:41 +0000 (16:14 +0100)
committerGitHub <redacted>
Sun, 9 Nov 2025 15:14:41 +0000 (16:14 +0100)
ggml/src/ggml-vulkan/ggml-vulkan.cpp

index 46e098a7ffb1126de857e335cca8804f7548ea36..7570febeaada39d2318b9dbf499f981104efcb11 100644 (file)
@@ -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) {