anv: Use vk_object_alloc/free
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10123>
This commit is contained in:

committed by
Marge Bot

parent
22478bb0e4
commit
c43109c07b
@@ -385,13 +385,10 @@ VkResult anv_CreateDescriptorSetLayout(
|
||||
VK_MULTIALLOC_DECL(&ma, struct anv_sampler *, samplers,
|
||||
immutable_sampler_count);
|
||||
|
||||
if (!vk_multialloc_alloc(&ma, &device->vk.alloc,
|
||||
VK_SYSTEM_ALLOCATION_SCOPE_DEVICE))
|
||||
if (!vk_object_multizalloc(&device->vk, &ma, NULL,
|
||||
VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT))
|
||||
return vk_error(VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
|
||||
memset(set_layout, 0, sizeof(*set_layout));
|
||||
vk_object_base_init(&device->vk, &set_layout->base,
|
||||
VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT);
|
||||
set_layout->ref_cnt = 1;
|
||||
set_layout->binding_count = num_bindings;
|
||||
|
||||
@@ -553,8 +550,7 @@ anv_descriptor_set_layout_destroy(struct anv_device *device,
|
||||
struct anv_descriptor_set_layout *layout)
|
||||
{
|
||||
assert(layout->ref_cnt == 0);
|
||||
vk_object_base_finish(&layout->base);
|
||||
vk_free(&device->vk.alloc, layout);
|
||||
vk_object_free(&device->vk, NULL, layout);
|
||||
}
|
||||
|
||||
static const struct anv_descriptor_set_binding_layout *
|
||||
@@ -711,13 +707,11 @@ VkResult anv_CreatePipelineLayout(
|
||||
|
||||
assert(pCreateInfo->sType == VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO);
|
||||
|
||||
layout = vk_alloc2(&device->vk.alloc, pAllocator, sizeof(*layout), 8,
|
||||
VK_SYSTEM_ALLOCATION_SCOPE_OBJECT);
|
||||
layout = vk_object_alloc(&device->vk, pAllocator, sizeof(*layout),
|
||||
VK_OBJECT_TYPE_PIPELINE_LAYOUT);
|
||||
if (layout == NULL)
|
||||
return vk_error(VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
|
||||
vk_object_base_init(&device->vk, &layout->base,
|
||||
VK_OBJECT_TYPE_PIPELINE_LAYOUT);
|
||||
layout->num_sets = pCreateInfo->setLayoutCount;
|
||||
|
||||
unsigned dynamic_offset_count = 0;
|
||||
@@ -767,8 +761,7 @@ void anv_DestroyPipelineLayout(
|
||||
for (uint32_t i = 0; i < pipeline_layout->num_sets; i++)
|
||||
anv_descriptor_set_layout_unref(device, pipeline_layout->set[i].layout);
|
||||
|
||||
vk_object_base_finish(&pipeline_layout->base);
|
||||
vk_free2(&device->vk.alloc, pAllocator, pipeline_layout);
|
||||
vk_object_free(&device->vk, pAllocator, pipeline_layout);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -860,13 +853,11 @@ VkResult anv_CreateDescriptorPool(
|
||||
buffer_view_count * sizeof(struct anv_buffer_view);
|
||||
const size_t total_size = sizeof(*pool) + pool_size;
|
||||
|
||||
pool = vk_alloc2(&device->vk.alloc, pAllocator, total_size, 8,
|
||||
VK_SYSTEM_ALLOCATION_SCOPE_OBJECT);
|
||||
pool = vk_object_alloc(&device->vk, pAllocator, total_size,
|
||||
VK_OBJECT_TYPE_DESCRIPTOR_POOL);
|
||||
if (!pool)
|
||||
return vk_error(VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
|
||||
vk_object_base_init(&device->vk, &pool->base,
|
||||
VK_OBJECT_TYPE_DESCRIPTOR_POOL);
|
||||
pool->size = pool_size;
|
||||
pool->next = 0;
|
||||
pool->free_list = EMPTY;
|
||||
@@ -880,8 +871,7 @@ VkResult anv_CreateDescriptorPool(
|
||||
0 /* explicit_address */,
|
||||
&pool->bo);
|
||||
if (result != VK_SUCCESS) {
|
||||
vk_object_base_finish(&pool->base);
|
||||
vk_free2(&device->vk.alloc, pAllocator, pool);
|
||||
vk_object_free(&device->vk, pAllocator, pool);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -923,8 +913,7 @@ void anv_DestroyDescriptorPool(
|
||||
}
|
||||
anv_state_stream_finish(&pool->surface_state_stream);
|
||||
|
||||
vk_object_base_finish(&pool->base);
|
||||
vk_free2(&device->vk.alloc, pAllocator, pool);
|
||||
vk_object_free(&device->vk, pAllocator, pool);
|
||||
}
|
||||
|
||||
VkResult anv_ResetDescriptorPool(
|
||||
@@ -1768,13 +1757,11 @@ VkResult anv_CreateDescriptorUpdateTemplate(
|
||||
|
||||
size_t size = sizeof(*template) +
|
||||
pCreateInfo->descriptorUpdateEntryCount * sizeof(template->entries[0]);
|
||||
template = vk_alloc2(&device->vk.alloc, pAllocator, size, 8,
|
||||
VK_SYSTEM_ALLOCATION_SCOPE_OBJECT);
|
||||
template = vk_object_alloc(&device->vk, pAllocator, size,
|
||||
VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE);
|
||||
if (template == NULL)
|
||||
return vk_error(VK_ERROR_OUT_OF_HOST_MEMORY);
|
||||
|
||||
vk_object_base_init(&device->vk, &template->base,
|
||||
VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE);
|
||||
template->bind_point = pCreateInfo->pipelineBindPoint;
|
||||
|
||||
if (pCreateInfo->templateType == VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET)
|
||||
@@ -1813,8 +1800,7 @@ void anv_DestroyDescriptorUpdateTemplate(
|
||||
if (!template)
|
||||
return;
|
||||
|
||||
vk_object_base_finish(&template->base);
|
||||
vk_free2(&device->vk.alloc, pAllocator, template);
|
||||
vk_object_free(&device->vk, pAllocator, template);
|
||||
}
|
||||
|
||||
void anv_UpdateDescriptorSetWithTemplate(
|
||||
|
Reference in New Issue
Block a user