venus: add dev->renderer pointer

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

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10437>
This commit is contained in:
Chia-I Wu 2021-04-23 10:15:53 -07:00
parent b54a262421
commit 6db21119b7
4 changed files with 16 additions and 16 deletions

View File

@ -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 =

View File

@ -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;

View File

@ -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);

View File

@ -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;