From 99b28673b0f51d68dd06b85e62b28541d1bed57b Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Mon, 9 Aug 2021 11:26:00 -0700 Subject: [PATCH] vkr: use vkr_context_{add,remove}_object Use them for objects that are tracked as non-device objects. These include VkInstance, VkPhysicalDevice, VkDevice, VkQueue, VkDescriptorSet, and VkCommandBuffer. Signed-off-by: Chia-I Wu Reviewed-by: Ryan Neph Reviewed-by: Yiwei Zhang --- src/venus/vkr_common.h | 2 +- src/venus/vkr_device.c | 4 ++-- src/venus/vkr_instance.c | 4 ++-- src/venus/vkr_physical_device.c | 6 +++--- src/venus/vkr_queue.c | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/venus/vkr_common.h b/src/venus/vkr_common.h index 84f0dec..7f46d04 100644 --- a/src/venus/vkr_common.h +++ b/src/venus/vkr_common.h @@ -129,7 +129,7 @@ /* pool objects are tracked by the pool other than the device */ \ list_add(&obj->base.track_head, &pool->vkr_type##s); \ \ - util_hash_table_set_u64(ctx->object_table, obj->base.id, obj); \ + vkr_context_add_object(ctx, &obj->base); \ } \ \ arr.objects_stolen = true; \ diff --git a/src/venus/vkr_device.c b/src/venus/vkr_device.c index 3d63408..223b70d 100644 --- a/src/venus/vkr_device.c +++ b/src/venus/vkr_device.c @@ -223,7 +223,7 @@ vkr_dispatch_vkCreateDevice(struct vn_dispatch_context *dispatch, list_add(&dev->base.track_head, &physical_dev->devices); - util_hash_table_set_u64(ctx->object_table, dev->base.id, dev); + vkr_context_add_object(ctx, &dev->base); } static void @@ -362,7 +362,7 @@ vkr_device_destroy(struct vkr_context *ctx, struct vkr_device *dev) list_del(&dev->base.track_head); - util_hash_table_remove_u64(ctx->object_table, dev->base.id); + vkr_context_remove_object(ctx, &dev->base); } static void diff --git a/src/venus/vkr_instance.c b/src/venus/vkr_instance.c index 71a43e9..4426c25 100644 --- a/src/venus/vkr_instance.c +++ b/src/venus/vkr_instance.c @@ -241,7 +241,7 @@ vkr_dispatch_vkCreateInstance(struct vn_dispatch_context *dispatch, } } - util_hash_table_set_u64(ctx->object_table, instance->base.id, instance); + vkr_context_add_object(ctx, &instance->base); ctx->instance = instance; } @@ -267,7 +267,7 @@ vkr_instance_destroy(struct vkr_context *ctx, struct vkr_instance *instance) free(instance->physical_device_handles); free(instance->physical_devices); - util_hash_table_remove_u64(ctx->object_table, instance->base.id); + vkr_context_remove_object(ctx, &instance->base); } static void diff --git a/src/venus/vkr_physical_device.c b/src/venus/vkr_physical_device.c index 97b953c..82299e6 100644 --- a/src/venus/vkr_physical_device.c +++ b/src/venus/vkr_physical_device.c @@ -22,7 +22,7 @@ vkr_physical_device_destroy(struct vkr_context *ctx, free(physical_dev->extensions); - util_hash_table_remove_u64(ctx->object_table, physical_dev->base.id); + vkr_context_remove_object(ctx, &physical_dev->base); } static VkResult @@ -217,7 +217,7 @@ vkr_dispatch_vkEnumeratePhysicalDevices(struct vn_dispatch_context *dispatch, instance->physical_devices[i] = physical_dev; - util_hash_table_set_u64(ctx->object_table, physical_dev->base.id, physical_dev); + vkr_context_add_object(ctx, &physical_dev->base); } /* remove all physical devices on errors */ if (i < count) { @@ -226,7 +226,7 @@ vkr_dispatch_vkEnumeratePhysicalDevices(struct vn_dispatch_context *dispatch, if (!physical_dev) break; free(physical_dev->extensions); - util_hash_table_remove_u64(ctx->object_table, physical_dev->base.id); + vkr_context_remove_object(ctx, &physical_dev->base); instance->physical_devices[i] = NULL; } } diff --git a/src/venus/vkr_queue.c b/src/venus/vkr_queue.c index 5ecd9c6..f8cf27e 100644 --- a/src/venus/vkr_queue.c +++ b/src/venus/vkr_queue.c @@ -150,7 +150,7 @@ vkr_queue_destroy(struct vkr_context *ctx, struct vkr_queue *queue) list_del(&queue->base.track_head); if (queue->base.id) - util_hash_table_remove_u64(ctx->object_table, queue->base.id); + vkr_context_remove_object(ctx, &queue->base); else free(queue); } @@ -273,7 +273,7 @@ vkr_queue_assign_object_id(struct vkr_context *ctx, queue->base.id = id; - util_hash_table_set_u64(ctx->object_table, queue->base.id, queue); + vkr_context_add_object(ctx, &queue->base); } static struct vkr_queue *