panvk: Use vk_queue

Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Tested-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13003>
This commit is contained in:
Jason Ekstrand
2021-09-23 11:49:21 -05:00
committed by Marge Bot
parent afb3d7a804
commit 9846783001
2 changed files with 10 additions and 4 deletions
+7 -2
View File
@@ -914,7 +914,9 @@ panvk_queue_init(struct panvk_device *device,
{
const struct panfrost_device *pdev = &device->physical_device->pdev;
vk_object_base_init(&device->vk, &queue->base, VK_OBJECT_TYPE_QUEUE);
VkResult result = vk_queue_init(&queue->vk, &device->vk);
if (result != VK_SUCCESS)
return result;
queue->device = device;
queue->queue_family_index = queue_family_index;
queue->flags = flags;
@@ -924,8 +926,10 @@ panvk_queue_init(struct panvk_device *device,
};
int ret = drmIoctl(pdev->fd, DRM_IOCTL_SYNCOBJ_CREATE, &create);
if (ret)
if (ret) {
vk_queue_finish(&queue->vk);
return VK_ERROR_OUT_OF_HOST_MEMORY;
}
queue->sync = create.handle;
return VK_SUCCESS;
@@ -934,6 +938,7 @@ panvk_queue_init(struct panvk_device *device,
static void
panvk_queue_finish(struct panvk_queue *queue)
{
vk_queue_finish(&queue->vk);
}
VkResult
+3 -2
View File
@@ -53,6 +53,7 @@
#include "vk_instance.h"
#include "vk_object.h"
#include "vk_physical_device.h"
#include "vk_queue.h"
#include "wsi_common.h"
#include "drm-uapi/panfrost_drm.h"
@@ -247,7 +248,7 @@ struct panvk_pipeline_cache {
#define PANVK_MAX_QUEUE_FAMILIES 1
struct panvk_queue {
struct vk_object_base base;
struct vk_queue vk;
struct panvk_device *device;
uint32_t queue_family_index;
VkDeviceQueueCreateFlags flags;
@@ -1021,7 +1022,7 @@ VK_DEFINE_HANDLE_CASTS(panvk_cmd_buffer, base, VkCommandBuffer, VK_OBJECT_TYPE_C
VK_DEFINE_HANDLE_CASTS(panvk_device, vk.base, VkDevice, VK_OBJECT_TYPE_DEVICE)
VK_DEFINE_HANDLE_CASTS(panvk_instance, vk.base, VkInstance, VK_OBJECT_TYPE_INSTANCE)
VK_DEFINE_HANDLE_CASTS(panvk_physical_device, vk.base, VkPhysicalDevice, VK_OBJECT_TYPE_PHYSICAL_DEVICE)
VK_DEFINE_HANDLE_CASTS(panvk_queue, base, VkQueue, VK_OBJECT_TYPE_QUEUE)
VK_DEFINE_HANDLE_CASTS(panvk_queue, vk.base, VkQueue, VK_OBJECT_TYPE_QUEUE)
VK_DEFINE_NONDISP_HANDLE_CASTS(panvk_cmd_pool, base, VkCommandPool, VK_OBJECT_TYPE_COMMAND_POOL)
VK_DEFINE_NONDISP_HANDLE_CASTS(panvk_buffer, base, VkBuffer, VK_OBJECT_TYPE_BUFFER)