Lines Matching full:pool
13 nvk_cmd_mem_create(struct nvk_cmd_pool *pool, bool force_gart, struct nvk_cmd_mem **mem_out) in nvk_cmd_mem_create() argument
15 struct nvk_device *dev = nvk_cmd_pool_device(pool); in nvk_cmd_mem_create()
19 mem = vk_zalloc(&pool->vk.alloc, sizeof(*mem), 8, in nvk_cmd_mem_create()
22 return vk_error(pool, VK_ERROR_OUT_OF_HOST_MEMORY); in nvk_cmd_mem_create()
27 result = nvkmd_dev_alloc_mapped_mem(dev->nvkmd, &pool->vk.base, in nvk_cmd_mem_create()
32 vk_free(&pool->vk.alloc, mem); in nvk_cmd_mem_create()
41 nvk_cmd_mem_destroy(struct nvk_cmd_pool *pool, struct nvk_cmd_mem *mem) in nvk_cmd_mem_destroy() argument
44 vk_free(&pool->vk.alloc, mem); in nvk_cmd_mem_destroy()
54 struct nvk_cmd_pool *pool; in nvk_CreateCommandPool() local
56 pool = vk_alloc2(&device->vk.alloc, pAllocator, sizeof(*pool), 8, in nvk_CreateCommandPool()
58 if (pool == NULL) in nvk_CreateCommandPool()
61 VkResult result = vk_command_pool_init(&device->vk, &pool->vk, in nvk_CreateCommandPool()
64 vk_free2(&device->vk.alloc, pAllocator, pool); in nvk_CreateCommandPool()
68 list_inithead(&pool->free_mem); in nvk_CreateCommandPool()
69 list_inithead(&pool->free_gart_mem); in nvk_CreateCommandPool()
71 *pCmdPool = nvk_cmd_pool_to_handle(pool); in nvk_CreateCommandPool()
77 nvk_cmd_pool_destroy_mem(struct nvk_cmd_pool *pool) in nvk_cmd_pool_destroy_mem() argument
79 list_for_each_entry_safe(struct nvk_cmd_mem, mem, &pool->free_mem, link) in nvk_cmd_pool_destroy_mem()
80 nvk_cmd_mem_destroy(pool, mem); in nvk_cmd_pool_destroy_mem()
82 list_inithead(&pool->free_mem); in nvk_cmd_pool_destroy_mem()
84 list_for_each_entry_safe(struct nvk_cmd_mem, mem, &pool->free_gart_mem, link) in nvk_cmd_pool_destroy_mem()
85 nvk_cmd_mem_destroy(pool, mem); in nvk_cmd_pool_destroy_mem()
87 list_inithead(&pool->free_gart_mem); in nvk_cmd_pool_destroy_mem()
91 nvk_cmd_pool_alloc_mem(struct nvk_cmd_pool *pool, bool force_gart, in nvk_cmd_pool_alloc_mem() argument
96 if (!list_is_empty(&pool->free_gart_mem)) in nvk_cmd_pool_alloc_mem()
97 mem = list_first_entry(&pool->free_gart_mem, struct nvk_cmd_mem, link); in nvk_cmd_pool_alloc_mem()
99 if (!list_is_empty(&pool->free_mem)) in nvk_cmd_pool_alloc_mem()
100 mem = list_first_entry(&pool->free_mem, struct nvk_cmd_mem, link); in nvk_cmd_pool_alloc_mem()
108 return nvk_cmd_mem_create(pool, force_gart, mem_out); in nvk_cmd_pool_alloc_mem()
112 nvk_cmd_pool_free_mem_list(struct nvk_cmd_pool *pool, in nvk_cmd_pool_free_mem_list() argument
115 list_splicetail(mem_list, &pool->free_mem); in nvk_cmd_pool_free_mem_list()
120 nvk_cmd_pool_free_gart_mem_list(struct nvk_cmd_pool *pool, in nvk_cmd_pool_free_gart_mem_list() argument
123 list_splicetail(mem_list, &pool->free_gart_mem); in nvk_cmd_pool_free_gart_mem_list()
133 VK_FROM_HANDLE(nvk_cmd_pool, pool, commandPool); in nvk_DestroyCommandPool()
135 if (!pool) in nvk_DestroyCommandPool()
138 vk_command_pool_finish(&pool->vk); in nvk_DestroyCommandPool()
139 nvk_cmd_pool_destroy_mem(pool); in nvk_DestroyCommandPool()
140 vk_free2(&device->vk.alloc, pAllocator, pool); in nvk_DestroyCommandPool()
148 VK_FROM_HANDLE(nvk_cmd_pool, pool, commandPool); in nvk_TrimCommandPool()
150 vk_command_pool_trim(&pool->vk, flags); in nvk_TrimCommandPool()
151 nvk_cmd_pool_destroy_mem(pool); in nvk_TrimCommandPool()