Skip to content

Commit 6a308cb

Browse files
committed
vulkan : improve ggml_vk_create_buffer error handling
1 parent 4c42f93 commit 6a308cb

File tree

1 file changed

+1
-4
lines changed

1 file changed

+1
-4
lines changed

ggml/src/ggml-vulkan.cpp

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1035,7 +1035,6 @@ static vk_buffer ggml_vk_create_buffer(vk_device& device, size_t size, vk::Memor
10351035
return buf;
10361036
}
10371037

1038-
buf->size = size;
10391038
vk::BufferCreateInfo buffer_create_info{
10401039
vk::BufferCreateFlags(),
10411040
size,
@@ -1063,7 +1062,6 @@ static vk_buffer ggml_vk_create_buffer(vk_device& device, size_t size, vk::Memor
10631062

10641063
if (memory_type_index == UINT32_MAX) {
10651064
device->device.destroyBuffer(buf->buffer);
1066-
buf->size = 0;
10671065
throw vk::OutOfDeviceMemoryError("No suitable memory type found");
10681066
}
10691067

@@ -1080,13 +1078,11 @@ static vk_buffer ggml_vk_create_buffer(vk_device& device, size_t size, vk::Memor
10801078
}
10811079
catch (const vk::SystemError& e) {
10821080
device->device.destroyBuffer(buf->buffer);
1083-
buf->size = 0;
10841081
throw e;
10851082
}
10861083
} else {
10871084
// Out of Host/Device memory, clean up buffer
10881085
device->device.destroyBuffer(buf->buffer);
1089-
buf->size = 0;
10901086
throw e;
10911087
}
10921088
}
@@ -1099,6 +1095,7 @@ static vk_buffer ggml_vk_create_buffer(vk_device& device, size_t size, vk::Memor
10991095
device->device.bindBufferMemory(buf->buffer, buf->device_memory, 0);
11001096

11011097
buf->device = device;
1098+
buf->size = size;
11021099

11031100
#ifdef GGML_VULKAN_MEMORY_DEBUG
11041101
device->memory_logger->log_allocation(buf, size);

0 commit comments

Comments
 (0)