• Home
  • Raw
  • Download

Lines Matching refs:hole

1040 remove_hole(struct radv_device *device, union radv_shader_arena_block *hole)  in remove_hole()  argument
1042 unsigned size_class = get_size_class(hole->size, false); in remove_hole()
1043 list_del(&hole->freelist); in remove_hole()
1049 add_hole(struct radv_device *device, union radv_shader_arena_block *hole) in add_hole() argument
1051 unsigned size_class = get_size_class(hole->size, false); in add_hole()
1052 list_addtail(&hole->freelist, &device->shader_free_lists[size_class]); in add_hole()
1103 list_for_each_entry(union radv_shader_arena_block, hole, in alloc_shader_memory()
1106 if (hole->size < size) in alloc_shader_memory()
1109 assert(hole->offset % RADV_SHADER_ALLOC_ALIGNMENT == 0); in alloc_shader_memory()
1111 if (size == hole->size) { in alloc_shader_memory()
1112 remove_hole(device, hole); in alloc_shader_memory()
1113 hole->freelist.next = ptr; in alloc_shader_memory()
1115 return hole; in alloc_shader_memory()
1122 list_addtail(&alloc->list, &hole->list); in alloc_shader_memory()
1125 alloc->arena = hole->arena; in alloc_shader_memory()
1126 alloc->offset = hole->offset; in alloc_shader_memory()
1129 remove_hole(device, hole); in alloc_shader_memory()
1130 hole->offset += size; in alloc_shader_memory()
1131 hole->size -= size; in alloc_shader_memory()
1132 add_hole(device, hole); in alloc_shader_memory()
1142 union radv_shader_arena_block *alloc = NULL, *hole = NULL; in alloc_shader_memory() local
1163 hole = arena_size - size > 0 ? alloc_block_obj(device) : alloc; in alloc_shader_memory()
1164 if (!alloc || !hole) in alloc_shader_memory()
1173 if (hole != alloc) { in alloc_shader_memory()
1174 hole->arena = arena; in alloc_shader_memory()
1175 hole->offset = size; in alloc_shader_memory()
1176 hole->size = arena_size - size; in alloc_shader_memory()
1178 list_addtail(&hole->list, &arena->entries); in alloc_shader_memory()
1179 add_hole(device, hole); in alloc_shader_memory()
1190 free(hole); in alloc_shader_memory()
1203 union radv_shader_arena_block *hole = LIST_ENTRY(union radv_shader_arena_block, head, list); in get_hole() local
1204 return hole->freelist.prev ? hole : NULL; in get_hole()
1215 union radv_shader_arena_block *hole = alloc; in free_shader_memory() local
1221 hole_prev->size += hole->size; in free_shader_memory()
1222 list_del(&hole->list); in free_shader_memory()
1223 free_block_obj(device, hole); in free_shader_memory()
1225 hole = hole_prev; in free_shader_memory()
1232 hole_next->offset -= hole->size; in free_shader_memory()
1233 hole_next->size += hole->size; in free_shader_memory()
1234 list_del(&hole->list); in free_shader_memory()
1235 free_block_obj(device, hole); in free_shader_memory()
1237 hole = hole_next; in free_shader_memory()
1240 if (list_is_singular(&hole->list)) { in free_shader_memory()
1241 struct radv_shader_arena *arena = hole->arena; in free_shader_memory()
1242 free_block_obj(device, hole); in free_shader_memory()
1248 add_hole(device, hole); in free_shader_memory()