#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,
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;
if (!device)
return;
+ vk_queue_finish(&device->queue);
vk_device_finish(&device->vk);
vk_free(&device->vk.alloc, device);
}
#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)