else
result = timeline_semaphore_create(device, &semaphore->permanent, timeline_value);
if (result != VK_SUCCESS) {
+ vk_object_base_finish(&semaphore->base);
vk_free2(&device->vk.alloc, pAllocator, semaphore);
return result;
}
else
result = timeline_semaphore_create(device, &semaphore->permanent, timeline_value);
if (result != VK_SUCCESS) {
+ vk_object_base_finish(&semaphore->base);
vk_free2(&device->vk.alloc, pAllocator, semaphore);
return result;
}
semaphore->permanent.type = ANV_SEMAPHORE_TYPE_DRM_SYNCOBJ;
semaphore->permanent.syncobj = anv_gem_syncobj_create(device, 0);
if (!semaphore->permanent.syncobj) {
+ vk_object_base_finish(&semaphore->base);
vk_free2(&device->vk.alloc, pAllocator, semaphore);
return vk_error(VK_ERROR_OUT_OF_HOST_MEMORY);
}
}
} else {
assert(!"Unknown handle type");
+ vk_object_base_finish(&semaphore->base);
vk_free2(&device->vk.alloc, pAllocator, semaphore);
return vk_error(VK_ERROR_INVALID_EXTERNAL_HANDLE);
}