diff --git a/src/venus/vkr_context.c b/src/venus/vkr_context.c index 59c98bd..2b8a1c9 100644 --- a/src/venus/vkr_context.c +++ b/src/venus/vkr_context.c @@ -504,7 +504,8 @@ vkr_context_destroy(struct virgl_context *base) } if (ctx->instance) { - vkr_log("destroying context with a valid instance"); + vkr_log("destroying context %d (%s) with a valid instance", ctx->base.ctx_id, + ctx->debug_name); vkr_instance_destroy(ctx, ctx->instance); } diff --git a/src/venus/vkr_device.c b/src/venus/vkr_device.c index e96fd50..65fe172 100644 --- a/src/venus/vkr_device.c +++ b/src/venus/vkr_device.c @@ -336,13 +336,15 @@ void vkr_device_destroy(struct vkr_context *ctx, struct vkr_device *dev) { VkDevice device = dev->base.handle.device; - VkResult ret = vkDeviceWaitIdle(device); - if (ret != VK_SUCCESS) - vkr_log("vkDeviceWaitIdle(%p) failed(%d)", dev, (int32_t)ret); - if (!LIST_IS_EMPTY(&dev->objects)) { + if (!LIST_IS_EMPTY(&dev->objects)) vkr_log("destroying device with valid objects"); + VkResult result = vkDeviceWaitIdle(device); + if (result != VK_SUCCESS) + vkr_log("vkDeviceWaitIdle(%p) failed(%d)", dev, (int32_t)result); + + if (!LIST_IS_EMPTY(&dev->objects)) { struct vkr_object *obj, *obj_tmp; LIST_FOR_EACH_ENTRY_SAFE (obj, obj_tmp, &dev->objects, track_head) vkr_device_object_destroy(ctx, dev, obj);