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:

committed by
Marge Bot

parent
08d13a55e4
commit
be9685e4e7
@@ -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;
|
||||
|
@@ -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,
|
||||
NOUVEAU_WS_BO_LOCAL |
|
||||
NOUVEAU_WS_BO_MAP |
|
||||
NOUVEAU_WS_BO_NO_SHARE);
|
||||
new_bo = nouveau_ws_bo_new_mapped(dev->ws_dev, new_bo_size, 256,
|
||||
NOUVEAU_WS_BO_LOCAL |
|
||||
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);
|
||||
|
Reference in New Issue
Block a user