remove event pending stage

This commit is contained in:
Ruben Ortlam
2026-03-15 08:59:39 +01:00
parent 937a425600
commit 0776a6a039

View File

@@ -961,7 +961,6 @@ struct vk_semaphore {
// and would lead to validation errors.
struct vk_event {
std::vector<vk::Event> events_free; // Events available for reuse
std::vector<vk::Event> events_pending; // Events that may still be waited on
std::vector<vk::Event> events_submitted; // Events that are fully submitted and can be reused on next synchronize
vk::Event event;
bool has_event;
@@ -14925,11 +14924,8 @@ static void ggml_backend_vk_event_record(ggml_backend_t backend, ggml_backend_ev
auto* cmd_buf = compute_ctx->s->buffer; // retrieve pointer before it gets reset
if (vkev->has_event) {
// Move pending to submitted
vkev->events_submitted.insert(vkev->events_submitted.end(), vkev->events_pending.begin(), vkev->events_pending.end());
vkev->events_pending.clear();
// Move existing event into pending
vkev->events_pending.push_back(vkev->event);
// Move existing event into submitted
vkev->events_submitted.push_back(vkev->event);
}
// Grab the next event and record it, create one if necessary
@@ -15787,9 +15783,6 @@ static void ggml_backend_vk_device_event_free(ggml_backend_dev_t dev, ggml_backe
for (auto& event : vkev->events_free) {
device->device.destroyEvent(event);
}
for (auto& event : vkev->events_pending) {
device->device.destroyEvent(event);
}
for (auto& event : vkev->events_submitted) {
device->device.destroyEvent(event);
}