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