diff options
author | Jason Ekstrand <jason@jlekstrand.net> | 2020-04-21 12:33:16 -0500 |
---|---|---|
committer | Marge Bot <eric+marge@anholt.net> | 2020-05-04 14:06:27 +0000 |
commit | 682c81bdfb7ea28efccea1e8cbfeb7cfc67d02b8 (patch) | |
tree | d80c4655ed70604958166cbbd6187a875b834391 /src/vulkan | |
parent | 369703774cfa304f4881e0e379eb02ed98933dde (diff) |
vulkan,anv: Add a base object struct type
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Kristian H. Kristensen <hoegsberg@google.com>
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4690>
Diffstat (limited to 'src/vulkan')
-rw-r--r-- | src/vulkan/util/vk_object.c | 16 | ||||
-rw-r--r-- | src/vulkan/util/vk_object.h | 14 |
2 files changed, 28 insertions, 2 deletions
diff --git a/src/vulkan/util/vk_object.c b/src/vulkan/util/vk_object.c index 77258ab6879..d6965158914 100644 --- a/src/vulkan/util/vk_object.c +++ b/src/vulkan/util/vk_object.c @@ -24,12 +24,25 @@ #include "vk_object.h" void +vk_object_base_init(UNUSED struct vk_device *device, + struct vk_object_base *base, + UNUSED VkObjectType obj_type) +{ + base->_loader_data.loaderMagic = ICD_LOADER_MAGIC; +} + +void +vk_object_base_finish(UNUSED struct vk_object_base *base) +{ +} + +void vk_device_init(struct vk_device *device, UNUSED const VkDeviceCreateInfo *pCreateInfo, const VkAllocationCallbacks *instance_alloc, const VkAllocationCallbacks *device_alloc) { - device->_loader_data.loaderMagic = ICD_LOADER_MAGIC; + vk_object_base_init(device, &device->base, VK_OBJECT_TYPE_DEVICE); if (device_alloc) device->alloc = *device_alloc; else @@ -39,4 +52,5 @@ vk_device_init(struct vk_device *device, void vk_device_finish(UNUSED struct vk_device *device) { + vk_object_base_finish(&device->base); } diff --git a/src/vulkan/util/vk_object.h b/src/vulkan/util/vk_object.h index 8fc42b862da..c2b3926133e 100644 --- a/src/vulkan/util/vk_object.h +++ b/src/vulkan/util/vk_object.h @@ -32,8 +32,20 @@ extern "C" { #endif -struct vk_device { +struct vk_device; + +struct vk_object_base { VK_LOADER_DATA _loader_data; +}; + +void vk_object_base_init(UNUSED struct vk_device *device, + struct vk_object_base *base, + UNUSED VkObjectType obj_type); +void vk_object_base_finish(UNUSED struct vk_object_base *base); + + +struct vk_device { + struct vk_object_base base; VkAllocationCallbacks alloc; }; |