Module: Mesa
Branch: main
Commit: 9d40877f72b0cb3fe233918d1da72c021a67e6cb
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=9d40877f72b0cb3fe233918d1da72c021a67e6cb

Author: Yevhenii Kolesnikov <[email protected]>
Date:   Tue Apr  6 15:32:55 2021 +0300

lavapipe: Use a common vk_queue structure

Switch to using common structure.

Signed-off-by: Yevhenii Kolesnikov <[email protected]>
Reviewed-By: Mike Blumenkrantz <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13000>

---

 src/gallium/frontends/lavapipe/lvp_device.c  | 7 ++++++-
 src/gallium/frontends/lavapipe/lvp_private.h | 5 +++--
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/src/gallium/frontends/lavapipe/lvp_device.c 
b/src/gallium/frontends/lavapipe/lvp_device.c
index cf878ba82b3..9644c71823c 100644
--- a/src/gallium/frontends/lavapipe/lvp_device.c
+++ b/src/gallium/frontends/lavapipe/lvp_device.c
@@ -1410,6 +1410,10 @@ queue_thread(void *data, void *gdata, int thread_index)
 static VkResult
 lvp_queue_init(struct lvp_device *device, struct lvp_queue *queue)
 {
+   VkResult result = vk_queue_init(&queue->vk, &device->vk);
+   if (result != VK_SUCCESS)
+      return result;
+
    queue->device = device;
 
    simple_mtx_init(&queue->last_lock, mtx_plain);
@@ -1420,7 +1424,6 @@ lvp_queue_init(struct lvp_device *device, struct 
lvp_queue *queue)
    util_queue_init(&queue->queue, "lavapipe", 8, 1, 
UTIL_QUEUE_INIT_RESIZE_IF_FULL, device);
    p_atomic_set(&queue->count, 0);
 
-   vk_object_base_init(&device->vk, &queue->base, VK_OBJECT_TYPE_QUEUE);
    return VK_SUCCESS;
 }
 
@@ -1433,6 +1436,8 @@ lvp_queue_finish(struct lvp_queue *queue)
    cso_destroy_context(queue->cso);
    queue->ctx->destroy(queue->ctx);
    simple_mtx_destroy(&queue->last_lock);
+
+   vk_queue_finish(&queue->vk);
 }
 
 VKAPI_ATTR VkResult VKAPI_CALL lvp_CreateDevice(
diff --git a/src/gallium/frontends/lavapipe/lvp_private.h 
b/src/gallium/frontends/lavapipe/lvp_private.h
index 9d9f9ab52fb..c94def398df 100644
--- a/src/gallium/frontends/lavapipe/lvp_private.h
+++ b/src/gallium/frontends/lavapipe/lvp_private.h
@@ -61,6 +61,7 @@ typedef uint32_t xcb_window_t;
 #include "vk_format.h"
 #include "vk_cmd_queue.h"
 #include "vk_command_buffer.h"
+#include "vk_queue.h"
 
 #include "wsi_common.h"
 
@@ -165,7 +166,7 @@ bool lvp_physical_device_extension_supported(struct 
lvp_physical_device *dev,
                                               const char *name);
 
 struct lvp_queue {
-   struct vk_object_base base;
+   struct vk_queue vk;
    VkDeviceQueueCreateFlags flags;
    struct lvp_device *                         device;
    struct pipe_context *ctx;
@@ -614,7 +615,7 @@ VK_DEFINE_HANDLE_CASTS(lvp_device, vk.base, VkDevice, 
VK_OBJECT_TYPE_DEVICE)
 VK_DEFINE_HANDLE_CASTS(lvp_instance, vk.base, VkInstance, 
VK_OBJECT_TYPE_INSTANCE)
 VK_DEFINE_HANDLE_CASTS(lvp_physical_device, vk.base, VkPhysicalDevice,
                        VK_OBJECT_TYPE_PHYSICAL_DEVICE)
-VK_DEFINE_HANDLE_CASTS(lvp_queue, base, VkQueue, VK_OBJECT_TYPE_QUEUE)
+VK_DEFINE_HANDLE_CASTS(lvp_queue, vk.base, VkQueue, VK_OBJECT_TYPE_QUEUE)
 
    VK_DEFINE_NONDISP_HANDLE_CASTS(lvp_cmd_pool, base,VkCommandPool,
                                   VK_OBJECT_TYPE_COMMAND_POOL)

Reply via email to