Lines Matching refs:arena
1125 alloc->arena = hole->arena;
1140 /* Allocate a new shader arena. */
1141 struct radv_shader_arena *arena = calloc(1, sizeof(struct radv_shader_arena));
1143 if (!arena)
1152 RADV_BO_PRIORITY_SHADER, 0, &arena->bo);
1156 list_inithead(&arena->entries);
1158 arena->ptr = (char *)device->ws->buffer_map(arena->bo);
1159 if (!arena->ptr)
1166 list_addtail(&alloc->list, &arena->entries);
1169 alloc->arena = arena;
1174 hole->arena = arena;
1178 list_addtail(&hole->list, &arena->entries);
1182 list_addtail(&arena->list, &device->shader_arenas);
1191 if (arena && arena->bo)
1192 device->ws->buffer_destroy(device->ws, arena->bo);
1193 free(arena);
1198 get_hole(struct radv_shader_arena *arena, struct list_head *head)
1200 if (head == &arena->entries)
1212 union radv_shader_arena_block *hole_prev = get_hole(alloc->arena, alloc->list.prev);
1213 union radv_shader_arena_block *hole_next = get_hole(alloc->arena, alloc->list.next);
1241 struct radv_shader_arena *arena = hole->arena;
1244 device->ws->buffer_destroy(device->ws, arena->bo);
1245 list_del(&arena->list);
1246 free(arena);
1260 shader->bo = shader->alloc->arena->bo;
1261 return shader->alloc->arena->ptr + shader->alloc->offset;
1283 list_for_each_entry_safe(struct radv_shader_arena, arena, &device->shader_arenas, list)
1285 device->ws->buffer_destroy(device->ws, arena->bo);
1286 free(arena);
1930 prolog->bo = prolog->alloc->arena->bo;
1931 char *dest_ptr = prolog->alloc->arena->ptr + prolog->alloc->offset;
2022 list_for_each_entry(struct radv_shader_arena, arena, &device->shader_arenas, list)
2028 list_for_each_entry(union radv_shader_arena_block, block, &arena->entries, list)
2033 uint64_t start = radv_buffer_get_va(block->arena->bo) + block->offset;