turnip: minor tu_queue fixes related to vk_base_object
authorAlejandro Piñeiro <apinheiro@igalia.com>
Fri, 13 Nov 2020 10:20:08 +0000 (11:20 +0100)
committerMarge Bot <eric+marge@anholt.net>
Wed, 18 Nov 2020 00:58:29 +0000 (00:58 +0000)
Include:
   * Missing call to tu_queue_finish
   * Use the proper free method for device->queues

Fixes 5d3fdbc52bf8bee6f0acfd55c87b8d280908b559

Tested-by: Hyunjun Ko <zzoon@igalia.com>
Reviewed-by: Hyunjun Ko <zzoon@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7663>

src/freedreno/vulkan/tu_device.c

index bb7f06f..69b0f04 100644 (file)
@@ -951,6 +951,7 @@ tu_queue_init(struct tu_device *device,
 static void
 tu_queue_finish(struct tu_queue *queue)
 {
+   vk_object_base_finish(&queue->base);
    if (queue->fence >= 0)
       close(queue->fence);
    tu_drm_submitqueue_close(queue->device, queue->msm_queue_id);
@@ -1144,7 +1145,7 @@ fail_queues:
       for (unsigned q = 0; q < device->queue_count[i]; q++)
          tu_queue_finish(&device->queues[i][q]);
       if (device->queue_count[i])
-         vk_object_free(&device->vk, NULL, device->queues[i]);
+         vk_free(&device->vk.alloc, device->queues[i]);
    }
 
    vk_free(&device->vk.alloc, device);
@@ -1163,7 +1164,7 @@ tu_DestroyDevice(VkDevice _device, const VkAllocationCallbacks *pAllocator)
       for (unsigned q = 0; q < device->queue_count[i]; q++)
          tu_queue_finish(&device->queues[i][q]);
       if (device->queue_count[i])
-         vk_object_free(&device->vk, NULL, device->queues[i]);
+         vk_free(&device->vk.alloc, device->queues[i]);
    }
 
    for (unsigned i = 0; i < ARRAY_SIZE(device->scratch_bos); i++) {