Mesa (master): venus: add dev->renderer pointer

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Apr 28 20:49:12 UTC 2021


Module: Mesa
Branch: master
Commit: 6db21119b7c637b5bb79bf5c24b6ba79ac5b02f6
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6db21119b7c637b5bb79bf5c24b6ba79ac5b02f6

Author: Chia-I Wu <olvaffe at gmail.com>
Date:   Fri Apr 23 10:15:53 2021 -0700

venus: add dev->renderer pointer

dev->instance->renderer is slower to type and to follow.

Signed-off-by: Chia-I Wu <olvaffe at gmail.com>
Reviewed-by: Yiwei Zhang <zzyiwei at chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10437>

---

 src/virtio/vulkan/vn_device.c        |  1 +
 src/virtio/vulkan/vn_device.h        |  1 +
 src/virtio/vulkan/vn_device_memory.c | 21 ++++++++++-----------
 src/virtio/vulkan/vn_queue.c         |  9 ++++-----
 4 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/src/virtio/vulkan/vn_device.c b/src/virtio/vulkan/vn_device.c
index 642c3f9d0a2..d5ca2341b5f 100644
--- a/src/virtio/vulkan/vn_device.c
+++ b/src/virtio/vulkan/vn_device.c
@@ -3015,6 +3015,7 @@ vn_CreateDevice(VkPhysicalDevice physicalDevice,
 
    dev->instance = instance;
    dev->physical_device = physical_dev;
+   dev->renderer = instance->renderer;
 
    VkDeviceCreateInfo local_create_info;
    pCreateInfo =
diff --git a/src/virtio/vulkan/vn_device.h b/src/virtio/vulkan/vn_device.h
index e73cae0c612..c4c9b9f24c7 100644
--- a/src/virtio/vulkan/vn_device.h
+++ b/src/virtio/vulkan/vn_device.h
@@ -102,6 +102,7 @@ struct vn_device {
 
    struct vn_instance *instance;
    struct vn_physical_device *physical_device;
+   struct vn_renderer *renderer;
 
    struct vn_queue *queues;
    uint32_t queue_count;
diff --git a/src/virtio/vulkan/vn_device_memory.c b/src/virtio/vulkan/vn_device_memory.c
index 29dc4461907..c29d0739978 100644
--- a/src/virtio/vulkan/vn_device_memory.c
+++ b/src/virtio/vulkan/vn_device_memory.c
@@ -51,9 +51,9 @@ vn_device_memory_simple_alloc(struct vn_device *dev,
    const VkPhysicalDeviceMemoryProperties *mem_props =
       &dev->physical_device->memory_properties.memoryProperties;
    const VkMemoryType *mem_type = &mem_props->memoryTypes[mem_type_index];
-   result = vn_renderer_bo_create_gpu(dev->instance->renderer, mem->size,
-                                      mem->base.id, mem_type->propertyFlags,
-                                      0, &mem->base_bo);
+   result =
+      vn_renderer_bo_create_gpu(dev->renderer, mem->size, mem->base.id,
+                                mem_type->propertyFlags, 0, &mem->base_bo);
    if (result != VK_SUCCESS) {
       vn_async_vkFreeMemory(dev->instance, vn_device_to_handle(dev),
                             mem_handle, NULL);
@@ -216,9 +216,9 @@ vn_AllocateMemory(VkDevice device,
 
       struct vn_renderer_bo *bo;
       result = vn_renderer_bo_create_dmabuf(
-         dev->instance->renderer, pAllocateInfo->allocationSize,
-         import_info->fd, mem_type->propertyFlags,
-         export_info ? export_info->handleTypes : 0, &bo);
+         dev->renderer, pAllocateInfo->allocationSize, import_info->fd,
+         mem_type->propertyFlags, export_info ? export_info->handleTypes : 0,
+         &bo);
       if (result != VK_SUCCESS) {
          vk_free(alloc, mem);
          return vn_error(dev->instance, result);
@@ -267,9 +267,8 @@ vn_AllocateMemory(VkDevice device,
 
    if (need_bo && !mem->base_bo) {
       result = vn_renderer_bo_create_gpu(
-         dev->instance->renderer, mem->size, mem->base.id,
-         mem_type->propertyFlags, export_info ? export_info->handleTypes : 0,
-         &mem->base_bo);
+         dev->renderer, mem->size, mem->base.id, mem_type->propertyFlags,
+         export_info ? export_info->handleTypes : 0, &mem->base_bo);
       if (result != VK_SUCCESS) {
          vn_async_vkFreeMemory(dev->instance, device, mem_handle, NULL);
          vk_free(alloc, mem);
@@ -433,8 +432,8 @@ vn_GetMemoryFdPropertiesKHR(VkDevice device,
       return vn_error(dev->instance, VK_ERROR_INVALID_EXTERNAL_HANDLE);
 
    struct vn_renderer_bo *bo;
-   VkResult result = vn_renderer_bo_create_dmabuf(dev->instance->renderer, 0,
-                                                  fd, 0, handleType, &bo);
+   VkResult result =
+      vn_renderer_bo_create_dmabuf(dev->renderer, 0, fd, 0, handleType, &bo);
    if (result != VK_SUCCESS)
       return vn_error(dev->instance, result);
    vn_instance_roundtrip(dev->instance);
diff --git a/src/virtio/vulkan/vn_queue.c b/src/virtio/vulkan/vn_queue.c
index 7b59e3f3599..610c95db698 100644
--- a/src/virtio/vulkan/vn_queue.c
+++ b/src/virtio/vulkan/vn_queue.c
@@ -365,11 +365,10 @@ vn_QueueSubmit(VkQueue _queue,
    if (wsi_mem) {
       /* XXX this is always false and kills the performance */
       if (dev->instance->renderer_info.has_implicit_fencing) {
-         vn_renderer_submit(dev->instance->renderer,
-                            &(const struct vn_renderer_submit){
-                               .bos = &wsi_mem->base_bo,
-                               .bo_count = 1,
-                            });
+         vn_renderer_submit(dev->renderer, &(const struct vn_renderer_submit){
+                                              .bos = &wsi_mem->base_bo,
+                                              .bo_count = 1,
+                                           });
       } else {
          if (VN_DEBUG(WSI)) {
             static uint32_t ratelimit;



More information about the mesa-commit mailing list