From: Dave Airlie Date: Mon, 30 May 2022 23:36:42 +0000 (+1000) Subject: nvk: Add initial queue X-Git-Tag: upstream/23.3.3~4600 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f190398049643c28e9b54e8d7f572b598680d4cb;p=platform%2Fupstream%2Fmesa.git nvk: Add initial queue Part-of: --- diff --git a/src/nouveau/vulkan/nvk_device.c b/src/nouveau/vulkan/nvk_device.c index 74afc2a..4d0b7cd 100644 --- a/src/nouveau/vulkan/nvk_device.c +++ b/src/nouveau/vulkan/nvk_device.c @@ -5,6 +5,12 @@ #include "vulkan/wsi/wsi_common.h" +static VkResult +nvk_queue_submit(struct vk_queue *vqueue, struct vk_queue_submit *submission) +{ + return VK_SUCCESS; +} + VKAPI_ATTR VkResult VKAPI_CALL nvk_CreateDevice(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo *pCreateInfo, @@ -32,12 +38,20 @@ nvk_CreateDevice(VkPhysicalDevice physicalDevice, if (result != VK_SUCCESS) goto fail_alloc; + result = vk_queue_init(&device->queue, &device->vk, &pCreateInfo->pQueueCreateInfos[0], 0); + if (result != VK_SUCCESS) + goto fail_init; + + device->queue.driver_submit = nvk_queue_submit; + device->pdev = physical_device; *pDevice = nvk_device_to_handle(device); return VK_SUCCESS; + fail_init: + vk_device_finish(&device->vk); fail_alloc: vk_free(&device->vk.alloc, device); return result; @@ -51,6 +65,7 @@ nvk_DestroyDevice(VkDevice _device, const VkAllocationCallbacks *pAllocator) if (!device) return; + vk_queue_finish(&device->queue); vk_device_finish(&device->vk); vk_free(&device->vk.alloc, device); } diff --git a/src/nouveau/vulkan/nvk_device.h b/src/nouveau/vulkan/nvk_device.h index 5f1d47f..d080f9c 100644 --- a/src/nouveau/vulkan/nvk_device.h +++ b/src/nouveau/vulkan/nvk_device.h @@ -4,11 +4,14 @@ #include "nvk_private.h" #include "vulkan/runtime/vk_device.h" +#include "vulkan/runtime/vk_queue.h" struct nvk_physical_device; struct nvk_device { struct vk_device vk; struct nvk_physical_device *pdev; + + struct vk_queue queue; }; VK_DEFINE_HANDLE_CASTS(nvk_device, vk.base, VkDevice, VK_OBJECT_TYPE_DEVICE)