nvk: Use nouveau_ws_bo_new_mapped() for descriptors

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27599>
This commit is contained in:
Faith Ekstrand
2024-02-13 11:45:50 -06:00
committed by Marge Bot
parent 08d13a55e4
commit be9685e4e7
2 changed files with 9 additions and 18 deletions

View File

@@ -436,17 +436,14 @@ nvk_CreateDescriptorPool(VkDevice _device,
return vk_error(dev, VK_ERROR_OUT_OF_HOST_MEMORY);
if (bo_size) {
uint32_t flags = NOUVEAU_WS_BO_GART | NOUVEAU_WS_BO_MAP | NOUVEAU_WS_BO_NO_SHARE;
pool->bo = nouveau_ws_bo_new(dev->ws_dev, bo_size, 0, flags);
uint32_t flags = NOUVEAU_WS_BO_GART | NOUVEAU_WS_BO_NO_SHARE;
pool->bo = nouveau_ws_bo_new_mapped(dev->ws_dev, bo_size, 0, flags,
NOUVEAU_WS_BO_WR,
(void **)&pool->mapped_ptr);
if (!pool->bo) {
nvk_destroy_descriptor_pool(dev, pAllocator, pool);
return vk_error(dev, VK_ERROR_OUT_OF_DEVICE_MEMORY);
}
pool->mapped_ptr = nouveau_ws_bo_map(pool->bo, NOUVEAU_WS_BO_WR);
if (!pool->mapped_ptr) {
nvk_destroy_descriptor_pool(dev, pAllocator, pool);
return vk_error(dev, VK_ERROR_OUT_OF_DEVICE_MEMORY);
}
}
pool->size = bo_size;

View File

@@ -21,22 +21,16 @@ nvk_descriptor_table_grow_locked(struct nvk_device *dev,
assert(new_alloc > table->alloc && new_alloc <= table->max_alloc);
const uint32_t new_bo_size = new_alloc * table->desc_size;
new_bo = nouveau_ws_bo_new(dev->ws_dev, new_bo_size, 256,
new_bo = nouveau_ws_bo_new_mapped(dev->ws_dev, new_bo_size, 256,
NOUVEAU_WS_BO_LOCAL |
NOUVEAU_WS_BO_MAP |
NOUVEAU_WS_BO_NO_SHARE);
NOUVEAU_WS_BO_NO_SHARE,
NOUVEAU_WS_BO_WR,
&new_map);
if (new_bo == NULL) {
return vk_errorf(dev, VK_ERROR_OUT_OF_DEVICE_MEMORY,
"Failed to allocate the image descriptor table");
}
new_map = nouveau_ws_bo_map(new_bo, NOUVEAU_WS_BO_WR);
if (new_map == NULL) {
nouveau_ws_bo_destroy(new_bo);
return vk_errorf(dev, VK_ERROR_OUT_OF_DEVICE_MEMORY,
"Failed to map the image descriptor table");
}
if (table->bo) {
assert(new_bo_size >= table->bo->size);
memcpy(new_map, table->map, table->bo->size);